[sane-devel] compile problems with scanbd: undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5'
Louis Lagendijk
louis at fazant.net
Fri Jan 4 15:18:19 UTC 2013
On Thu, 2013-01-03 at 22:12 +0100, Dominik Kopp wrote:
> Wilhelm wrote:
>
> > Hi Dominik,
> >
> > Am 02.01.2013 20:45, schrieb Dominik Kopp:
> >> /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-
> linux/bin/ld:
> >> dbus.o: undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5'
> >> /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-
> linux/bin/ld:
> >> note: 'pthread_sigmask@@GLIBC_2.2.5' is defined in DSO
> >> /lib64/libpthread.so.0 so try adding it to the linker command line
> >> /lib64/libpthread.so.0: could not read symbols: Invalid operation
> >> collect2: error: ld returned 1 exit status make[1]: *** [scanbd] Fehler 1
> >> make[1]: Leaving directory `/home/dom/scanbd/trunk/src/scanbd'
> >> make: *** [all-recursive] Fehler 1
> >
> > looks like -lpthread is missing on openSUSE.
This was something missed in the autoconf configuation. I hopefully
fixed it in svn. Can you try again?
I also fixed the autoconf rebuilding.
> ok, and where is the binary?
> (this is my fourth or fifth program I'm trying to compile. Therefore I'm not
> very skilled...)
>
In src/scanbd. Use make install to install the binary. It ends up
in /usr/local/bin or /usr/local/sbin
> cc -DUSE_SANE -UUSE_SCANBUTTOND -DUSE_HAL -c -o scanbd.o scanbd.c
> In file included from scanbd.h:45:0,
> from scanbd.c:23:
> slog.h:33:1: error: unknown type name ‘bool’
> In file included from scanbd_dbus.h:33:0,
> from scanbd.h:46,
> from scanbd.c:23:
> /usr/include/dbus-1.0/dbus/dbus.h:29:33: fatal error: dbus/dbus-arch-deps.h:
> Datei oder Verzeichnis nicht gefunden
> compilation terminated.
> make: *** [scanbd.o] Fehler 1
>
Did you change something in the Makefile? It is really strange that it
tries to compile with HAL and not UDEV. I would guess that Suse switched
to udev?
>
> dbus-1-devel package is installed and contains following files:
> /usr/include/dbus-1.0/dbus/dbus.h
> /usr/lib64/dbus-1.0/include/dbus/dbus-arch-deps.h
> <...>
> (full list at http://pkgs.org/opensuse-12.2/opensuse-update-x86_64/dbus-1-
> devel-1.5.12-4.10.1.x86_64.rpm.html )
>
> -------------
> then I tried:
> dom at linux-8k4r:~/scanbd/releases/1.2.1> make clean all
>
> ok, this is working.
>
> make install does mostly well.
>
> dom at linux-8k4r:~/scanbd/releases/1.2.1> su
> Passwort:
> linux-8k4r:/home/dom/scanbd/releases/1.2.1 # make install
> echo "Make /usr/local/etc/scanbd"
> Make /usr/local/etc/scanbd
> mkdir -p /usr/local/etc/scanbd
> echo "Copy files to /usr/local/etc/scanbd"
> Copy files to /usr/local/etc/scanbd
> cp scanbd.conf /usr/local/etc/scanbd
> cp example.script /usr/local/etc/scanbd
> cp scanadf.script /usr/local/etc/scanbd
> cp test.script /usr/local/etc/scanbd
> echo "Copy scanbd to /usr/local/bin"
> Copy scanbd to /usr/local/bin
> mkdir -p "/usr/local/bin"
> cp scanbd /usr/local/bin
> echo "Copy scanbuttond backends to
> /usr/local/etc/scanbd/scanbuttond/backends"
> Copy scanbuttond backends to /usr/local/etc/scanbd/scanbuttond/backends
> mkdir -p "/usr/local/etc/scanbd/scanbuttond/backends"
> cp scanbuttond/backends/*.so "/usr/local/etc/scanbd/scanbuttond/backends" ||
> /bin/true
> cp: Aufruf von stat für „scanbuttond/backends/*.so“ nicht möglich: Datei
> oder Verzeichnis nicht gefunden
> echo "Copy scanbd_dbus.conf to /etc/dbus-1/system.d/"
> Copy scanbd_dbus.conf to /etc/dbus-1/system.d/
> cp scanbd_dbus.conf "/etc/dbus-1/system.d"
> cp scanbuttond/backends/meta.conf
> "/usr/local/etc/scanbd/scanbuttond/backends" || /bin/true
> echo "Edit /etc/inetd.conf"
> Edit /etc/inetd.conf
>
>
> is that OK? Should I try to move forward with the next steps as described in
> INSTALL?
It looks that you compiled scanbd ok here. So you should be able to
continue from here. Have a look at scanbd.conf and Try
scanbd -f
regards, Louis
More information about the sane-devel
mailing list