Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 92827 - dev-haskell/wxhaskell-0.9.4 ebuild: compile error: wxc/src/db.cpp
Summary: dev-haskell/wxhaskell-0.9.4 ebuild: compile error: wxc/src/db.cpp
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-16 12:36 UTC by Howard B. Golden
Modified: 2006-02-17 03:15 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 Howard B. Golden 2005-05-16 12:36:52 UTC
Compile errors ("no member named...") in wxc/src/db.cpp:

i686-pc-linux-gnu-g++ -c wxc/src/db.cpp -o out/wxc/db.o -MD -march=athlon-xp -O2 -pipe -fstack-protector -fPIC -I/usr/lib/wx/include/gtk2-ansi-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA   -Iwxc/include
wxc/src/db.cpp: In function `int wxDbColInf_GetColumnSize(wxDbColInf*)':
wxc/src/db.cpp:1035: error: 'class wxDbColInf' has no member named 'columnSize'
wxc/src/db.cpp: In function `int wxDbColInf_GetBufferLength(wxDbColInf*)':
wxc/src/db.cpp:1044: error: 'class wxDbColInf' has no member named 'bufferLength'
wxc/src/db.cpp: In function `wxDbColInf* wxDb_GetResultColumns(wxDb*, int*)':
wxc/src/db.cpp:1158: error: 'class wxDbColInf' has no member named 'columnSize'
make: *** [out/wxc/db.o] Error 1

------------------------------------
My hypothesis of the problem:

1. The code is looking for the #define of wxUSE_ODBC (at line 3 of wxc/src/db.cpp).

2. While I believe this (wxUSE_ODBC) should be defined, I'm hypothesizing that it isn't set anywhere (e.g., in a configuration file or an earlier include).

3. If wxUSE_ODBC isn't defined, then wx/db.h will NOT be included. Instead stub definitions of wxDb, wxDbColInf, wxDbInf, and wxDbTableInf will be used.

4. Since these stub definitions don't have and members, any attempt to reference members of these classes will fail.

5. It appears to me that this is what is happening in the error messages shown above.

6. I don't know where the definition of wxUSE_ODBC _should_be_ coming from, if my hypotheses are correct, so I don't have a solution at present.

Reproducible: Always
Steps to Reproduce:
emerge wxhaskell
Actual Results:  
See above for error messages received.

Expected Results:  
Compilation should have completed normally.

Here is my specific Haskell and wxwidgets setup:

* Using /usr/lib/wx/config/gtk2-ansi-release-2.6
checking system:
 wx-config found
 ghc found
 ghc-pkg found
 haddock found
 install program found

configuration:
 library:     wxhaskell-0.9.4  (release 0)
 compiler:    ghc-6.4
 wxwidgets:   gtk-2.6.0
 with openGL: yes
 library dir: /var/tmp/portage/wxhaskell-0.9.4/image///usr/lib/ghc-6.4

Portage 2.0.51.22 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0,
2.6.11-gentoo-r5 i686)
=================================================================
System uname: 2.6.11-gentoo-r5 i686 AMD Athlon(tm) XP 2200+
Gentoo Base System version 1.6.11
ccache version 2.4 [enabled]
dev-lang/python:     2.1.3-r1, 2.2.3-r5, 2.3.5, 2.4-r2
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.15.92.0.2-r8
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fstack-protector"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config
/usr/kde/3.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/lib/fax
/usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/alias
/var/qmail/control /var/spool/fax/etc /var/vpopmail/domains /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://mirror.datapipe.net/gentoo
ftp://gentoo.chem.wisc.edu/gentoo/ ftp://mirror.usu.edu/mirrors/gentoo/"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowex 3dnowext X Xaw3d a52 aac aalib acl acpi acpi4linux adns
alsa amd antlr apache2 apm ared aredmem arts artswrappersuid artworkextra
audiofile avi bash-completion bcmath berkdb bitmap-fonts bonobo bzip2 bzlib c++
calendar caps cdb cdda cddb cdf cdparanoia cdr chroot cjk clamav cln crypt ctype
cups curl curlwrappers dba dbase dbx dio directfb divx4linux djbfft dnd doc
droproot dv dvd dvdr eds emacs emboss encode erandom esd ethereal evo examples
exif fam fastcgi fbcon fdftk flac flatfile font-server foomaticdb
foreign-package foreign-sysvinit fortran freetds ftp gb gcj gcl gd gd-external
gdbm gif ginac glep gmp gnome gnomedb gnuplot gpm graphviz gstreamer gtk gtk2
gtkhtml guile haskell iconv icq idea idl imagemagick imap imlib inifile innodb
insecure-drivers ipv6 jabber jack java javamail jce jdepend jms jpeg jsch junit
jython kde kdeenablefinal kdepim kdexdeltas kerberos latex ldap leim lesstif
libclamav libg++ libgda libwww lids live log4j ltsp lua lzw-tiff mad maildir
mailwrapper matroska mbox mcal mdb memlimit mha mikmod mime ming mmap mmx motif
mozdevelop mozilla moznoirc moznomail mozsvg mozxmlterm mp3 mpeg mysql nas
native ncurses netboot nls nptl nptlonly oav objc ocaml odbc ofx ogg oggvorbis
ooo-kde opengl opens oss pam parse-clocks pcntl pcre pda pdf pdflib pear-db perl
pg-hier pg-intdatetime php pic pie plotutils png posix postgres postgresql ppds
pwdb python qt quicktime radeon rdesktop readline rhino ruby ruby18 samba sasl
sdk sdl session sguil simplexml skey slang slp snmp soap sockets speex spell spl
sql sqlite sse ssl subversion svg svga tcltk tcpd tetex theora threads tidy tiff
tokenizer truetype truetype-fonts type1 type1-fonts unicode usb utf8 vhosts
vorbis wddx win32codecs winbind wmf wxwin wxwindows xalan xemacs xerces xine xml
xml2 xmlrpc xmms xpm xv xvid xvmc yahoo yv12 zeo zlib video_cards_radeon
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Comment 1 Howard B. Golden 2005-05-18 16:14:48 UTC
I contacted the wxhaskell-users at sourceforge mailing list with the above bug
description. Here is the reply I received:

"Yes, it is a bug. Thanks for your detailed analysis. I will try
to fix it by adding some dummy members."

"Thanks
-- Daan Leijen."
Comment 2 Duncan Coutts (RETIRED) gentoo-dev 2006-02-17 02:49:58 UTC
I think this is the same issue as bug #110932. Bascially wxHaskell doesn't work with wxGTK that has been built with odbc (or indeed unicode) support.

I'm going to change the wxhaskell ebuilds to require wxGTK to be built with USE="-odbc -unicode".
Comment 3 Duncan Coutts (RETIRED) gentoo-dev 2006-02-17 03:12:52 UTC
*** Bug 110932 has been marked as a duplicate of this bug. ***
Comment 4 Duncan Coutts (RETIRED) gentoo-dev 2006-02-17 03:15:04 UTC
I've made the wxhaskell ebuilds check to see if wxGTK was built with odbc and if so give a helpful error message.

If there are any patches from upstream to get wxHaskell to work with wxGTK built with odbc then we can look again at this issue.

So unless someone thinks there's any more we can do now I'm closing this bug.