From: Howard B. G. <hg...@so...> - 2005-05-17 18:38:43
|
Hi, I am trying to compile wxhaskell-0.9.4 using the Gentoo ebuild. I have already reported the problem below to Gentoo, but I believe that the issue may be answered here instead, since it may be related to wxhaskell and wxwidgets, not just Gentoo. PROBLEM: Compile errors ("no member named...") in wxc/src/db.cpp: RELEVANT OUTPUT: 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. 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 I would appreciate any suggestions you can offer. Thanks in advance. Howard B. Golden Northridge, California, USA |