Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 242150 - sci-physics/root-5.20.00-r1 configure:cannot find odbc library
Summary: sci-physics/root-5.20.00-r1 configure:cannot find odbc library
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-15 08:44 UTC by Juergen Rose
Modified: 2008-12-04 18:24 UTC (History)
1 user (show)

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


Attachments
Correct incdir for sqlext.h (breaks worse) (Test-where-odbc-headers-are-actually-installed.patch,824 bytes, patch)
2008-10-15 23:31 UTC, Benjamin Bannier
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2008-10-15 08:44:23 UTC
If libiodbc is not installed 'emerge sci-physics/root' fails with:
Checking for libiodbc, libodbc, or odbc32 ... /usr/lib64
Explicitly required ODBC dependencies not fulfilled
 * 
 * ERROR: sci-physics/root-5.20.00-r1 failed.

I have the following USE flags:
root@deer:/root(64)# emerge -pvD root

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sci-physics/root-5.20.00-r1  USE="emacs fftw kerberos ldap math mysql odbc postgres python reflex ssl xml -afs -cern -clarens -debug -doc -geant4 -oracle -pythia6 -pythia8 -qt4 -ruby -xrootd" 0 kB

if 

Reproducible: Always




root@deer:/root(67)# emerge --info
Portage 2.2_rc12 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.26-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-glibc2.2.5
Timestamp of tree: Tue, 14 Oct 2008 05:06:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/science /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi administrator afs aiglx alsa amd64 amrr ao aotuv apache2 asf atlas auctex audacious audiofile automount bash-completion beagle berkdb bjam blas bluetooth bonobo boo boost bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli corba cracklib cran crypt cups curl cxx daap dbus device-mapper dga dia divx djvu dlloader dmi dri ds3490 dv dvb dvd dvdr dvi dxr3 dynagraph eds effects elf emacs emboss encode epiphany esd evo examples exif expat extra fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx galago gd gdal gdbm geos gif gimp gimpprint ginac glade glitz gml gmp gnokii gnome gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened hddtemp hdf hdf5 hlapi http hvm iconv icq icu id3 imagemagick imap innodb ipv6 irda irmc isdnlog ithreads jabber java jbig john jpeg jpeg2k kerberos kexi keyring ladspa lame lapack latex lcms ldap libffi libgda libsamplerate lirc lm_sensors lua lzo lzw mad maildir math matroska midi mmx mmxext mng mod mono motif mozdevelop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs numarray numeric nvidia obex ocaml octave odbc ogdi ogg ole opengl openmp pae pam pcre pda pdf perl plotutils plugins png posix postgres postscript pppd preview-latex proj projectx pstricks python qhull quicktime readline reflection reiserfs rhythmbox rle rpc rrdcgi rrdtool samba sasl science sdl session slang slp smp sndfile snmp soup sox speex spell spl sqlite sse sse2 ssl stlport subtitles subversion suexec svg sysfs t1lib tcl tcpd tex theora threads thunderbird tidy tiff tk truetype unicode userlocales utempter v4l2 vorbis wmf wxwindows xattr xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-10-15 18:58:09 UTC
The ebuild does depend properly on either of two ODBC libraries, so I changed the Summary to reflect that:
odbc? ( || ( dev-db/unixODBC dev-db/libiodbc ) )

Which of those do you have installed (or better yet, which did you install to get configure to accept it)?
Comment 2 Benjamin Bannier 2008-10-15 23:31:12 UTC
Created attachment 168622 [details, diff]
Correct incdir for sqlext.h (breaks worse)

Hi,

just ran into the same issue. The problem is that unixODBC and libiodbc seem to install their headers in different directories.

The patch I attach seems straightforward, but is not working here on my system. Some "nice" problem with cint. Disabling reflex does not help and thankfully cint removes its guilty output to cover it's tracks.

Cint's cry of dead from src_compile is:
Generating dictionary sql/odbc/src/G__ODBC.cxx...
core/utils/src/rootcint_tmp -cint -f sql/odbc/src/G__ODBC.cxx -c -I/usr/include/ sql/odbc/inc/TODBCResult.h sql/odbc/inc/TODBCRow.h sql/odbc/inc/TODBCServer.h sql/odbc/inc/TODBCStatement.h sql/odbc/inc/LinkDef.h
#error "You need a ISO C conforming compiler to use the glibc headers"
Error: Missing one of '
^M\/' expected at or after line 89.
Error: Unexpected end of file (G__fgetstream():2) /usr/include//sys/cdefs.h:349:
Error: Symbol extern"C"{ # define __need_size_t # define __need_NULL # include<stddef is not defined in current scope  /usr/include//stdio.h:45:
Error: Failed to evaluate extern"C"{ # define __need_size_t # define __need_NULL # include<stddef.h> # include<bits/types
Error: Failed to evaluate extern"C"{ # define __need_size_t # define __need_NULL # include<stddef.h> # include<bits/types.h> # define __need_FILE # define __need___FILE #endif #if !defined __FILE_defined&& defined __need_FILE struct _IO_FILE
Error: Symbol __BEGIN_NAMESPACE_STDtypedefstruct_IO_FILEFILE is not defined in current scope  /usr/include//stdio.h:49:
Error: Missing one of '{' expected at or after line 91.
Error: Unexpected end of file (G__fignorestream():3) /usr/include//stdio.h:853:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing sql/odbc/src/G__ODBC.cxx sql/odbc/src/G__ODBC.h !!!
Error: core/utils/src/rootcint_tmp: error loading headers...
make: *** [sql/odbc/src/G__ODBC.cxx] Error 1
make: *** Waiting for unfinished jobs....
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx


Benjamin
Comment 3 Sébastien Fabbro (RETIRED) gentoo-dev 2008-12-04 18:24:01 UTC
Just committed 5.20.00-r2, where libiodbc is forced. Not a clean solution, but not time for more.
If someone comes up with a better one, please re-open this bug. 
Thanks all.