I am trying to build Qt 5.5.1 on CentOS 5. I suspect that we don't need linuxfb, but there doesn't seem to be an easy way to skip this.

However, I get the following error:
/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations
gmake[6]: Entering directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations'
gmake[6]: Nothing to be done for `first'.
gmake[6]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations' gmake[5]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb' cd linuxfb/ && ( test -e Makefile || /home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/bin/qmake /home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb/linuxfb.pro -o Makefile ) && gmake -f Makefile
/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb
gmake[5]: Entering directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb'
rm -f libqlinuxfb.so
g++ -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -Wl,-rpath,/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb/‘�� -Wl,-rpath,/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb/‘�� -shared -o libqlinuxfb.so .obj/main.o .obj/qlinuxfbintegration.o .obj/qlinuxfbscreen.o .obj/moc_qlinuxfbscreen.o -L/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/lib -lQt5PlatformSupport -lfontconfig -lfreetype -lQt5DBus -pthread -L/lib64 -lgthread-2.0 -lglib-2.0 -lQt5Gui -lQt5Core -lGL -lpthread /home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/lib/libQt5PlatformSupport.a(qfbvthandler.o): In function `QFbVtHandler::QFbVtHandler(QObject*)':
qfbvthandler.cpp:(.text+0x1c1): undefined reference to `signalfd'
collect2: error: ld returned 1 exit status
gmake[5]: *** [../../../../plugins/platforms/libqlinuxfb.so] Error 1
gmake[5]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb'
gmake[4]: *** [sub-linuxfb-make_first] Error 2
gmake[4]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms'
gmake[3]: *** [sub-platforms-make_first] Error 2
gmake[3]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins'
gmake[2]: *** [sub-plugins-make_first] Error 2
gmake[2]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase/src'
gmake[1]: *** [sub-src-make_first] Error 2
gmake[1]: Leaving directory `/home/simon/rpms/build/qt-everywhere-opensource-src-5.5.1/qtbase'
gmake: *** [module-qtbase-make_first] Error 2


In order to get this far, I have done the following:
1. installed extra packages as described on this page:
http://kate-editor.org/2014/12/22/qt-5-4-on-red-hat-enterprise-5/

2. Copied /usr/include/sys/signalfd.h from a CentOS6 system to the same location on my CentOS5 build machine.

3. Made the following changes to the source:
sed -i 's/#define QTESTLIB_USE_PERF_EVENTS/#undef QTESTLIB_USE_PERF_EVENTS/g' qtbase/src/testlib/qbenchmark_p.h sed -i 's/getbyte/getc/' qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb sed -i 's/| O_CLOEXEC//' ./qtwebkit/Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp

patch -p0 << EOF
--- qtbase/src/network/ssl/qsslsocket_openssl.cpp.orig 2016-03-11 10:43:26.000000000 -0800 +++ qtbase/src/network/ssl/qsslsocket_openssl.cpp 2016-03-11 10:43:46.000000000 -0800
@@ -1582,8 +1582,8 @@
     if (readBufferMaxSize)
plainSocket->setReadBufferSize(readBufferMaxSize);

-    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
-        configuration.peerSessionShared = true;
+//    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
+//        configuration.peerSessionShared = true;

 #ifdef QT_DECRYPT_SSL_TRAFFIC
     if (ssl->session && ssl->s3) {

EOF
patch -p0 << EOF
--- qtbase/src/network/ssl/qsslsocket_openssl.cpp.orig 2016-03-11 11:15:35.000000000 -0800 +++ qtbase/src/network/ssl/qsslsocket_openssl.cpp 2016-03-11 11:14:21.000000000 -0800
@@ -390,8 +390,8 @@
         if (!ace.isEmpty()
             && !QHostAddress().setAddress(tlsHostName)
&& !(configuration.sslOptions & QSsl::SslOptionDisableServerNameIndication)) { - if (!q_SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_HOSTNAME, TLSEXT_NAMETYPE_host_name, ace.data())) - qCWarning(lcSsl, "could not set SSL_CTRL_SET_TLSEXT_HOSTNAME, Server Name Indication disabled"); +// if (!q_SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_HOSTNAME, TLSEXT_NAMETYPE_host_name, ace.data())) +// qCWarning(lcSsl, "could not set SSL_CTRL_SET_TLSEXT_HOSTNAME, Server Name Indication disabled");
         }
     }
EOF
patch -p0 << EOF
--- qtbase/src/network/ssl/qsslcontext_openssl.cpp.orig 2016-03-11 10:44:09.000000000 -0800 +++ qtbase/src/network/ssl/qsslcontext_openssl.cpp 2016-03-11 10:45:48.000000000 -0800
@@ -468,7 +468,7 @@
unsigned char *data = reinterpret_cast<unsigned char *>(m_sessionASN1.data());
             if (!q_i2d_SSL_SESSION(session, &data))
qCWarning(lcSsl, "could not store persistent version of SSL session"); - m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint; +// m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint;
         }
     }

EOF

4. Made sure that python26 is used.

5. Used the following configure command:
./configure -R ‘\\\$$ORIGIN’ -D _X_INLINE=inline -D XK_dead_currency=0xfe6f -D XK_ISO_Level5_Lock=0xfe13 -D FC_WEIGHT_EXTRABLACK=215 -D FC_WEIGHT_ULTRABLACK=FC_WEIGHT_EXTRABLACK -v -opensource -qt-libpng -qt-zlib -qt-libjpeg -nomake examples -qt-sql-sqlite -confirm-license -prefix /usr/lib/Qt/Qt-5.5.1-x86_64 -widgets -qt-xcb -skip activeqt -skip androidextras -skip connectivity -skip enginio -skip macextras -skip multimedia -skip quick1 -skip serialport -skip wayland -skip webchannel -skip webkit-examples -skip x11extras -c++11 -icu -fontconfig -opengl -openssl -no-reduce-relocations -no-rpath

Simon
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to