Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 102026 - myodbc-3.51.11 fails
Summary: myodbc-3.51.11 fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux MySQL bugs team
URL:
Whiteboard:
Keywords:
: 103607 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-08-10 11:52 UTC by Maciek Gajewski
Modified: 2006-06-26 09:15 UTC (History)
2 users (show)

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


Attachments
config.log (config.log,47.40 KB, text/plain)
2005-08-13 00:29 UTC, Maciek Gajewski
Details
full emerge log (nohup.out,83.52 KB, text/plain)
2005-08-13 00:30 UTC, Maciek Gajewski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maciek Gajewski 2005-08-10 11:52:28 UTC
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
Comment 1 Maciek Gajewski 2005-08-10 11:54:08 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
Comment 2 Francesco R. (RETIRED) gentoo-dev 2005-08-11 05:23:26 UTC
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).
Comment 3 Maciek Gajewski 2005-08-11 15:36:53 UTC
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
Comment 4 Francesco R. (RETIRED) gentoo-dev 2005-08-12 02:05:45 UTC
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
Comment 5 Maciek Gajewski 2005-08-13 00:29:28 UTC
Created attachment 65817 [details]
config.log

/var/tmp/portage/myodbc-3.51.11/work/MyODBC-3.51.11/config.log
Comment 6 Maciek Gajewski 2005-08-13 00:30:40 UTC
Created attachment 65818 [details]
full emerge log

nohup emerge myodbc
Comment 7 Maciek Gajewski 2005-08-13 00:35:54 UTC
(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
Comment 8 Francesco R. (RETIRED) gentoo-dev 2005-08-13 06:48:51 UTC
it should be enough, now it's my task ;)

Thank you for the effort and have nice holidays.
Comment 9 Robert Baranowski 2005-08-16 08:01:44 UTC
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.
Comment 10 Francesco R. (RETIRED) gentoo-dev 2005-08-16 12:53:34 UTC
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.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2005-08-24 11:29:48 UTC
*** Bug 103607 has been marked as a duplicate of this bug. ***
Comment 12 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-09-13 07:29:50 UTC
seems to be commited with no further problems, closing as fixed.
Comment 13 Peter Källdén 2006-04-07 02:21:16 UTC
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.


Comment 14 Peter Källdén 2006-04-07 02:23:29 UTC
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. :)
Comment 15 schaedpq 2006-06-23 09:21:47 UTC
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.
Comment 16 Francesco R. (RETIRED) gentoo-dev 2006-06-24 08:56:54 UTC
myodbc-3.51.12 is in the tree may worth a try.
Comment 17 schaedpq 2006-06-26 09:15:03 UTC
Problem seems to be solved for me, I don't need -lltdl with myodbc-3.51.12 anymore.