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
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."
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".
*** Bug 110932 has been marked as a duplicate of this bug. ***
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.