[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