Making all in samples make[1]: Entering directory `/var/tmp/portage/myodbc-3.51.11/work/MyODBC-3.51.11/samples' if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../driver -I.. -I/usr/include -O3 -DDBUG_OFF -DPORTABLE_GUI -O2 -march=i686 -fomit-frame-pointer -pipe -I/usr/include/mysql -march=i686 -fomit-frame-pointer -pipe -DHAVE_ERRNO_AS_DEFINE=1 -DUSE_OLD_FUNCTIONS -MT my_basics.o -MD -MP -MF ".deps/my_basics.Tpo" -c -o my_basics.o my_basics.c; \ then mv -f ".deps/my_basics.Tpo" ".deps/my_basics.Po"; else rm -f ".deps/my_basics.Tpo"; exit 1; fi /bin/sh ../libtool --mode=link i686-pc-linux-gnu-gcc -O3 -DDBUG_OFF -DPORTABLE_GUI -O2 -march=i686 -fomit-frame-pointer -pipe -I/usr/include/mysql -march=i686 -fomit-frame-pointer -pipe -DHAVE_ERRNO_AS_DEFINE=1 -DUSE_OLD_FUNCTIONS ../driver_r/libmyodbc3_r.la -L/usr/lib/mysql -lmysqlclient_r -lpthread -lz -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto -o my_basics my_basics.o -L/usr/lib -lz -lodbcinst mkdir .libs i686-pc-linux-gnu-gcc -O3 -DDBUG_OFF -DPORTABLE_GUI -O2 -march=i686 -fomit-frame-pointer -pipe -I/usr/include/mysql -march=i686 -fomit-frame-pointer -pipe -DHAVE_ERRNO_AS_DEFINE=1 -DUSE_OLD_FUNCTIONS -o .libs/my_basics my_basics.o ../driver_r/.libs/libmyodbc3_r.so -L/usr/lib/mysql -L/usr/lib /usr/lib/mysql/libmysqlclient_r.so -lcrypt -lnsl -lm -lssl -lcrypto -lz /usr/lib/libodbcinst.so -ldl -lpthread -Wl,--rpath -Wl,/usr/lib/mysql ../driver_r/.libs/libmyodbc3_r.so: undefined reference to `lt_dlclose' ../driver_r/.libs/libmyodbc3_r.so: undefined reference to `lt_dlopen' ../driver_r/.libs/libmyodbc3_r.so: undefined reference to `lt_dlsym' ../driver_r/.libs/libmyodbc3_r.so: undefined reference to `lt_dlinit' collect2: ld returned 1 exit status make[1]: *** [my_basics] Błąd 1 make[1]: Leaving directory `/var/tmp/portage/myodbc-3.51.11/work/MyODBC-3.51.11/samples' make: *** [all-recursive] Błąd 1 !!! ERROR: dev-db/myodbc-3.51.11 failed. Reproducible: Always Steps to Reproduce: 1.emerge myodbc 2. 3. Actual Results: Compilation ( actually a linking ) fails Expected Results: Compiles cleanly gentoo-sources-2.6.11-r6 gcc-3.4.4 binutils-2.16-r1 portage synced on 10/08/2005, 18:00 UTC
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-r0, 2.6.11-gentoo-r9 i686) ================================================================= System uname: 2.6.11-gentoo-r9 i686 AMD Duron(tm) processor Gentoo Base System version 1.6.12 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.8 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.16-r1 sys-devel/libtool: 1.5.18 virtual/os-headers: 2.6.11-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl/" LC_ALL="pl_PL.UTF-8" LINGUAS="pl en" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X acl acpi alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth bzlib cdr crypt cups curl divx4linux dvd dvdr eds emboss encode fam ffmpeg flac foomaticdb fortran gd gdbm gif glut gpm gstreamer gtk2 hal iconv imagemagick imlib ipv6 java joystick jpeg junit kde libg++ libwww mad mikmod motif mozilla mp3 mpeg mysql ncurses nls odbc ogg oggvorbis opengl oss pam pdflib perl plugin png python qt quicktime readline samba sdl slang spell ssl svg svga tcpd tetex tiff truetype truetype-fonts type1-fonts usb videos vorbis win32codecs wmf x86 xine xml xml2 xmms xv zeroconf zlib linguas_pl linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, MAKEOPTS, PORTDIR_OVERLAY
Those function all related to "sys-devel/libtool" , please try to re-emerge that and then "dev-db/myodbc" . I've had succesful emerge of the following packages: =dev-db/myodbc-3.51.11 \ =dev-db/mysql-4.0.24 \ =dev-db/unixODBC-2.2.6 \ =dev-perl/DBD-mysql-2.9007 \ =dev-perl/DBI-1.46 \ =dev-perl/PlRPC-0.2016-r1 \ =perl-core/Storable-2.13 \ =dev-perl/Net-Daemon-0.38 \ No problems here on x86 and pretty similar conf. If the compilation still fail after reemerging libtool please provide the output of "emerge -pv " of the previous packages (without forcing the version).
Installed libtool. myodbc still fails emerge -pv mysql: [ebuild R ] dev-db/mysql-4.0.25-r2 +berkdb* -big-tables -debug -doc -minimal +perl* +readline (-selinux) +ssl -static +tcpd 10,897 kB [ebuild N ] perl-core/Storable-2.13 131 kB [ebuild N ] dev-perl/Net-Daemon-0.38 30 kB [ebuild N ] dev-perl/PlRPC-0.2018 17 kB [ebuild N ] dev-perl/DBI-1.48 369 kB [ebuild N ] dev-perl/DBD-mysql-2.9007 114 kB
For some reason, "/usr/lib/libltdl.so.3.1.1" is not linked in. Please try adding "-lltdl" to your CFLAGS . Also if possible could you send the /var/tmp/portage/myodbc-3.51.11/work/MyODBC-3.51.11/config.log and maybe the log of the emerge (one fast thing to do it "nohup emerge package"). Thanks
Created attachment 65817 [details] config.log /var/tmp/portage/myodbc-3.51.11/work/MyODBC-3.51.11/config.log
Created attachment 65818 [details] full emerge log nohup emerge myodbc
(In reply to comment #4) I've created emerge log, it is attached, along with the configure log. I re-emerged mysql, but it didn't help. `CFLAGS=-lltdl` workaround worked. I'm going to holidays today, so i will not be able to assit you anytime soon. If my assitant will be neccesary anyway, please, drop me an email, i'll answer after i get back, in two weeks. thanks
it should be enough, now it's my task ;) Thank you for the effort and have nice holidays.
I've edited ebuild file: /usr/portage/dev-db/myodbc/myodbc-3.51.11.ebuild src_compile() { local myconf="--enable-static" use static \ && myconf="${myconf} --disable-shared" \ || myconf="${myconf} --enable-shared" myconf="${myconf} `use_with doc docs` `use_with debug`" econf \ --libexecdir=/usr/sbin \ --sysconfdir=/etc/myodbc \ --localstatedir=/var/lib/myodbc \ --with-mysql-libs=/usr/lib/mysql \ --with-mysql-includes=/usr/include/mysql \ --with-odbc-ini=/etc/unixODBC/odbc.ini \ --with-unixODBC=/usr \ --without-samples \ --without-sample \ --with-libtool \ --disable-test \ ${myconf} || die "econf failed" emake || die "emake failed" } And it compiled for Me.
Applied suggestion from c#9 by Robert Baranowski . Added "--without-samples --disable-test" to configure options. Thank you P.S. has been committed only few seconds ago, plase wait a couple of hours before to emerge sync.
*** Bug 103607 has been marked as a duplicate of this bug. ***
seems to be commited with no further problems, closing as fixed.
it compiles fine, but when using the lib through unixODBC I get a missing symbol lt_dlclose. atleast with hardened gentoo and gcc-3.4.5-r1 glibc-2.3.5-r2 myodbc-3.51.11 unixODBC-2.2.11-r1 libtool-1.5.22 binutils-2.16.1 if I do CFLAGS="-lltdl" emerge myodbc ( ala comment #5 solution ) it works... I have other systems where I don't have the hardened gentoo and they don't have this problem. possible something with the way hardened linux works with pax and grsecurity since I use those. possible solution: add the link in the ebuild if hardened.
odd I'm pretty sure the comment was #5 but that's wrong.. here's the head of the comment: Comment #4 From Francesco R. 2005-08-12 02:05 PST sorry about that. :)
I have the same problem as Peter if CFLAGS misses -lltdl (and using a hardened profile) But I doubt, that pax or grsec have anything to do with the problem, as switching to a vanilla gcc does solve it apparantly (you dont need -lltdl in CFLAGS) Note, that switching to i686-pc-linux-gnu-3.4.6-hardenednopiessp does not help, you still need the -lltdl. Therefore SSP and PIE do not seem to trigger the bug.
myodbc-3.51.12 is in the tree may worth a try.
Problem seems to be solved for me, I don't need -lltdl with myodbc-3.51.12 anymore.