I am continuing in my quest to build Qt 5.4.0 (and now added Qt 5.3.2) on CentOS 5. The following refers to 5.3.2, but I think the same problem exists in 5.4.0.

So far, I have:
Installed updated python, flex, sqlite (and sqlite-devel), ICU and fontconfig. Installed devtoolset-1.1. Patched the source to deal with one line of ruby code that would only work with a newer version of ruby.
Patched the source according to the instructions on this page:
http://kate-editor.org/2014/12/22/qt-5-4-on-red-hat-enterprise-5/
Used a slightly modified version of the configure command from the same page: ./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.3.2-x86_64 -widgets -no-openssl -no-dbus -qt-xcb -skip activeqt -skip androidextras -skip connectivity -skip enginio -skip location -skip macextras -skip multimedia -skip quick1 -skip sensors -skip serialport -skip webkit-examples -skip x11extras -c++11 -icu -fontconfig

However, I have now come across another missing definition: O_CLOEXEC. On later platforms, this is defined in glibc-headers and linux-headers. Specifically, the files:
/usr/include/asm-generic/fcntl.h and /usr/include/asm-generic/fcntl.h
The definition is used in qtwebkit/Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp:
      do {
            fileDescriptor = shm_open(tempName.data(), O_CREAT | O_CLOEXEC | 
O_RDWR, S_IRUSR | S_IWUSR);
        } while (fileDescriptor == -1 && errno == EINTR);

Can I safely comment change the line to the following:
fileDescriptor = shm_open(tempName.data(), O_CREAT |  O_RDWR, S_IRUSR | 
S_IWUSR);

Here is the error:

Platform/unix/SharedMemoryUnix.cpp: In static member function ‘static WTF::PassRefPtr<WebKit::SharedMemory> WebKit::SharedMemory::create(size_t)’: Platform/unix/SharedMemoryUnix.cpp:149:66: error: ‘O_CLOEXEC’ was not declared in this scope
make[3]: *** [.obj/Platform/unix/SharedMemoryUnix.o] Error 1






_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to