starting ODBCConfig after installing unixODBC results in: > ODBCConfig ODBCConfig: symbol lookup error: /usr/lib/libodbcinstQ.so.1: undefined symbol:iniElement I could reproduce this bug on two different machines.
I can duplicate this problem. does the main project page have any fixes?
The unixODBC project's bug list looks fairly empty: http://sourceforge.net/tracker/?group_id=1544&atid=101544 Should I file this bug upstream?
I'm getting exactly the same problem too... I had a quick look upstream and I don't think its been reported yet :(
I just filed it upstream under Request ID: 1286723
Hmmm... I just upgraded qt, and what happened what that portage upgraded my qt and unixODBC packages to qt-unixODBC and qt-unixODBC-3.3.4 ... apparently it fixes bug #14178, but it also seems to fix this bug too.
What version of Qt did you upgrade to? What I get is: > emerge -pu qt These are the packages that I would merge, in order: Calculating dependencies ...done!
(In reply to comment #6) > What version of Qt did you upgrade to? I just did "emerge qt" It pulled in x11-libs/qt-3.3.4-r7 and dev-db/qt-unixODBC-3.3.4 > What I get is: > > > emerge -pu qt > These are the packages that I would merge, in order: > > Calculating dependencies ...done! I think it only works its special magic when you have USE="qt odbc" set. Also, put "dev-db/qt-unixODBC" in your /etc/portage/package.keywords file.
Now I get two dialog boxes: +------------------------------------------+ | Failed to execute SQLManageDataSources() | +------------------------------------------+ and +---------------------------------------------------------------------------- | The most likely reason for this is that Qt GUI plugin could not be | found or could not be loaded. | Ensure that libodbcinstQ.* files are in the library search path. | The path can be altered by setting the LTDL_LIBRARY_PATH environment variable +----------------------------------------------------------------------------
The thread where the bug is coming from is here: http://forums.gentoo.org/viewtopic-t-396442.html. The unixODBC version I am trying is 2.2.11-r1. My QT version is 3.3.4-r8, and I don't have a qt-unixODBC installed, don't intend to.
According to the E-mail from the Nick Gorham (developer of unixOBC), that should be fixed in 2.2.12 (ftp://ftp.easysoft.com/pub.unixODBC). This version is not yet available on the Gentoo emerge list. Can someone ad this to the list, and mark the 2.2.11 unstable? Thank you
When you will try to create a build for the new version, be aware of the following: The ./configure runs through fine. Running 'make' gives following error, assuming the ./configure runs with the default parameters: igor@IgorsGentoo ~/unixODBC/build $ make cd .. && /bin/sh /home/igor/unixODBC/missing --run aclocal-1.9 /usr/share/aclocal/pth.m4:43: warning: underquoted definition of _AC_PTH_ERROR run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /usr/share/aclocal/pth.m4:55: warning: underquoted definition of _AC_PTH_VERBOSE /usr/share/aclocal/pth.m4:61: warning: underquoted definition of AC_CHECK_PTH cd .. && /bin/sh /home/igor/unixODBC/missing --run automake-1.9 --gnu cd .. && /bin/sh /home/igor/unixODBC/missing --run autoconf /bin/sh ./config.status --recheck running /bin/sh ../configure --enable-ltdl-convenience --no-create --no-recursion checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gawk... (cached) gawk checking for bison... bison -y checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking sys/sem.h usability... yes checking sys/sem.h presence... yes checking for sys/sem.h... yes checking Have we enabled using RTLD_GROUP ... yes checking build system type... i586-pc-linux-gnu checking host system type... i586-pc-linux-gnu checking for a sed that does not truncate output... /usr/bin/sed checking for ld used by gcc... /usr/i586-pc-linux-gnu/bin/ld checking if the linker (/usr/i586-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/i586-pc-linux-gnu/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking how to recognise dependent libraries... pass_all checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for epcf90... no checking for f95... no checking for fort... no checking for xlf95... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for gfortran... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking for correct ltmain.sh version... no *** Gentoo sanity check failed! *** *** libtool.m4 and ltmain.sh have a version mismatch! *** *** (libtool.m4 = 1.5.18, ltmain.sh = 1.5.20) *** Please run: libtoolize --copy --force if appropriate, please contact the maintainer of this package (or your distribution) for help. make: *** [config.status] Error 1 My system is following: igor@IgorsGentoo ~/unixODBC/build $ emerge --info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.12-gentoo-r6 i586) ================================================================= System uname: 2.6.12-gentoo-r6 i586 AMD-K6(tm) 3D processor Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 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.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i586-pc-linux-gnu" CFLAGS="-Os -mcpu=i586 -march=k6 -pipe" CHOST="i586-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /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/env.d" CXXFLAGS="-Os -mcpu=i586 -march=k6 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks noclean sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.osuosl.org/" LINGUAS="ru" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl eds emboss encode fam foomaticdb gdbm gif gpm gstreamer gtk2 imagemagick imlib informix ipv6 jpeg kde libg++ libwww mad mikmod motif mp3 mpeg mssql mysql ncurses nls odbc ogg oggvorbis oss pam pdflib perl png python qt quicktime readline samba sdl spell ssl sybase tcpd tiff truetype truetype-fonts type1-fonts unicode vorbis wxwindows x86 xml2 xmms xv zlib linguas_ru userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS
According to the unixODBC dev team, implementing the bug 111910 will close this bug.
This trick fixing the problem with the 2.2.11 build (according to Nick Gorham): Unpack your 2.2.11 distribution, edit odbcinstQ/Makefile.in and look for the following lines (from line 213) @QT_TRUE@libodbcinstQ_la_LIBADD = @X_LDFLAGS@ \ @QT_TRUE@ @QT_LDFLAGS@ \ @QT_TRUE@ @USER_LDFLAGS@ \ @QT_TRUE@ @LIB_QT@ \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ @QT_TRUE@ ../extras/libodbcextraslc.la \ @QT_TRUE@ ../DriverManager/libodbc.la @QT_TRUE@libodbcinstQ_la_DEPENDENCIES = \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ @QT_TRUE@ ../extras/libodbcextraslc.la \ @QT_TRUE@ ../DriverManager/libodbc.la Change to @QT_TRUE@libodbcinstQ_la_LIBADD = @X_LDFLAGS@ \ @QT_TRUE@ @QT_LDFLAGS@ \ @QT_TRUE@ @USER_LDFLAGS@ \ @QT_TRUE@ @LIB_QT@ \ @QT_TRUE@ ../ini/libinilc.la \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ @QT_TRUE@ ../extras/libodbcextraslc.la \ @QT_TRUE@ ../DriverManager/libodbc.la @QT_TRUE@libodbcinstQ_la_DEPENDENCIES = \ @QT_TRUE@ ../ini/libinilc.la \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ @QT_TRUE@ ../extras/libodbcextraslc.la \ @QT_TRUE@ ../DriverManager/libodbc.la Thank you.
So is this bug gonna get squashed, or what?
The fix in comment #13 breaks the build here. I get the following: /bin/sh ../libtool --mode=link i686-pc-linux-gnu-g++ -march=athlon-tbird -O3 -pipe -o libodbcinstQ.la -rpath /usr/lib -version-info 1:0:0 -export-dynamic -export-symbols ./odbcinstQ.exp -module CAbout.lo CCredits.lo CDLL.lo CDSNList.lo CDriverPrompt.lo CDrivers.lo CFileDSN.lo CFileList.lo CFileSelector.lo CODBCConfig.lo CProperties.lo CPropertiesFrame.lo CSplashDialog.lo CStatDetails.lo CStatSummary.lo CStats.lo CSystemDSN.lo CTracing.lo CUserDSN.lo SQLManageDataSources.lo mCAbout.lo mCCredits.lo mCDriverPrompt.lo mCDrivers.lo mCDSNList.lo mCFileDSN.lo mCFileList.lo mCFileSelector.lo mCODBCConfig.lo mCProperties.lo mCPropertiesFrame.lo mCStatDetails.lo mCStatSummary.lo mCStats.lo mCSystemDSN.lo mCTracing.lo mCUserDSN.lo -L/usr/lib -L/usr/qt/3/lib -lqt-mt -lXext -lX11 ../ini/libinilc.la ../odbcinst/libodbcinst.la ../extras/libodbcextraslc.la ../DriverManager/libodbc.la -lpthread i686-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtbeginS.o .libs/CAbout.o .libs/CCredits.o .libs/CDLL.o .libs/CDSNList.o .libs/CDriverPrompt.o .libs/CDrivers.o .libs/CFileDSN.o .libs/CFileList.o .libs/CFileSelector.o .libs/CODBCConfig.o .libs/CProperties.o .libs/CPropertiesFrame.o .libs/CSplashDialog.o .libs/CStatDetails.o .libs/CStatSummary.o .libs/CStats.o .libs/CSystemDSN.o .libs/CTracing.o .libs/CUserDSN.o .libs/SQLManageDataSources.o .libs/mCAbout.o .libs/mCCredits.o .libs/mCDriverPrompt.o .libs/mCDrivers.o .libs/mCDSNList.o .libs/mCFileDSN.o .libs/mCFileList.o .libs/mCFileSelector.o .libs/mCODBCConfig.o .libs/mCProperties.o .libs/mCPropertiesFrame.o .libs/mCStatDetails.o .libs/mCStatSummary.o .libs/mCStats.o .libs/mCSystemDSN.o .libs/mCTracing.o .libs/mCUserDSN.o -Wl,--whole-archive ../ini/.libs/libinilc.a ../extras/.libs/libodbcextraslc.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/usr/qt/3/lib -Wl,--rpath -Wl,/var/tmp/portage/unixODBC-2.2.11-r1/work/unixODBC-2.2.11/odbcinst/.libs -Wl,--rpath -Wl,/var/tmp/portage/unixODBC-2.2.11-r1/work/unixODBC-2.2.11/DriverManager/.libs -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 -Wl,--rpath -Wl,/usr/qt/3/lib -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 -L/usr/lib -L/usr/qt/3/lib /usr/qt/3/lib/libqt-mt.so -L/usr/X11R6/lib -lXext -lX11 ../odbcinst/.libs/libodbcinst.so ../DriverManager/.libs/libodbc.so -lpthread -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../.. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crtn.o -march=athlon-tbird -Wl,-soname -Wl,libodbcinstQ.so.1 -Wl,-retain-symbols-file -Wl,./odbcinstQ.exp -o .libs/libodbcinstQ.so.1.0.0 ../extras/.libs/libodbcextraslc.a(strcasecmp.o)(.text+0x0): In function `___extra_func_to_mollify_linker': : multiple definition of `___extra_func_to_mollify_linker' ../ini/.libs/libinilc.a(strcasecmp.o)(.text+0x0): first defined here collect2: ld returned 1 exit status distcc[8665] ERROR: compile (null) on localhost failed make[1]: *** [libodbcinstQ.la] Error 1 make[1]: Leaving directory `/var/tmp/portage/unixODBC-2.2.11-r1/work/unixODBC-2.2.11/odbcinstQ' make: *** [all-recursive] Error 1
Ref comment#10. ODBCConfig does indeed work in 2.2.12 (and its so nice to finally have ODBCConfig back again!) FYI, I put an ebuild into bug #111910 so y'all can emerge 2.2.12
its a very old and known bug: http://mail.easysoft.com/pipermail/unixodbc-dev/2005-November/000801.html You can solve this: -create a new ebuild (unixODBC-2.2.11-r2.ebuild): -copy unixODBC-2.2.11-r1.ebuild to <your overlay>/dev-db/unixODBC/unixODBC-2.2.11-r2.ebuild -copy files-directory to <your overlay>/dev-db/unixODBC/files -edit unixODBC-2.2.11-r2.ebuild ####snip unixODBC-2.2.11-r2.ebuild#### src_unpack() { unpack ${P}.tar.gz cd "${S}" epatch "${FILESDIR}"/${P}-flex.patch #110167 # braindead check in configure fails - hack approach epatch "${FILESDIR}"/${P}-configure.in.patch epatch "${FILESDIR}"/${P}-Makefile.am.patch aclocal && \ libtoolize -c -f && \ automake && \ autoconf || die "autotools failed" EPATCH_OPTS=" -p0 -N " epatch "${FILESDIR}"/${P}-Makefile.in.patch #102689 } #### -create <your overlay>/dev-db/unixODBC/files/unixODBC-2.2.11-Makefile.in.patch : ###BOF unixODBC-2.2.11-Makefile.in.patch### --- odbcinstQ/Makefile.in.orig +++ odbcinstQ/Makefile.in @@ -220,14 +220,14 @@ @QT_TRUE@ @QT_LDFLAGS@ \ @QT_TRUE@ @USER_LDFLAGS@ \ @QT_TRUE@ @LIB_QT@ \ +@QT_TRUE@ ../ini/libinilc.la \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ -@QT_TRUE@ ../extras/libodbcextraslc.la \ -@QT_TRUE@ ../DriverManager/libodbc.la +@QT_TRUE@ ../DriverManager/libodbc.la @QT_TRUE@libodbcinstQ_la_DEPENDENCIES = \ +@QT_TRUE@ ../ini/libinilc.la \ @QT_TRUE@ ../odbcinst/libodbcinst.la \ -@QT_TRUE@ ../extras/libodbcextraslc.la \ @QT_TRUE@ ../DriverManager/libodbc.la ###EOF unixODBC-2.2.11-Makefile.in.patch### -echo "=dev-db/unixODBC-2.2.11-r2 ~<your arch>" >> /etc/portage/package.keywords -ebuild <your overlay>/dev-db/unixODBC/unixODBC-2.2.11-r2.ebuild digest -emerge unixODBC i hope it works fine for you.
Created attachment 95629 [details, diff] patch odbcinstQ/Makefile.in to fix this bug
*** Bug 157518 has been marked as a duplicate of this bug. ***
2.2.12 is in the tree now, please report if this bug is still applicable with it.
No, this bug is no longer occuring with the new 2.2.12 unixODBC version. Please close. Thank you.
Confirmed fixed; we'll stabilize dev-db/unixODBC-2.2.12 once Bug 173256 gets worked around somehow. Closing.