Summary: | libopenraw-0.0.3: test ljpegtest fails with boost 1.34.1 | ||
---|---|---|---|
Product: | libopenraw | Reporter: | Samuli Suominen <drac> |
Component: | General | Assignee: | Hubert Figuiere <hub> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | [release:0.0.4] | ||
i915 platform: | i915 features: |
Description
Samuli Suominen
2007-12-14 10:15:21 UTC
(In reply to comment #0) > unique test # make ljpegtest > /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -Wextra -ansi -pedantic > -g -Wall -Wshadow -static -o ljpegtest ljpegtest.o ../lib/libopenraw.la > -lboost_unit_test_framework -lboost_unit > g++ -g -O2 -Wextra -ansi -pedantic -g -Wall -Wshadow -o ljpegtest ljpegtest.o > ../lib/.libs/libopenraw.a /usr/lib64/libjpeg.so -lboost_unit_test_framework > -lboost_unit > /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../x86_64-pc-linux-gnu/bin/ld: > cannot find -lboost_unit > collect2: ld returned 1 exit status > make: *** [ljpegtest] Error 1 ^ Please. Ignore this. Wrong paste, was experimenting. Correct output: x86_64-pc-linux-gnu-g++ -O2 -pipe -march=k8 -Wextra -ansi -pedantic -g -Wall -Wshadow -o .libs/ljpegtest ljpegtest.o ../lib/.libs/libopenraw.so -lboost_unit_test_framework /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' boost 1.34 seems to have broken the unit testing. I have yet to figure out how to fix this. replaced the boost macro to allow linking unit-test statically. this fixes this bug. (the .so does no longer provide main() in boost 1.34) libopenraw-0.0.4 still fails, x86_64-pc-linux-gnu-g++ -O2 -pipe -march=k8 -Wextra -ansi -pedantic -g -Wall -Wshadow -Wl,-O1 -Wl,--as-needed -o ljpegtest ljpegtest.o -L/usr/lib ../lib/.libs/libopenraw.a /usr/lib64/libjpeg.so -lboost_unit_test_framework-mt -Wl,--rpath -Wl,/usr/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' do you have libboost_unit_test_framework-mt.a ? (In reply to comment #5) > do you have libboost_unit_test_framework-mt.a ? > I do but correct me if I'm wrong, you can't link non-fpic (static) libs together with fpic (shared) libs on amd64 so it's picking shared no matter what.. or else it would fail with x86_32 relocation error.. (In reply to comment #6) > (In reply to comment #5) > > do you have libboost_unit_test_framework-mt.a ? hmm actually it's libboost_unit_test_framework-mt-s.a -rw-r--r-- 1 root 793K Dec 25 09:55 /usr/lib64/libboost_unit_test_framework-mt-s.a -rwxr-xr-x 1 root 276K Dec 25 09:55 /usr/lib64/libboost_unit_test_framework-mt.so (just in case.. -rw-r--r-- 1 root 214K Oct 31 21:25 /usr/lib64/libjpeg.a -rw-r--r-- 1 root 792 Oct 31 21:25 /usr/lib64/libjpeg.la lrwxrwxrwx 1 root 17 Oct 31 21:25 /usr/lib64/libjpeg.so -> libjpeg.so.62.0.0 lrwxrwxrwx 1 root 17 Oct 31 21:25 /usr/lib64/libjpeg.so.62 -> libjpeg.so.62.0.0 -rwxr-xr-x 1 root 139K Oct 31 21:25 /usr/lib64/libjpeg.so.62.0.0) (In reply to comment #6) > I do but correct me if I'm wrong, you can't link non-fpic (static) > libs together with fpic (shared) libs on amd64 so it's picking > shared no matter what.. or else it would fail with x86_32 relocation > error.. I have no problem on Suse x86_64, and it use the static one, because the dynamic one does not provide main(). It is a known design issue of libboost-unit-test-framework if you have any further idea or information, feel free to reopen. reopening switching to use boost minimal test instead. Not library dependency. Problem solved. |
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.