On 03/07/2012 02:42 PM, David C. Rankin wrote:
On 03/07/2012 01:04 PM, David C. Rankin wrote:
On 03/07/2012 11:08 AM, Serghei Amelian wrote:
On Wednesday 07 March 2012 18:55:51 David C. Rankin wrote: [...]
LIBSANE_LIBS='-lsane -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -L/usr/lib -lnetsnmp -lcrypto -lm -ldl -lv4l1 -lm -ltiff -ljpeg -lgphoto2 -lgphoto2_port -lm -lexif -lusb -lavahi-common -lavahi-client -lusb '
LIBSANE_LDFLAGS='-L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -Wl,-rpath,/usr/lib'
LIBSANE_INCLUDES=''
I have no idea how '-lsane-Wl' is ending up crammed together. Any thoughts from the gurus?
cmake expects only a library list from sane-config.
Well, that could explain it :p
That would also be consistent with the man page for sane-config:
--libs Print the additional libraries that are necessary to link a SANE
frontend to libsane.
I'll sed those out and follow up with arch on the behavior of sane. What is the output of your:
sane-config --libs
?
Tim, all:
net-snmp-config --libs includes NON library information which causes packages built later that depend on it (eg: sane) to fail to link due to extraneous library information. I opened a bug report with Arch:
Serghei, All,
Looking at the concatenation, even if net-snmp-config included linker flags in the linker --libs string, the build should not have failed.
Linking CXX shared library libkscan.so /usr/bin/ld: cannot find -lsane-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu-L/usr/lib collect2: ld returned 1 exit status
The error above shows that the link would have succeeded if '-lsane' and '-Wl' were not concatenated together. The final part of the error was:
collect2: ld returned 1 exit status make[2]: *** [libkscan/libkscan.so.1.0.0] Error 1 make[1]: *** [libkscan/CMakeFiles/kscan-shared.dir/all] Error 2 make: *** [all] Error 2
I don't know where the actual concatenation takes place after the CMakeLists.txt is read, but it looks like whatever takes place after:
LINK kio-shared ${SANE_LIBRARIES}
is where the concatenation problem arises. Where can I look at this logic?