On 20/07/2012 07:59, Timothy Pearson wrote: >> Hi All, >> >> Maybe somebody could give me a hint on this. I hope it's not something >> obvious. >> >> For my own benefit, I'm attempting to rebuild the Red Hat rpms targeting >> armv5tel, so that I may use Trinity on my Toshiba AC100. I'm working >> through the main install requirements in order to get a basic install so >> I've done tqtinterface, arts, dbus-tqt, dbus-1-tqt, tdelibs along with >> all the requires but can't get past tdebase. >> >> tdebase gets almost there, but boms out at; >> >> ## ---- Start error output ---- ### >> >> [100%] Building CXX object >> kicker/kicker/CMakeFiles/kicker-module.dir/kicker_kdeinit_module.cpp.o >> cd /root/rpmbuild/BUILD/kdebase/build/kicker/kicker && /usr/bin/c++ >> -Dkicker_module_EXPORTS -DHAVE_CONFIG_H -O2 -g -march=armv5te >> -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT >> -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h >> -fPIC -I/root/rpmbuild/BUILD/kdebase/libkonq -I/usr/lib/qt-3.3/include >> -I/usr/include/tqt -o CMakeFiles/kicker-module >> dir/kicker_kdeinit_module.cpp.-o -c >> /root/rpmbuild/BUILD/kdebase/build/kicker/kicker/kicker_kdeinit_module.cpp >> Linking CXX shared module kicker.so >> cd /root/rpmbuild/BUILD/kdebase/build/kicker/kicker && /usr/bin/cmake -E >> cmake_link_script CMakeFiles/kicker-module.dir/link.txt -verbose=1 >> /usr/bin/c++ -fPIC -O2 -g -march=armv5te -DQT_NO_ASCII_CAST >> -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION >> -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -Wl,--no-undefined >> -shared -Wl,-soname,kicker.so -o kicker.so >> CMakeFiles/kicker-module.dir/kicker_kdeinit_module.cpp.o >> -L/usr/lib/qt-3.3/lib libkdeinit_kicker.so >> ../libkicker/libkickermain.so.1.0.0 /usr/lib/libabc.so.1.2.0 >> /usr/lib/libvcard.so.0.0.0 /usr/lib/libkresources.so.1.2.0 >> /usr/lib/libkutils.so.1.2.0 /usr/lib/libkparts.so.2.1.0 / >> sr/lib/libkio.so.4.2.0 /usr/lib/libkdeui.so.4.2.0 -lfreetype >> -lfontconfig /usr/lib/libkdesu.so.4.2.0 -lutil >> /usr/lib/libkwalletclient.so.1.0.1 /usr/lib/libkdecore.so.4.2.0 >> /usr/lib/libDCOP.so.4.2.0 /usr/lib/libkdefx.so.4.2.0 -ltqt -lqt-mt >> -lXrender -lX11 -lz -lXcomposite -lXfixes -lICE -lSM >> /usr/bin/ld: warning: libkonq.so.4, needed by libkdeinit_kicker.so, not >> found (try using -rpath or -rpath-link) >> /usr/bin/ld: warning: libkickoffsearch_interfaces.so.0, needed by >> libkdeinit_kicker.so, not found (try using -rpath or -rpath-link) >> libkdeinit_kicker.so: undefined reference to >> `KonqBookmarkManager::s_bookmarkManager' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::qt_invoke(int, QUObject*)' >> libkdeinit_kicker.so: undefined reference to `typeinfo for >> KickoffSearch::Plugin' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::qt_property(int, int, QVariant*)' >> libkdeinit_kicker.so: undefined reference to `typeinfo for >> KickoffSearch::KickoffSearchInterface' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::KickoffSearchInterface(QObject*, >> char const*' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::staticMetaObject()' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::Plugin::staticMetaObject()' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::qt_cast(char const*)' >> libkdeinit_kicker.so: undefined reference to `vtable for >> KickoffSearch::KickoffSearchInterface' >> libkdeinit_kicker.so: undefined reference to >> `KickoffSearch::KickoffSearchInterface::qt_emit(int, QUObject*)' >> libkdeinit_kicker.so: undefined reference to >> `KonqPopupMenu::KonqPopupMenu(KBookmarkManager*, QPtrList<KFileItem> >> const&, KURL const&, KActionCollection&, KNewMenu*, QWidget*, unsigned >> int, unsigned int)' >> libkdeinit_kicker.so: undefined reference to >> `KonqOperations::doDrop(KFileItem const*, KURL const&, QDropEvent*, >> QWidget*)' >> collect2: ld returned 1 exit status >> make[2]: *** [kicker/kicker/kicker] Error 1 >> make[2]: Leaving directory `/root/rpmbuild/BUILD/kdebase/build' >> make[1]: *** [kicker/kicker/CMakeFiles/kicker.dir/all] Error 2 >> make[1]: *** Waiting for unfinished jobs.... >> make[2]: Leaving directory `/root/rpmbuild/BUILD/kdebase/build' >> /usr/bin/cmake -E cmake_progress_report >> /root/rpmbuild/BUILD/kdebase/build/CMakeFiles >> [100%] Built target kicker-module >> make[1]: Leaving directory `/root/rpmbuild/BUILD/kdebase/build' >> make: *** [all] Error 2 >> error: Bad exit status from /var/tmp/rpm-tmp.BTlI5u (%build) >> >> >> RPM build errors: >> Bad exit status from /var/tmp/rpm-tmp.BTlI5u (%build) >> >> ## ---- End error output ---- ### >> >> Two lines from above; >> >> /usr/bin/ld: warning: libkonq.so.4, needed by libkdeinit_kicker.so, not >> found (try using -rpath or -rpath-link) >> /usr/bin/ld: warning: libkickoffsearch_interfaces.so.0, needed by >> libkdeinit_kicker.so, not found (try using -rpath or -rpath-link) >> >> suggest to me it's a simple case of the libs libkonq.so.4 & >> libkickoffsearch_interfaces.so.0 not being found by >> libkdeinit_kicker.so. They do not exist on the system but are created >> during the build process. With that in mind, I did a quick and dirty >> hack of 'kicker/kicker/CMakeLists.txt' and added the two directories >> containing the two 'missing' libs to the 'link_directories' stanza but >> to no avail. The change adds '-L' entries for the locations of the libs >> but doesn't alter the result. >> >> Anybody know how I can rectify this correctly? I guess 'rpath' will need >> to come into play also. >> >> Any pointers appreciated. >> >> Cheers, >> Mike. > In my experience the ARM toolchain can introduce "interesting" problems of > its own. As tdebase builds properly on i386/amd6, and CMake is > technically in charge of knowing what executables need to be linked > against which generated libraries, I would suspect a problem in the armel > toolchain binaries, possibly including CMake itself. > > Tim > Ok. It's probably complicated further by the fact that I'm not running Red Hat on my AC100 (obviously) but I'm running Red Sleeve. Anyway, I got 'tdebase' rpm to rebuild successfully by patching 'kicker/kicker/CMakeLists.txt', adding the following line after the link_directories line; set(CMAKE_EXE_LINKER_FLAGS "-Wl,-rpath -Wl,${CMAKE_SOURCE_DIR}/build/libkonq -Wl,-rpath -Wl,${CMAKE_SOURCE_DIR}/build/kicker/kicker/interfaces " Cheers, Mike. -- Any question is easy if you know the answer!