On 02/27/2014 12:25 AM, Armin K. wrote: > On 02/27/2014 12:02 AM, Bruce Dubbs wrote: >> Armin K. wrote: >>> On 02/26/2014 11:41 PM, Bruce Dubbs wrote: >>>> I'm having a problem building Akonadi. When running cmake, I get an >>>> error. The build/CMakeFiles/CMakeError.log gives: >>>> >>>> >>>> File >>>> /tmp/akonadi/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: >>>> /* */ >>>> #include <QtCore/qglobal.h> >>>> >>>> int main(int argc, char** argv) >>>> { >>>> (void)argv; >>>> #ifndef Q_WS_WIN >>>> return ((int*)(&Q_WS_WIN))[argc]; >>>> #else >>>> (void)argc; >>>> return 0; >>>> #endif >>>> } >>>> >>>> This is a file generated by >>>> /usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake: >>>> >>>> set(CMAKE_CONFIGURABLE_FILE_CONTENT >>>> "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nint main(int argc, char** >>>> argv)\n{\n (void)argv;\n#ifndef ${SYMBOL}\n return >>>> ((int*)(&${SYMBOL}))[argc];\n#else\n (void)argc;\n return >>>> 0;\n#endif\n}\n") >>>> >>>> >>>> Now I may be misreadign this completely, but I'd think that if the >>>> tested symbol, in this case Q_WS_WIN does not exist, then it should >>>> never be referenced. >>>> >>>> Should the #ifndef really be #ifdef? >>>> >>>> Changing that allows the build to complete. >>>> >>>> -- Bruce >>>> >>> >>> Can you post the output of CMake from a clean build directory? (not the >>> log, just the output on the screen). >> >> Now that's odd. I had commend out the offending line in >> CheckSymbolExists.cmake so I reset it and commented out the new line. >> >> When rechecking, it now works. I'll keep an eye on it and we can >> revisit the problem if it occurs again. I still think the logic in the >> cmake modules is wrong. >> >> -- Bruce >> >> > > No, the check is right. It is supposed to fail if the function isn't found. > > See my logs. I tend to believe that new Qt instructions will cause more > than this problem. >
Oh, forgot the logs. Also, works for me. -- Note: My last name is not Krejzi.
Determining if the Q_WS_WIN exist failed with the following output: Change Dir: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec3684553827/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec3684553827.dir/build.make CMakeFiles/cmTryCompileExec3684553827.dir/build make[1]: Entering directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3684553827.dir/CheckSymbolExists.cxx.o /usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec3684553827.dir/CheckSymbolExists.cxx.o -c /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function âint main(int, char**)â: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: âQ_WS_WINâ was not declared in this scope return ((int*)(&Q_WS_WIN))[argc]; ^ CMakeFiles/cmTryCompileExec3684553827.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec3684553827.dir/CheckSymbolExists.cxx.o' failed make[1]: *** [CMakeFiles/cmTryCompileExec3684553827.dir/CheckSymbolExists.cxx.o] Error 1 make[1]: Leaving directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' Makefile:117: recipe for target 'cmTryCompileExec3684553827/fast' failed make: *** [cmTryCompileExec3684553827/fast] Error 2 File /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: /* */ #include <QtCore/qglobal.h> int main(int argc, char** argv) { (void)argv; #ifndef Q_WS_WIN return ((int*)(&Q_WS_WIN))[argc]; #else (void)argc; return 0; #endif } Determining if the Q_WS_QWS exist failed with the following output: Change Dir: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec3093707305/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec3093707305.dir/build.make CMakeFiles/cmTryCompileExec3093707305.dir/build make[1]: Entering directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3093707305.dir/CheckSymbolExists.cxx.o /usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec3093707305.dir/CheckSymbolExists.cxx.o -c /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function âint main(int, char**)â: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: âQ_WS_QWSâ was not declared in this scope return ((int*)(&Q_WS_QWS))[argc]; ^ CMakeFiles/cmTryCompileExec3093707305.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec3093707305.dir/CheckSymbolExists.cxx.o' failed make[1]: *** [CMakeFiles/cmTryCompileExec3093707305.dir/CheckSymbolExists.cxx.o] Error 1 make[1]: Leaving directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' Makefile:117: recipe for target 'cmTryCompileExec3093707305/fast' failed make: *** [cmTryCompileExec3093707305/fast] Error 2 File /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: /* */ #include <QtCore/qglobal.h> int main(int argc, char** argv) { (void)argv; #ifndef Q_WS_QWS return ((int*)(&Q_WS_QWS))[argc]; #else (void)argc; return 0; #endif } Determining if the Q_WS_MAC exist failed with the following output: Change Dir: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec3805809273/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec3805809273.dir/build.make CMakeFiles/cmTryCompileExec3805809273.dir/build make[1]: Entering directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3805809273.dir/CheckSymbolExists.cxx.o /usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec3805809273.dir/CheckSymbolExists.cxx.o -c /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function âint main(int, char**)â: /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: âQ_WS_MACâ was not declared in this scope return ((int*)(&Q_WS_MAC))[argc]; ^ CMakeFiles/cmTryCompileExec3805809273.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec3805809273.dir/CheckSymbolExists.cxx.o' failed make[1]: Leaving directory '/home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp' make[1]: *** [CMakeFiles/cmTryCompileExec3805809273.dir/CheckSymbolExists.cxx.o] Error 1 Makefile:117: recipe for target 'cmTryCompileExec3805809273/fast' failed make: *** [cmTryCompileExec3805809273/fast] Error 2 File /home/armin/src/akonadi-1.11.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: /* */ #include <QtCore/qglobal.h> int main(int argc, char** argv) { (void)argv; #ifndef Q_WS_MAC return ((int*)(&Q_WS_MAC))[argc]; #else (void)argc; return 0; #endif }
-- The C compiler identification is GNU 4.8.3 -- The CXX compiler identification is GNU 4.8.3 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Using default db backend QMYSQL -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found -- Found Qt4: /usr/bin/qmake (found suitable version "4.8.5", minimum required is "4.8.0") -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- checking for module 'soprano' -- found soprano, version 2.9.4 -- Found Soprano version 2.9.4: /usr/lib/libsoprano.so -- Found Soprano includes: /usr/include -- Found Soprano Index: SOPRANO_INDEX_LIBRARIES-NOTFOUND -- Found Soprano Client: /usr/lib/libsopranoclient.so -- Found Soprano Plugin Dir: /usr/share/soprano/plugins -- Found Soprano Plugins: nquadparser nquadserializer raptorparser raptorserializer redlandbackend virtuosobackend -- Found shared-mime-info version: 1.2 -- Boost version: 1.55.0 -- Found the following Boost libraries: -- program_options -- checking for module 'sqlite3' -- found sqlite3, version 3.8.3.1 -- Found Sqlite: /usr/include (Required is at least version "3.6.23") -- Looking for include file execinfo.h -- Looking for include file execinfo.h - found -- Looking for backtrace -- Looking for backtrace - found -- Looking for include file unistd.h -- Looking for include file unistd.h - found -- MySQL Server found: /usr/sbin/mysqld -- PostgreSQL wasn't found. it is required to use the Postgres backend. -- Building QSQLITE3 driver -- SQlite /usr/lib/libsqlite3.so -- -- The following OPTIONAL packages have been found: * PkgConfig * Sqlite (required version >= 3.6.23) , The Sqlite database library , <http://www.sqlite.org> Required by the Sqlite backend -- The following REQUIRED packages have been found: * Qt4 * Soprano , Storage of semantic data , <http://soprano.sourceforge.net> Soprano is needed for the Nepomuk search backend * SharedMimeInfo (required version >= 0.20) , File types database and utilities , <http://freedesktop.org/wiki/Software/shared-mime-info> * Boost , The Boost C++ Libraries , <http://www.boost.org> Akonadi requires the Boost C++ libraries (program_options) -- Configuring done -- Generating done
-- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page