[sane-devel] Using "scanimage" under Gentoo
Olaf Meeuwissen
paddy-hack at member.fsf.org
Wed Feb 5 09:47:14 GMT 2020
Hi Rainer,
Dr Rainer Woitok writes:
> Olaf,
>
> On Friday, 2020-01-31 18:08:28 +0900, you wrote:
>
>> ...
>> This shouldn't be anything to worry about but I've submitted an issue
>> for it. You can find it at:
>>
>> https://gitlab.com/sane-project/backends/issues/235
>>
>> If you could add distribution/version info as well as attach your
>> config.log and config.status there, that would be appreciated.
>
> Didn't yet, but will do eventually.
>
>> ...
>> > [...] and will report back how it went.
>>
>> Waiting, patiently ;-)
>
> Well, up to now "sane-backends" fails to compile here. I compiled from
> three different changesets, and all failed the same way. I tried:
>
> - changeset 1942c5fd32a7 (by <paddy-hack at member.fsf.org>, 2020-01-26
> 10:56:34 +0000), the 1.0.29 pre-release changeset,
>
> - changeset 5aa523289f82 (by <paddy-hack at member.fsf.org>, 2019-07-31
> 20:39:43 +0900), tagged 1.0.28,
>
> - changeset 20be9af3d7f3 (by <povilas at radix.lt>, 2020-02-02 23:16:29
> +0000), which as of today was the current tip of the repository.
>
> The problem was consistently the same:
>
> /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ./.libs/libpixma.a(libpixma_la-pixma.o): in function `pixma_jpeg_read_header':
> /home/rainer/repo/sane-backends/backend/pixma/pixma.c:1311: undefined reference to `sanei_jpeg_jinit_write_ppm'
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:4001: libsane.la] Error 1
> make[2]: Leaving directory '/home/rainer/repo/sane-backends/backend'
> make[1]: *** [Makefile:3274: all] Error 2
> make[1]: Leaving directory '/home/rainer/repo/sane-backends/backend'
> make: *** [Makefile:596: all-recursive] Error 1
>
> But "sanei_jpeg_jinit_write_ppm" is defined in file "sanei/sanei_jpeg.c"
It's only defined if HAVE_LIBJPEG is defined.
> and according to my build log this file has been compiled successfully
> farther up:
>
> depbase=`echo sanei_jpeg.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include/sane -D_REENTRANT -DPATH_SANE_CONFIG_DIR=/home/rainer/etc/sane.d -DPATH_SANE_DATA_DIR=/home/rainer/share -DPATH_SANE_LOCK_DIR=/home/rainer/var/lock/sane -DV_MAJOR=1 -DV_MINOR=0 -I. -I. -I../include -I../include -I/usr/include/libusb-1.0 -I/usr/include/libxml2 -Wall -Wextra -pedantic -g -O2 -MT sanei_jpeg.lo -MD -MP -MF $depbase.Tpo -c -o sanei_jpeg.lo sanei_jpeg.c &&\
> mv -f $depbase.Tpo $depbase.Plo
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include/sane -D_REENTRANT -DPATH_SANE_CONFIG_DIR=/home/rainer/etc/sane.d -DPATH_SANE_DATA_DIR=/home/rainer/share -DPATH_SANE_LOCK_DIR=/home/rainer/var/lock/sane -DV_MAJOR=1 -DV_MINOR=0 -I. -I. -I../include -I../include -I/usr/include/libusb-1.0 -I/usr/include/libxml2 -Wall -Wextra -pedantic -g -O2 -MT sanei_jpeg.lo -MD -MP -MF .deps/sanei_jpeg.Tpo -c sanei_jpeg.c -fPIC -DPIC -o .libs/sanei_jpeg.o
> /bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Wextra -pedantic -g -O2 -o libsanei.la sanei_ab306.lo sanei_constrain_value.lo sanei_init_debug.lo sanei_net.lo sanei_wire.lo sanei_codec_ascii.lo sanei_codec_bin.lo sanei_scsi.lo sanei_config.lo sanei_config2.lo sanei_pio.lo sanei_pa4s2.lo sanei_auth.lo sanei_usb.lo sanei_thread.lo sanei_pv8630.lo sanei_pp.lo sanei_lm983x.lo sanei_access.lo sanei_tcp.lo sanei_udp.lo sanei_magic.lo sanei_ir.lo sanei_jpeg.lo
> libtool: link: ar cru .libs/libsanei.a .libs/sanei_ab306.o .libs/sanei_constrain_value.o .libs/sanei_init_debug.o .libs/sanei_net.o .libs/sanei_wire.o .libs/sanei_codec_ascii.o .libs/sanei_codec_bin.o .libs/sanei_scsi.o .libs/sanei_config.o .libs/sanei_config2.o .libs/sanei_pio.o .libs/sanei_pa4s2.o .libs/sanei_auth.o .libs/sanei_usb.o .libs/sanei_thread.o .libs/sanei_pv8630.o .libs/sanei_pp.o .libs/sanei_lm983x.o .libs/sanei_access.o .libs/sanei_tcp.o .libs/sanei_udp.o .libs/sanei_magic.o .libs/sanei_ir.o .libs/sanei_jpeg.o
> libtool: link: ranlib .libs/libsanei.a
> libtool: link: ( cd ".libs" && rm -f "libsanei.la" && ln -s "../libsanei.la" "libsanei.la" )
> make[1]: Leaving directory '/home/rainer/repo/sane-backends/sanei'
So, if HAVE_LIBJPEG is not defined (check include/sane/config.h), that
compiled sanei_jpeg.lo is basically empty.
Assuming it is not defined ...
Then I don't understand is why `make` thinks the pixma backend should be
built when HAVE_LIBJPEG is undefined. Its compilation should have been
disabled by `configure` and shouldn't be listed in BACKEND_LIBS_ENABLED
in backend/Makefile.
> What's going on here? I don't think I'm missing any dependencies, bec-
> ause I didn't have any problems building from Bruce's sane-backends ov-
> erlay.
Don't know, really. Can you re-run `configure` and provide the
`config.status` and `config.log` files?
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join
More information about the sane-devel
mailing list