Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 53677 - hpoj-0.91-r3 does not compile properly - libusb linking problem
Summary: hpoj-0.91-r3 does not compile properly - libusb linking problem
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-11 15:17 UTC by Alexander Kahl
Modified: 2004-09-22 05:06 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kahl 2004-06-11 15:17:11 UTC
After not using my HP PSC1210 printer for quite a while, I tried to emerge the latest version of hpoj (libusb+sane-backends+xsane+hpoj). libusb, sane-backends and xsane compiled just fine but compiling hpoj threw the following errors:

mlcd
make[1]: Entering directory `/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd'
g++ -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd -I/var/tmp/portage/hpoj- 0.91-r3/work/hpoj-0.91/mlcd/transport -O -g -Wall -DEX_TRANSPORT_UNIX_PORT -DPAR _PLATFORM_LINUX -DUSB_PLATFORM_LINUX -DJD_DEBUGLITE  -DHAVE_LIBUSB  -DVAR_RUN_PR EFIX="\"/var/run\"" -c -o ExMgr.o ExMgr.cpp
g++ -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd -I/var/tmp/portage/hpoj- 0.91-r3/work/hpoj-0.91/mlcd/transport -O -g -Wall -DEX_TRANSPORT_UNIX_PORT -DPAR _PLATFORM_LINUX -DUSB_PLATFORM_LINUX -DJD_DEBUGLITE  -DHAVE_LIBUSB  -DVAR_RUN_PR EFIX="\"/var/run\"" -c -o ParPort.o ParPort.cpp
g++ -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd -I/var/tmp/portage/hpoj- 0.91-r3/work/hpoj-0.91/mlcd/transport -O -g -Wall -DEX_TRANSPORT_UNIX_PORT -DPAR _PLATFORM_LINUX -DUSB_PLATFORM_LINUX -DJD_DEBUGLITE  -DHAVE_LIBUSB  -DVAR_RUN_PR EFIX="\"/var/run\"" -c -o transport/ExTransport.o transport/ExTransport.cpp
g++ -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd -I/var/tmp/portage/hpoj- 0.91-r3/work/hpoj-0.91/mlcd/transport -O -g -Wall -DEX_TRANSPORT_UNIX_PORT -DPAR _PLATFORM_LINUX -DUSB_PLATFORM_LINUX -DJD_DEBUGLITE  -DHAVE_LIBUSB  -DVAR_RUN_PR EFIX="\"/var/run\"" -c -o transport/ExMlcTransport.o transport/ExMlcTransport.cp p
g++ -I/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd -I/var/tmp/portage/hpoj- 0.91-r3/work/hpoj-0.91/mlcd/transport -O -g -Wall -DEX_TRANSPORT_UNIX_PORT -DPAR _PLATFORM_LINUX -DUSB_PLATFORM_LINUX -DJD_DEBUGLITE  -DHAVE_LIBUSB  -DVAR_RUN_PR EFIX="\"/var/run\"" -c -o transport/ExMlcCommandChannel.o transport/ExMlcCommand Channel.cpp
g++ -lusb -o ptal-mlcd ExMgr.o ParPort.o transport/ExTransport.o transport/ExMlc Transport.o transport/ExMlcCommandChannel.o
ExMgr.o(.text+0xafcd): In function `UsbMgr::llioInit()':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:3945: undefined refe rence to `usb_init'
ExMgr.o(.text+0xb03e): In function `UsbMgr::llioGlob()':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:3959: undefined refe rence to `usb_find_busses'
ExMgr.o(.text+0xb043):/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cp p:3960: undefined reference to `usb_find_devices'
ExMgr.o(.text+0xb059):/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cp p:3964: undefined reference to `usb_busses'
ExMgr.o(.text+0xb266): In function `UsbMgr::libusbFindDevice(char*, unsigned, ch ar*, unsigned, int, int)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:4031: undefined refe rence to `usb_busses'
ExMgr.o(.text+0xbb46): In function `UsbMgr::llioGetDeviceID(int*)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:4301: undefined refe rence to `usb_control_msg'
ExMgr.o(.text+0xbb57):/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cp p:3743: undefined reference to `usb_close'
ExMgr.o(.text+0xc234): In function `UsbMgr::llioSetProtocol(ExMgr::ExInterface)' :
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:4551: undefined refe rence to `usb_set_altinterface'
ExMgr.o(.text+0xc3a5): In function `UsbMgr::llioSetChannel(ExMgr::ExInterface, i nt)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:4596: undefined refe rence to `usb_control_msg'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr16libusbHandleOpenEiPi+0x22): In function `Usb Mgr::libusbHandleOpen(int, int*)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:3733: undefined refe rence to `usb_open'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr16libusbHandleOpenEiPi+0x65): In function `Usb Mgr::libusbHandleOpen(int, int*)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ParPort.h:85: undefined refere nce to `usb_claim_interface'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr16libusbHandleOpenEiPi+0xd5):/var/tmp/portage/ hpoj-0.91-r3/work/hpoj-0.91/mlcd/ParPort.h:675: undefined reference to `usb_clos e'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr9llioResetEv+0x1f): In function `UsbMgr::llioR eset()':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ParPort.h:289: undefined refer ence to `usb_close'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr9llioResetEv+0x40): In function `UsbMgr::llioR eset()':
/usr/include/sys/io.h:99: undefined reference to `usb_close'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr9_llioReadEN5ExMgr11ExInterfaceEPhii+0x3b): In  function `UsbMgr::_llioRead(ExMgr::ExInterface, unsigned char*, int, int)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.h:1058: undefined refere nce to `usb_bulk_read'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr10_llioWriteEN5ExMgr11ExInterfaceEPKhii+0x44):  In function `UsbMgr::_llioWrite(ExMgr::ExInterface, unsigned char const*, int, int)':
/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:3739: undefined refe rence to `usb_bulk_write'
ExMgr.o(.gnu.linkonce.t._ZN6UsbMgr10_llioWriteEN5ExMgr11ExInterfaceEPKhii+0xd0): /var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd/ExMgr.cpp:76: undefined refere nce to `usb_bulk_write'
collect2: ld returned 1 exit status
make[1]: *** [ptal-mlcd] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/hpoj-0.91-r3/work/hpoj-0.91/mlcd'
make: *** [just_compile] Fehler 2
 
!!! ERROR: net-print/hpoj-0.91-r3 failed.
!!! Function src_compile, Line 45, Exitcode 2
!!! compilation failed

--

However `grep usb_init /usr/lib/libusb-0.1.4.4.0` yields a positive result.

Reproducible: Always
Steps to Reproduce:
1. emerge hpoj
2.
3.

Actual Results:  
linking error

Expected Results:  
compile properly

I've tried compiling using both libusb-0.1.8 (~x86) and libusb-0.1.7-r1 (x86),
no difference. Same with and without -fstack-protector.

I emerge most of my programs, especially the whole base system NOT using ~x86.

`emerge info`:
Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm)
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -mcpu=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3
-pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math
-fprefetch-loop-arrays -fstack-protector"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -mcpu=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3
-pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math
-fprefetch-loop-arrays -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
GENTOO_MIRRORS="ftp://gentoo.inode.at/source/
ftp://mirror.switch.ch/mirror/gentoo/ http://gentoo.inode.at/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aalib acpi alsa avi berkdb cdr crypt cups directfb dvd emacs encode
esd fam fbcon flac foomaticdb gdbm gif gimpprint gnome gpm gstreamer gtk gtk2
icq imap imlib java joystick jpeg ldap libg++ libwww mad maildir matroska mikmod
mitshm mmx mng motif mozilla moznocompose moznoirc moznomail mpeg ncurses nls
nocd nptl oggvorbis opengl oscar oss pam pdflib perl png ppds python quicktime
readline samba scanner sdl slang spell sse ssl svga tcpd theora threads truetype
unicode usb videos x86 xml2 xmms xrandr xv zlib"
Comment 1 Evan Davies 2004-07-12 06:19:52 UTC
Just to let you know I'm having the same issue.

Portage 2.0.50-r9 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.4.20040619-r0, 2.6.7-gentoo-r7)
=================================================================
System uname: 2.6.7-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.5.1
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-mcpu=pentium4 -march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=pentium4 -march=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache distcc sandbox"
GENTOO_MIRRORS="ftp://planetmirror.com.au/pub/gentoo ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://mirror.datapipe.net/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/data/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="X aalib alsa apache2 apm arts audiofile avi berkdb bonobo cdr crypt cups curl divx4linux dvd dvdr encode esd flash foomaticdb gd gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib java jpeg kde ldap libg++ libwww mad mcal mikmod motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pcre pdflib perl php png postgres ppds python qt quicktime readline samba sane scanner sdl slang spell sse ssl svga tcltk tcpd tiff truetype usb x86 xml xml2 xmms xv zlib
Comment 2 Georgi Georgiev 2004-07-12 11:50:44 UTC
I'd just like to add (I guess it's related) that compiling with -usb on a system that has libusb installed, causes hpoj to autodetect the presence of the usb libraries. One needs to add
    myconf="${myconf} $(use_with usb)"
it seems. Not sure what the --with-libusb and --with-usb options to configure are for.
Comment 3 Evan Davies 2004-07-13 03:11:49 UTC
Thanks Georgi.
I used -
>"USE=-usb" emerge hpoj
and the compile worked

Thanks again
Comment 4 bcjenkins 2004-07-20 10:43:54 UTC
hpoj does compile fine with libusb-0.1.7. Can it be fixed to work with r1 or 0.1.8? Thanks
Comment 5 Panard 2004-09-19 15:45:49 UTC
works fine for me ( USE=usb ), re-emerging libusb made it working ( same linking bug before )

banquise ~ # emerge info
Portage 2.0.51_rc1 (default-linux/amd64/gcc34-2004.2, gcc-3.4.2, glibc-2.3.4.20040808-r0, 2.6.8-gentoo-r3 x86_64)
=================================================================
System uname: 2.6.8-gentoo-r3 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.5.3
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.7-r4
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE=""
ARCH="amd64"
AUTOCLEAN="yes"
AUTO_SYMLINK="yes"
BASH_ENV="/etc/spork/is/not/valid/profile.env"
CC="gcc"
CFLAGS="-march=k8 -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CLASSPATH="."
CLEAN_DELAY="5"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/X11/Sessions/ /etc/gconf /etc/terminfo /etc/env.d"
CONF_LIBDIR="lib64"
CVS_RSH="ssh"
CXX="g++"
CXXFLAGS="-march=k8 -O3 -pipe"
DISPLAY=":0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/usr/bin/vim"
FEATURES="autoaddcvs ccache cvs fixpackages noinfo sandbox strict userpriv"
FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P ${DISTDIR} ${URI}"
GDK_USE_XFT="1"
GENTOO_MIRRORS="ftp://ftp.gentoo.skynet.be/pub/gentoo/"
GRP_STAGE23_USE="ipv6 pam tcpd readline nls ssl gpm perl python berkdb acl ncurses -java -nptl"
G_BROKEN_FILENAMES="1"
HOME="/root"
HOSTNAME="banquise"
INFOPATH="/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4/info"
JAVAC="/opt/sun-jdk-1.5.0_rc1/bin/javac"
JAVA_HOME="/opt/sun-jdk-1.5.0_rc1"
JDK_HOME="/opt/sun-jdk-1.5.0_rc1"
KBUILD_OUTPUT_PREFIX=""
KDEDIR="/usr/kde/3.3"
KDEDIRS="/usr"
KDE_MALLOC="1"
LANG="fr_FR.utf8"
LANGUAGE="33"
LESS="-R"
LESSOPEN="|lesspipe.sh %s"
LINGUAS="fr zh_CN"
LINUX_PORTAGE_WRITABLE="no"
LOGNAME="root"
LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.ogg=00;36:"
MAKEOPTS="-j2"
MANPATH="/usr/share/man:/usr/local/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4/man:/usr/share/man::/opt/sun-jdk-1.5.0_rc1/man:/usr/qt/3/doc/man"
NOCOLOR="false"
PAGER="/usr/bin/less"
PATH="/root/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/3.4:/usr/X11R6/bin:/opt/sun-jdk-1.5.0_rc1/bin:/opt/sun-jdk-1.5.0_rc1/jre/bin:/usr/qt/3/bin:/usr/kde/3.3/sbin:/usr/kde/3.3/bin:/usr/share/karamba/bin"
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="alpha amd64 arm hppa ia64 macos mips ppc ppc64 s390 sparc x86 x86-obsd x86-fbsd ppc-macos"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_CALLER="emerge"
PORTAGE_GID="250"
PORTAGE_MASTER_PID="30613"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
PRELINK_PATH=""
PRELINK_PATH_MASK=""
PS1="\[\033[01;31m\]\h \[\033[01;34m\]\w \$ \[\033[00m\]"
PWD="/root"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P ${DISTDIR} ${URI}"
RPMDIR="/usr/portage/rpm"
RSYNC_RETRIES="3"
RSYNC_TIMEOUT="180"
SANE_CONFIG_DIR="/etc/sane.d"
SHELL="/bin/bash"
SHLVL="1"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
TERM="xterm"
USE="X alsa amd64 apache2 apm arts artswrappersuid avi berkdb bitmap-fonts bzlib canna cddb cdr crypt cups curl dba divx4linux dvd encode esd foomaticdb gd gdbm gif gimp gimpprint gphoto2 gtk2 imlib ipv6 ipv6arpa jabber jce jpeg kde ldap libg++ libwww lzwlzw-tiff mikmod ming mng motif mozilla mpeg multilib mysql ncurses nls nptl oggvorbis opengl oss pam pdflib perl php pic png posix postgres ppds python qt quicktime readline scanner sdl session slang spell ssl tcltk tcpd tiff truetype unicode usb userlocales wmf xine xml xml2 xmms xprint xsl xv xvid zlib linguas_fr linguas_zh_CN"
USER="root"
USERLAND="GNU"
USE_EXPAND="VIDEO_CARDS INPUT_DEVICES LINGUAS"
XARGS="xargs -r"
XINITRC="/etc/X11/xinit/xinitrc"
_="/usr/bin/emerge"
Comment 6 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-22 05:06:50 UTC
fine, so i can close it now