Share

wxHaskell

Tracker: Bugs

5 make / cabal build both fail / error in makefile - ID: 2865654
Last Update: Comment added ( fis )


I am using debian lenny with ghc 6.10.4-20090719. I have tried both 'cabal
unpack wxcore' and 'darcs get http://darcs.haskell.org/wxhaskell/'.

On 6.10.4, it seems like generation of config/config.mk is broken:

$ runghc ./Setup.lhs build
makefile:890: warning: overriding commands for target
`dist/wxc/libwxc--i/usr/lib/wx/include/base-unicode-release-2'
makefile:885: warning: ignoring old commands for target
`dist/wxc/libwxc--i/usr/lib/wx/include/base-unicode-release-2'
makefile:890: warning: overriding commands for target
`-i/usr/include/wx-2'
makefile:885: warning: ignoring old commands for target
`-i/usr/include/wx-2'
makefile:890: warning: overriding commands for target
`-d_file_offset_bits=64'
makefile:885: warning: ignoring old commands for target
`-d_file_offset_bits=64'
makefile:890: warning: overriding commands for target `-d_large_files'
makefile:885: warning: ignoring old commands for target `-d_large_files'
makefile:890: warning: overriding commands for target `-dwxuse_gui=0'
makefile:885: warning: ignoring old commands for target `-dwxuse_gui=0'
makefile:894: warning: overriding commands for target
`dist/wxc/libwxc--i/usr/lib/wx/include/base-unicode-release-2'
makefile:890: warning: ignoring old commands for target
`dist/wxc/libwxc--i/usr/lib/wx/include/base-unicode-release-2'
makefile:894: warning: overriding commands for target
`-i/usr/include/wx-2'
makefile:890: warning: ignoring old commands for target
`-i/usr/include/wx-2'
makefile:894: warning: overriding commands for target
`-d_file_offset_bits=64'
makefile:890: warning: ignoring old commands for target
`-d_file_offset_bits=64'
makefile:894: warning: overriding commands for target `-d_large_files'
makefile:890: warning: ignoring old commands for target `-d_large_files'
makefile:894: warning: overriding commands for target `-dwxuse_gui=0'
makefile:890: warning: ignoring old commands for target `-dwxuse_gui=0'
ghc -c wxdirect/src/MultiSet.hs -o dist/wxdirect/MultiSet.o -idist/wxdirect
-odir dist/wxdirect -hidir dist/wxdirect -package parsec-3.0.0 -package
time-1.1.4
ghc -c wxdirect/src/HaskellNames.hs -o dist/wxdirect/HaskellNames.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/Types.hs -o dist/wxdirect/Types.o -idist/wxdirect -odir
dist/wxdirect -hidir dist/wxdirect -package parsec-3.0.0 -package
time-1.1.4
ghc -c wxdirect/src/ParseEiffel.hs -o dist/wxdirect/ParseEiffel.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/ParseC.hs -o dist/wxdirect/ParseC.o -idist/wxdirect
-odir dist/wxdirect -hidir dist/wxdirect -package parsec-3.0.0 -package
time-1.1.4
ghc -c wxdirect/src/Classes.hs -o dist/wxdirect/Classes.o -idist/wxdirect
-odir dist/wxdirect -hidir dist/wxdirect -package parsec-3.0.0 -package
time-1.1.4
ghc -c wxdirect/src/DeriveTypes.hs -o dist/wxdirect/DeriveTypes.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileHeader.hs -o dist/wxdirect/CompileHeader.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileClassTypes.hs -o
dist/wxdirect/CompileClassTypes.o -idist/wxdirect -odir dist/wxdirect
-hidir dist/wxdirect -package parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileClassInfo.hs -o dist/wxdirect/CompileClassInfo.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileClasses.hs -o dist/wxdirect/CompileClasses.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileDefs.hs -o dist/wxdirect/CompileDefs.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/CompileSTC.hs -o dist/wxdirect/CompileSTC.o
-idist/wxdirect -odir dist/wxdirect -hidir dist/wxdirect -package
parsec-3.0.0 -package time-1.1.4
ghc -c wxdirect/src/Main.hs -o dist/wxdirect/Main.o -idist/wxdirect -odir
dist/wxdirect -hidir dist/wxdirect -package parsec-3.0.0 -package
time-1.1.4
ghc -package containers-0.2.0.1 -package parsec-3.0.0 -package time-1.1.4
-o dist/wxdirect/wxdirect dist/wxdirect/MultiSet.o
dist/wxdirect/HaskellNames.o dist/wxdirect/Types.o
dist/wxdirect/ParseEiffel.o dist/wxdirect/ParseC.o dist/wxdirect/Classes.o
dist/wxdirect/DeriveTypes.o dist/wxdirect/CompileHeader.o
dist/wxdirect/CompileClassTypes.o dist/wxdirect/CompileClassInfo.o
dist/wxdirect/CompileClasses.o dist/wxdirect/CompileDefs.o
dist/wxdirect/CompileSTC.o dist/wxdirect/Main.o
make: *** No rule to make target
`dist/wxc/libwxc--i/usr/lib/wx/include/base-unicode-release-2.8', needed by
`wxc'. Stop.
$ grep TOOLKIT config/config.mk
TOOLKIT=-i/usr/lib/wx/include/base-unicode-release-2.8
-i/usr/include/wx-2.8 -d_file_offset_bits=64 -d_large_files -dwxuse_gui=0
-pthread
$

when i patch the makefile as follows:

@@ -813,7 +813,7 @@ WXC-SRCDIR =$(WXC)/src
WXC-INCDIR =$(WXC)/include

WXC-ARCHIVE =$(WXC-OUTDIR)/lib$(WXC-LIBNAME)-$(BIN-VERSION).a
-WXC-LIB
=$(WXC-OUTDIR)/$(LIB)$(WXC-LIBNAME)-$(BIN-VERSION)$(DLL)
+WXC-LIB
=$(WXC-OUTDIR)/$(LIB)$(WXC-LIBNAME)-$(VERSION)$(DLL)

WXC-OBJS =$(call make-objs, $(WXC-OUTDIR), $(WXC-SOURCES))
WXC-DEPS =$(call make-deps, $(WXC-OUTDIR), $(WXC-SOURCES))

... it is not inconsistent any more, but then i get this:

$ cabal build
g++ -c wxc/src/ewxw_main.cpp -o dist/wxc/ewxw_main.o -MD
-DwxcREFUSE_MEDIACTRL -DwxcREFUSE_OPENGL
-I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/include/wx-2.8
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DwxUSE_GUI=0 -pthread -fPIC
-Iwxc/include
In file included from /usr/include/wx-2.8/wx/generic/imaglist.h:16,
from /usr/include/wx-2.8/wx/imaglist.h:48,
from wxc/include/wrapper.h:34,
from wxc/src/ewxw_main.cpp:1:
/usr/include/wx-2.8/wx/icon.h:48: error: expected constructor, destructor,
or type conversion before '&' token
/usr/include/wx-2.8/wx/icon.h:48: error: expected ',' or '...' before '&'
token
/usr/include/wx-2.8/wx/icon.h:48: error: ISO C++ forbids declaration of
'wxIcon' with no type
In file included from /usr/include/wx-2.8/wx/imaglist.h:48,
from wxc/include/wrapper.h:34,
from wxc/src/ewxw_main.cpp:1:
/usr/include/wx-2.8/wx/generic/imaglist.h:39: error: 'wxIcon' does not name
a type
In file included from /usr/include/wx-2.8/wx/window.h:23,
from /usr/include/wx-2.8/wx/generic/splitter.h:15,
from /usr/include/wx-2.8/wx/splitter.h:44,
from wxc/include/wrapper.h:36,
from wxc/src/ewxw_main.cpp:1:
/usr/include/wx-2.8/wx/cursor.h: In constructor
'wxBusyCursorSuspender::wxBusyCursorSuspender()':
/usr/include/wx-2.8/wx/cursor.h:65: error: 'wxIsBusy' was not declared in
this scope
/usr/include/wx-2.8/wx/cursor.h:67: error: 'wxBusyCursor' has not been
declared
/usr/include/wx-2.8/wx/cursor.h:67: error: 'wxSetCursor' was not declared
in this scope
/usr/include/wx-2.8/wx/cursor.h: In destructor
'wxBusyCursorSuspender::~wxBusyCursorSuspender()':
/usr/include/wx-2.8/wx/cursor.h:72: error: 'wxIsBusy' was not declared in
this scope
/usr/include/wx-2.8/wx/cursor.h:74: error: 'wxBusyCursor' has not been
declared
/usr/include/wx-2.8/wx/cursor.h:74: error: 'wxSetCursor' was not declared
in this scope
In file included from /usr/include/wx-2.8/wx/window.h:26,
from /usr/include/wx-2.8/wx/generic/splitter.h:15,
from /usr/include/wx-2.8/wx/splitter.h:44,
from wxc/include/wrapper.h:36,
from wxc/src/ewxw_main.cpp:1:
/usr/include/wx-2.8/wx/region.h: In member function 'bool
wxRegionBase::Intersect(const wxRect&)':
/usr/include/wx-2.8/wx/region.h:251: error: invalid use of incomplete type
'struct wxRegion'
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of 'struct
wxRegion'
/usr/include/wx-2.8/wx/region.h: In member function 'bool
wxRegionBase::Subtract(const wxRect&)':
/usr/include/wx-2.8/wx/region.h:256: error: invalid use of incomplete type
'struct wxRegion'
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of 'struct
wxRegion'
/usr/include/wx-2.8/wx/region.h: In member function 'bool
wxRegionBase::Xor(const wxRect&)':
/usr/include/wx-2.8/wx/region.h:261: error: invalid use of incomplete type
'struct wxRegion'
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of 'struct
wxRegion'
In file included from /usr/include/wx-2.8/wx/generic/splitter.h:15,
from /usr/include/wx-2.8/wx/splitter.h:44,
from wxc/include/wrapper.h:36,
from wxc/src/ewxw_main.cpp:1:
/usr/include/wx-2.8/wx/window.h: At global scope:
/usr/include/wx-2.8/wx/window.h:82: error: field 'font' has incomplete
type
/usr/include/wx-2.8/wx/window.h:85: error: field 'colFg' has incomplete
type
/usr/include/wx-2.8/wx/window.h:89: error: field 'colBg' has incomplete
type
/usr/include/wx-2.8/wx/window.h:914: error: 'wxUpdateUIEvent' has not been
declared
/usr/include/wx-2.8/wx/window.h:1095: error: 'wxSysColourChangedEvent' has
not been declared
/usr/include/wx-2.8/wx/window.h:1096: error: 'wxInitDialogEvent' has not
been declared
/usr/include/wx-2.8/wx/window.h:1097: error: 'wxMouseEvent' has not been
declared
...

I can get on the irc channel if somebody wants to walk me through this, but
perhaps it's something really simple?


Matthias Fischmann ( fis ) - 2009-09-24 10:37

5

Open

None

Nobody/Anonymous

None

None

Public


Comments ( 2 )




Date: 2009-09-24 11:26
Sender: fis

cool, i'll wait for that.

please drop a note here if you do, then i'll tell you if it helped.

(additional info: just tried to 'cabal install wx' with the ghc-6.8.2
coming with lenny, with the same result as above.)



Date: 2009-09-24 10:53
Sender: koweyProject Admin

Note that there's some new Cabalisation work that I expect to see landing
in the main repository soon enough. This work may solve your problem along
the way.


Log in to comment.

Attached File

No Files Currently Attached

Change

No changes have been made to this artifact.