Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 79620 - dev-db/unixODBC-2.2.6 Can't find X libraries, qt USE flag
Summary: dev-db/unixODBC-2.2.6 Can't find X libraries, qt USE flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Ryan Phillips (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-26 12:02 UTC by Eric Shattow
Modified: 2005-02-06 17:47 UTC (History)
1 user (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 Eric Shattow 2005-01-26 12:02:26 UTC
I have xorg-x11 6.8.0-r4 installed.  I am on a fresh 2004.3 install from stage1, stable arch (x86).  dev-db/unixODBC can't seem to find the X11 libs.  

My guess is chicken-and-egg problem.  qt wouldn't build with 'odbc' use flag unless you had odbc installed.  odbc wouldn't build with 'qt' use flag unless you had qt installed.  I'm sure there is a problem, but i'm not 100% on what causes it or how to fix it yet.

...
checking for snprintf... yes
checking for semundo union... yes
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... yes
checking for X... configure: error: Can't find X libraries. Please check your installation and add the correct paths!

!!! ERROR: dev-db/unixODBC-2.2.6 failed.
...

necro jnc # emerge -vp unixODBC | grep ebuild
[ebuild  N    ] dev-db/unixODBC-2.2.6  +gnome +qt 0 kB

...

necro jnc # emerge --info | grep ^USE; emerge --info | grep ^CFLAGS
USE="x86 3dnow X aac aalib accessibility acpi aim alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bonobo bzlib caps crypt cups dga directfb divx4linux dvb dvd dvdr encode esd exif f77 fam fbcon flac flash font-server foomaticdb fortran ftp gcj gd gdbm ggi gif gnome gnustep gnutls gphoto2 gpm gps gstreamer gtk gtk2 icq imagemagick imap imlib innodb ipv6 jabber jack java joystick jpeg kde kerberos ladcca lcms ldap libg++ libwww mad maildir mikmod mime ming mmx mng motif mozilla mpeg msn mysql nas ncurses netboot nls nptl objc odbc offensive oggvorbis openal opengl oscar oss pam pcre pda pdflib perl php png portaudio python qt quicktime readline ruby samba sasl scanner sdl session slp sndfile snmp sox speex spell sse ssl svg svga tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb wmf xinerama xml2 xmms xpm xprint xsl xv xvid yahoo zlib"
CFLAGS="-march=athlon-xp -pipe -O2"

...

necro jnc # cat /etc/portage/package.use
sys-libs/glibc userlocales
sys-devel/gcc -gtk
x11-libs/qt -odbc
Comment 1 Eric Shattow 2005-01-26 14:04:51 UTC
after emerge'ing qt, unixODBC script continues to fail at finding X libraries when USE="qt gnome".   Not chicken-and-egg problem.
Comment 2 Eric Shattow 2005-01-26 14:16:13 UTC
i'm referencing my /etc/portage/package.use:

# does not work
=dev-db/unixODBC-2.2.6 -gnome qt

# works fine
#=dev-db/unixODBC-2.2.6 gnome -qt


This is a problem when the 'qt' USE flag and unixODBC-2.2.6
Comment 3 Ryan Grange 2005-02-05 11:54:37 UTC
I experienced the same problem.  I had to USE="-odbc" emerge qt to get QT installed, but attempting to install unixODBC afterward gave me that same error regarding X libraries not being found.

The problem regarding the QT and ODBC flags together seems to just be the QT libraries attempting to use the database drivers before they've been installed, and the unixODBC drivers requiring QT be installed before they'll go in.

When I attempted to emerge just qt, it would list unixODBC then qt.  When I attmempt to emerge just unixODBC, it would list qt first.  That is probably where you got the chicken and egg theory from.
Comment 4 dusan cerhaty 2005-02-06 03:37:59 UTC
Since X.Org the libraries path has been moved to another loacation. You have to edit current unixODBC ebuild and add --x-libraries flag to configure script in src_compile() function.
This works fine for me:

src_compile() {
        local myconf

        if use qt
        then
                myconf="--enable-gui=yes"
        else
                myconf="--enable-gui=no"
        fi

        ./configure --host=${CHOST} \
                    --prefix=/usr \
                    --sysconfdir=/etc/unixODBC \
########################
#next line is added by me
########################
                    --x-libraries=/usr/lib \
                    ${myconf} || die

        make || die

        if use gnome
        then
                # Symlink for configure
                ln -s ${S}/odbcinst/.libs ./lib
                # Symlink for libtool
                ln -s ${S}/odbcinst/.libs ./lib/.libs
                cd gODBCConfig
                ./configure --host=${CHOST} \
                                --with-odbc=${S} \
                                --prefix=/usr \
                                --sysconfdir=/etc/unixODBC \
                                || die

                # not sure why these symlinks are needed. busted configure, i guess...
                ln -s ../depcomp .
                ln -s ../libtool .
                make || die
                cd ..
        fi
}

!!!And sorry for my bad english
Comment 5 Ryan Phillips (RETIRED) gentoo-dev 2005-02-06 17:47:36 UTC
Committed.