|
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
|