Hi, I'm trying to build poppler on an x86_64 machine running the Linux distribution SLES9. The Qt libraries are to be found in /usr/lib/qt/lib64 (and /usr/lib64/qt is a symbolic link to /usr/lib/qt). The include files are found properly, under /usr/lib/qt/include. Yet the library is incorrectly detected in /usr/lib/qt/lib. configure thinks everything is okay. Yet in the build process, when linking libpoppler-qt.so, the linker detects that /usr/lib/qt/lib/libqt*.so does not contain the correct symbols. This is the case because this is not a valid x86_64 library, and it should be linking against /usr/lib/qt/lib64/libqt*.so. So there are two buglets hidden in here: a) Qt path detection needs to be expanded properly for multi-lib. I see that m4/qt.m4 is adapted from OpenOffice.org, perhaps they have a newer solution which covers these LSB updates. b) configure should be checking the linking of a program against libqt.so, not only the presence of that library. (Though I don't understand why the AC_TRY_LINK for -pthreads works. Or perhaps it just doesn't, and gives a false negative.)
Update (to self ;->): SuSE poppler packages seem to include a patch which expands the searched directories: "poppler-qt-m4.patch" See http://lists.opensuse.org/opensuse-commit/2007-01/msg00284.html A nicer suggestion even is to use pkg-config for Qt, though I don't know since when such support has been available, and what to do on other platforms. (Fall back?)
Can you verify that with this opensuse patch it builds for you? I don't have such a system so i can't test.
No, I cannot confim. Well, for one, I can't for the life of me get a valid combination of aclocal, automake, autoheader, autoconf to pick up all your macros. Oh well. But since I see the intent of the patch, I applied it to the relevant places in ./configure, only to see that it compiles as badly as before. SuSE attached those relevant paths to the end, so it is still the 32bit paths which are found first. :-( It doesn't work for me, though I happen to work on a SuSE system (not that I like it much). My recommendation remains to _pre_pend the lib64 paths, which should not hurt on 32bit systems, or find some other proper multilib solution. BTW, interestingly,. the most recent OOo implementation can be seen in http://tools.openoffice.org/source/browse/*checkout*/tools/config_office/configure.in?rev=1.249.12.1 and has a modified detection: search for the section with the string "Check whether the Qt". Looks really okay at first glance. :)
Created attachment 14854 [details] [review] proper lib64 Qt detection Sorry, I forgot that you can't test yourself. I took OOo's Qt detection code from http://tools.openoffice.org/source/browse/*checkout*/tools/config_office/configure.in?rev=1.249.12.1 and placed that directly into ./configure. I can confirm that poppler-0.7.1 now builds fine with 64bit qt3. Please don't forget to port this back to m4/qt.m4.
Fixed in git master branch. Thanks for the patch.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.