Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 102689 - ODBCConfig broken in unixODBC 2.2.11-r1
Summary: ODBCConfig broken in unixODBC 2.2.11-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Highest normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
: 157518 (view as bug list)
Depends on: 111910
Blocks:
  Show dependency tree
 
Reported: 2005-08-16 02:40 UTC by Axel Reimann
Modified: 2007-06-20 06:45 UTC (History)
5 users (show)

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


Attachments
patch odbcinstQ/Makefile.in to fix this bug (unixODBC-2.2.11-Makefile.in.patch,552 bytes, patch)
2006-09-01 02:52 UTC, Peter Piehler
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Reimann 2005-08-16 02:40:58 UTC
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.
Comment 1 Ryan Phillips (RETIRED) gentoo-dev 2005-08-27 13:48:08 UTC
I can duplicate this problem.  does the main project page have any fixes?
Comment 2 Axel Reimann 2005-08-28 00:06:35 UTC
The unixODBC project's bug list looks fairly empty: 
http://sourceforge.net/tracker/?group_id=1544&atid=101544 
 
Should I file this bug upstream? 
 
Comment 3 david somers 2005-09-10 07:11:16 UTC
I'm getting exactly the same problem too... I had a quick look upstream and I 
don't think its been reported yet :( 
Comment 4 Axel Reimann 2005-09-10 13:39:07 UTC
I just filed it upstream under Request ID: 1286723 
Comment 5 david somers 2005-09-11 00:10:03 UTC
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. 
 
Comment 6 Axel Reimann 2005-09-11 00:44:30 UTC
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! 
Comment 7 david somers 2005-09-11 01:06:22 UTC
(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. 
Comment 8 Axel Reimann 2005-09-11 11:10:24 UTC
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
+----------------------------------------------------------------------------

Comment 9 Igor Korot 2005-11-05 20:10:23 UTC
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. 
Comment 10 Igor Korot 2005-11-07 09:42:55 UTC
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
Comment 11 Igor Korot 2005-11-07 12:23:30 UTC
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 
 
Comment 12 Igor Korot 2005-11-08 16:12:45 UTC
According to the unixODBC dev team, implementing the bug 111910 will close 
this bug.
Comment 13 Igor Korot 2005-11-11 15:13:42 UTC
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.
Comment 14 Duke 2005-12-04 21:37:43 UTC
So is this bug gonna get squashed, or what?
Comment 15 Duke 2005-12-04 22:05:38 UTC
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
Comment 16 david somers 2006-01-12 10:38:18 UTC
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
Comment 17 Peter Piehler 2006-08-31 05:03:14 UTC
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.
Comment 18 Peter Piehler 2006-09-01 02:52:56 UTC
Created attachment 95629 [details, diff]
patch odbcinstQ/Makefile.in to fix this bug
Comment 19 Jakub Moc (RETIRED) gentoo-dev 2006-12-08 07:09:36 UTC
*** Bug 157518 has been marked as a duplicate of this bug. ***
Comment 20 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2007-04-01 03:17:01 UTC
2.2.12 is in the tree now, please report if this bug is still applicable with it.
Comment 21 Igor Korot 2007-06-20 02:57:05 UTC
No, this bug is no longer occuring with the new 2.2.12 unixODBC version.
Please close.

Thank you.
Comment 22 Jakub Moc (RETIRED) gentoo-dev 2007-06-20 06:45:54 UTC
Confirmed fixed; we'll stabilize dev-db/unixODBC-2.2.12 once Bug 173256 gets worked around somehow.

Closing.