I previously wrote about this same problem for an unstable version of Amarok. Now I am having the same issue with the stable version of Amarok, 2.2.0. It also happens with ALL unstable versions. While there are several things that could have caused the errors I experienced, I have determined that in my case, the error is unique to Gentoo Hardened.
I already have Amarok installed and it works, demonstrating that it does have all the supporting libraries it needs. I have since changed a USE flag (I removed "semantic-desktop") and Amarok was an affected package, so it needs to be rebuilt. No matter what I do, I simply cannot get the Amarok compile configuration to accept that yes, I really do have qtscriptgenerator installed:
Code: Select all
localhost ~ # emerge --oneshot amarok
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-sound/amarok-2.2.0
* amarok-2.2.0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking amarok-2.2.0.tar.bz2 to /var/tmp/portage/media-sound/amarok-2.2.0/work
>>> Source unpacked in /var/tmp/portage/media-sound/amarok-2.2.0/work
>>> Preparing source in /var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0 ...
* Applying amarok-qtscriptcheck.patch ... [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0_build"
cmake -C /var/tmp/portage/media-sound/amarok-2.2.0/temp/gentoo_common_config.cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDE4_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DWITH_PLAYER=ON -DWITH_UTILITIES=OFF -DWITH_Libgcrypt=OFF -DWITH_ipod=OFF -DWITH_IPOD=OFF -DWITH_Ipod=OFF -DWITH_Gdk=OFF -DWITH_LibLastFm=OFF -DWITH_mtp=OFF -DWITH_MTP=OFF -DWITH_Mtp=OFF -DWITH_MP3Tunes=OFF -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/media-sound/amarok-2.2.0/temp/gentoo_rules.cmake /var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0
loading initial cache file /var/tmp/portage/media-sound/amarok-2.2.0/temp/gentoo_common_config.cmake
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib/ccache/bin/i686-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/lib/ccache/bin/i686-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/bin/i686-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/lib/ccache/bin/i686-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Taglib found: -L/usr/lib -ltag
-- Performing Test TAGLIB_ASF_FOUND
-- Performing Test TAGLIB_ASF_FOUND - Success
-- Performing Test TAGLIB_MP4_FOUND
-- Performing Test TAGLIB_MP4_FOUND - Success
-- checking for module 'taglib-extras>=1.0'
-- found taglib-extras, version 1.0.0
-- Found Taglib-Extras: /usr/include/taglib-extras
-- Performing Test COMPLEX_TAGLIB_FILENAME
-- Performing Test COMPLEX_TAGLIB_FILENAME - Failed
-- 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 Qt-Version 4.5.3 (using /usr/bin/qmake)
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Automoc4: /usr/bin/automoc4
-- Found Perl: /usr/bin/perl
-- Phonon Version: 4.3.50
-- Found Phonon: /usr/lib/libphonon.so
-- Found Phonon Includes: /usr/include/KDE;/usr/include
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Failed
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Found KDE 4.3 include dir: /usr/include
-- Found KDE 4.3 library dir: /usr/lib
-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
-- Found automoc4: /usr/bin/automoc4
-- Checking if the QtScript Qt Bindings are installed.
-- includes /usr/include/qt4/QtCore;/usr/include/qt4/QtScript;/usr/include;/usr/include/KDE;/usr/include/KDE;/usr/include;/usr/include/qt4/QtXmlPatterns;/usr/include/qt4/QtWebKit;/usr/include/qt4/QtDBus;/usr/include/qt4/QtTest;/usr/include/qt4/QtUiTools;/usr/include/qt4/QtScript;/usr/include/qt4/QtSvg;/usr/include/qt4/QtXml;/usr/include/qt4/QtSql;/usr/include/qt4/QtOpenGL;/usr/include/qt4/QtNetwork;/usr/include/qt4/QtDesigner;/usr/include/qt4/QtDesigner;/usr/include/qt4/Qt3Support;/usr/include/qt4/QtGui;/usr/include/qt4/QtCore;/usr/include/qt4/Qt;/usr/share/qt4/mkspecs/default;/usr/include/qt4;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include libraries /usr/lib/qt4/libQtScript.so;/usr/lib/qt4/libQtCore.so;-lpthread;/usr/lib/qt4/libQtGui.so;-L/usr/lib;-lkdecore;-lkdeui
-- Performing Test BINDINGS_RUN_RESULT
-- Performing Test BINDINGS_RUN_RESULT - Failed
-- QtBindings not found. run `cd cmake/modules/bindingstest; mkdir build; cd build; cmake ..; make; ./bindingstest; echo $?` If it prints '0' then you're actually fine.
-- Performing Test HAVE_MYSQL_OPT_EMBEDDED_CONNECTION
-- Performing Test HAVE_MYSQL_OPT_EMBEDDED_CONNECTION - Success
-- Found MySQL: /usr/include/mysql, /usr/lib/libmysqlclient.so
-- Found MySQL Embedded: /usr/include/mysql, /usr/lib/libmysqld.so
-- Found ZLIB: /lib/libz.so
-- Strigi API needs 'signed char'
-- Found Strigi: /usr/lib/libstreams.so
-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
* kdelibs - The toolkit Amarok uses to build
* mysqld - Embedded MySQL
* zlib - zlib
* strigi - Index metadata of files
-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
-----------------------------------------------------------------------------
* liblastfm (0.3 or higher) <http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2>
Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists
* libmtp (0.3.0 or higher) <http://libmtp.sourceforge.net/>
Enable Support for portable media devices that use the media transfer protocol
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
* qtscript-qt <http://code.google.com/p/qtscriptgenerator/>
QtScript Qt Bindings
-----------------------------------------------------------------------------
CMake Error at /usr/share/apps/cmake/modules/MacroLogFeature.cmake:141 (MESSAGE):
Exiting: Missing Requirements
Call Stack (most recent call first):
CMakeLists.txt:157 (macro_display_feature_log)
-- Configuring incomplete, errors occurred!
*
* ERROR: media-sound/amarok-2.2.0 failed.
* Call stack:
* ebuild.sh, line 49: Called src_configure
* environment, line 3752: Called kde4-base_src_configure
* environment, line 2888: Called cmake-utils_src_configure
* environment, line 1037: Called _execute_optionaly 'src_configure'
* environment, line 413: Called enable_cmake-utils_src_configure
* environment, line 1458: Called die
* The specific snippet of code:
* cmake "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
* The die message:
* cmake failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/media-sound/amarok-2.2.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-sound/amarok-2.2.0/temp/environment'.
*
>>> Failed to emerge media-sound/amarok-2.2.0, Log file:
>>> '/var/tmp/portage/media-sound/amarok-2.2.0/temp/build.log'Code: Select all
localhost ~ # eix -s qtscriptgenerator
[I] x11-libs/qtscriptgenerator
Available versions: 0.1.0 {debug kde}
Installed versions: 0.1.0(13:11:17 12/15/09)(kde -debug)
Homepage: http://code.google.com/p/qtscriptgenerator/
Description: Tool for generating Qt bindings for Qt Script
localhost ~ #Code: Select all
localhost ~ # eix -s qt-script
[I] x11-libs/qt-script
Available versions: (4) 4.5.3-r1 ~4.6.0
{debug iconv pch}
Installed versions: 4.5.3-r1(4)(13:33:19 12/15/09)(iconv -debug -pch)
Homepage: http://qt.nokia.com/
Description: The ECMAScript module for the Qt toolkit
localhost ~ #I found out why this error message was happening.
The emerge output mentions performing these steps in the /var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0/ build directory:
Code: Select all
-- QtBindings not found. run `cd cmake/modules/bindingstest; mkdir build; cd build; cmake ..; make; ./bindingstest; echo $?` If it prints '0' then you're actually fine. Code: Select all
localhost bindingstest # pwd
/var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0/cmake/modules/bindingstest
localhost bindingstest # mkdir build
localhost bindingstest # cd build
localhost build # cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- 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
-- 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 Qt-Version 4.5.3 (using /usr/bin/qmake)
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Automoc4: /usr/bin/automoc4
-- Found Perl: /usr/bin/perl
-- Phonon Version: 4.3.50
-- Found Phonon: /usr/lib/libphonon.so
-- Found Phonon Includes: /usr/include/KDE;/usr/include
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Failed
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Found KDE 4.3 include dir: /usr/include
-- Found KDE 4.3 library dir: /usr/lib
-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
-- Found automoc4: /usr/bin/automoc4
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/media-sound/amarok-2.2.0/work/amarok-2.2.0/cmake/modules/bindingstest/build
localhost build # make
Scanning dependencies of target bindingstest
[100%] Building CXX object CMakeFiles/bindingstest.dir/QtScriptBindingsTest.o
Linking CXX executable bindingstest
[100%] Built target bindingstest
localhost build # ./bindingstest
Segmentation fault
localhost build #Code: Select all
localhost build # paxctl -m bindingstest
localhost build # ./bindingstest
localhost build #
*** Update ***
I rebuilt my kernel, disabling the mprotect() restrictions of PaX. Then I rebooted to load the new kernel. Now Amarok emerges with no problems, confirming that this really is why it failed. I then rebuilt the kernel to re-enable mprotect() restrictions and rebooted again. Does anyone know a more convenient way that I could have handled this?

