From: Wouter S. <ws...@Cs...> - 2005-11-08 23:22:30
|
Dear all, I've been trying to install wxhaskell on my iBook, so far to no avail. I'm running 10.4 with Wolfgang Thaller's ghc version 6.4.1 and XCode 2.1. So far I have managed to build managed to build and install wxMac 2.6.2 (which oddly enough seems to correspond to wxwidgets 2.5.3). Wxhaskell configures as follows: configuration: library: wxhaskell-0.9.4 (release 0) compiler: ghc-6.4.1 wxwidgets: mac-2.5.3 with openGL: no library dir: /usr/local/wxhaskell/lib But building gives me the error attached at the bottom of this message. I tried the binaries provided, but alas: > ghc -package wx HelloWorld.hs -o hello HelloWorld.hs:4:0: Failed to load interface for `Graphics.UI.WX': Bad interface file: /usr/local/wxhaskell/lib/imports/ Graphics/UI/WX.hi mismatched interface file versions: expected 6041, found 6040 Any clues as to what's amiss would be greatly appreciated. Thanks in advance, --Wouter Compilation error: g++ -c wxc/src/ewxw_main.cpp -o out/wxc/ewxw_main.o -MD -I/usr/lib/wx/ include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 -D__WXDEBUG__ - D__WXMAC__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA - Iwxc/include wxc/include/wrapper.h: In constructor 'ELJDragDataObject::ELJDragDataObject(void*, char*, int (*)(void*), int (*)(void*, void*), int (*)(void*, int, const void*))': wxc/include/wrapper.h:172: error: invalid conversion from 'char*' to 'long unsigned int' wxc/include/wrapper.h:172: error: initializing argument 1 of 'wxDataFormat::wxDataFormat(long unsigned int)' wxc/include/wrapper.h: In constructor 'ELJTextValidator::ELJTextValidator(void*, void*, void*, long int)': wxc/include/wrapper.h:257: error: ambiguous overload for 'operator=' in '((ELJTextValidator*)this)->ELJTextValidator::buf = (const char*) _txt' /usr/include/wx-2.5/wx/string.h:643: note: candidates are: wxString& wxString::operator=(int) <near match> /usr/include/wx-2.5/wx/string.h:856: note: wxString& wxString::operator=(wxChar) <near match> /usr/include/wx-2.5/wx/string.h:863: note: wxString& wxString::operator=(const wxWCharBuffer&) <near match> /usr/include/wx-2.5/wx/string.h:919: note: wxString& wxString::operator=(const wxString&) <near match> wxc/include/wrapper.h: At global scope: wxc/include/wrapper.h:330: error: conflicting return type specified for 'virtual char* ELJConnection::OnRequest(const wxString&, const wxString&, int*, wxIPCFormat)' /usr/include/wx-2.5/wx/ipcbase.h:85: error: overriding 'virtual wxChar* wxConnectionBase::OnRequest(const wxString&, const wxString&, int*, wxIPCFormat)' wxc/include/wrapper.h: In constructor 'ELJConnection::ELJConnection (char*, int)': wxc/include/wrapper.h:300: error: no matching function for call to 'wxTCPConnection::wxTCPConnection(char*&, int&)' /usr/include/wx-2.5/wx/sckipc.h:106: note: candidates are: wxTCPConnection::wxTCPConnection(const wxTCPConnection&) /usr/include/wx-2.5/wx/sckipc.h:65: note: wxTCPConnection::wxTCPConnection() /usr/include/wx-2.5/wx/sckipc.h:64: note: wxTCPConnection::wxTCPConnection(wxChar*, int) wxc/include/wrapper.h: In constructor 'ELJPrintout::ELJPrintout (void*, void*, void*, void*, void*, void*, void*, void*, void*, void*)': wxc/include/wrapper.h:412: error: conversion from 'char*' to 'const wxString' is ambiguous /usr/include/wx-2.5/wx/string.h:659: note: candidates are: wxString::wxString(wxChar, size_t) <near match> /usr/include/wx-2.5/wx/string.h:649: note: wxString::wxString(int) <near match> wxc/include/wrapper.h: In constructor 'ELJPreviewFrame::ELJPreviewFrame(void*, void*, void*, void*, void*, void*, void*, int, int, int, int, int)': wxc/include/wrapper.h:474: error: conversion from 'char*' to 'const wxString' is ambiguous /usr/include/wx-2.5/wx/string.h:659: note: candidates are: wxString::wxString(wxChar, size_t) <near match> /usr/include/wx-2.5/wx/string.h:649: note: wxString::wxString(int) <near match> make: *** [out/wxc/ewxw_main.o] Error 1 This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. |
From: Eric Y. K. <Eri...@lo...> - 2005-11-09 09:47:04
|
On Tue, Nov 08, 2005 at 23:20:02 +0000, Wouter Swierstra wrote: > I've been trying to install wxhaskell on my iBook, so far to no =20 > avail. I'm running 10.4 with Wolfgang Thaller's ghc version 6.4.1 and =20 > XCode 2.1. So far I have managed to build managed to build and =20 > install wxMac 2.6.2 (which oddly enough seems to correspond to =20 > wxwidgets 2.5.3). Hi, 1. For wxhaskell's configure, you need to pass the flag=20 --wx-config=3D/usr/local/bin/wx-config=20 (or wherever it is you installed wxWidgets 2.6.2) 2. For wxWidget's configure on the Mac, you must also pass --disable-shared. This is not related to problem you are having yet; just warning you in advance. If somebody could explain why this is neccesary, that'd be great. All i know is that it avoids things blowing up 3. As for the compilation error, either: A) wxWidgets should be configured --disable-unicode=20 B) *or* you should patch wxhaskell using the following: http://www.loria.fr/~kow/download/patch-wxhaskell-unicode-05 Cheers, --=20 Eric Kow http://www.loria.fr/~kow PGP Key ID: 08AC04F9 Merci de corriger mon fran=E7ais. |
From: Anatoly Z. <ana...@gm...> - 2005-11-09 09:56:27
|
High, Wouter! > wxc/include/wrapper.h:172: error: invalid conversion from 'char*' to > 'long unsigned int' > wxc/include/wrapper.h:172: error: initializing argument 1 of > 'wxDataFormat::wxDataFormat(long unsigned int)' > ... This is a unicode problem: when configuring wxWidgets with --enable-unicode "wxChar" is not "char". So you should rebuild wxWidgets with --disable-unicode or apply the great patch from Eric Y. Kow to wxhaskell (look for his posts on this list). Hope this helps. |
From: Wouter S. <ws...@Cs...> - 2005-11-09 11:02:36
|
Thanks for all the help! There are all sorts of things going a bit awry. Arthur Baars pointed out that Tiger comes with a built-in wxWidgets for wxPython. That was explained the odd version mismatch I was getting. So far, I've rebuilt wxMac, disabling unicode and with the disable shared flags. Then I configured wxHaskell with the right wxWidgets: >./configure --wx-config=/usr/local/bin/wx-config I no longer run into the unicode problem - but now receive the following message: g++ -c wxc/src/ewxw/eljcolour.cpp -o out/wxc/ewxw/eljcolour.o -MD -I/ usr/local/lib/wx/include/mac-ansi-release-static-2.6 -I/usr/local/ include/wx-2.6 -D__WXMAC__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES - DNO_GCC_PRAGMA -Iwxc/include wxc/src/ewxw/eljcolour.cpp: In function 'int wxColour_GetPixel(void*)': wxc/src/ewxw/eljcolour.cpp:81: error: invalid conversion from 'const unsigned char*' to 'int' wxc/src/ewxw/eljcolour.cpp: In function 'int wxColour_ValidName(void*)': wxc/src/ewxw/eljcolour.cpp:96: warning: 'FindColour' is deprecated (declared at /usr/local/include/wx-2.6/wx/gdicmn.h:492) make: *** [out/wxc/ewxw/eljcolour.o] Error 1 Does this ring any bells? More configuration problems? Note that by default, I'm using gcc 4.0. Thanks again you guys, --Wouter This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. |
From: Eric Y. K. <Eri...@lo...> - 2005-11-09 11:27:57
|
Oh yeah,=20 I had that problem too and silently suppressed it in my -05 patch. The basic problem is that wxColour::GetPixel behaves differently on different platforms. I've found that editing the file wxc/src/ewxw/eljcolour.cpp and commenting out altogether the wxColour_GetPixel function helps. On Wed, Nov 09, 2005 at 10:59:29 +0000, Wouter Swierstra wrote: > g++ -c wxc/src/ewxw/eljcolour.cpp -o out/wxc/ewxw/eljcolour.o -MD -I/=20 > usr/local/lib/wx/include/mac-ansi-release-static-2.6 -I/usr/local/=20 > include/wx-2.6 -D__WXMAC__ -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -=20 > DNO_GCC_PRAGMA -Iwxc/include > wxc/src/ewxw/eljcolour.cpp: In function 'int wxColour_GetPixel(void*)': > wxc/src/ewxw/eljcolour.cpp:81: error: invalid conversion from 'const =20 > unsigned char*' to 'int' > wxc/src/ewxw/eljcolour.cpp: In function 'int wxColour_ValidName(void*)': > wxc/src/ewxw/eljcolour.cpp:96: warning: 'FindColour' is deprecated =20 > (declared at /usr/local/include/wx-2.6/wx/gdicmn.h:492) > make: *** [out/wxc/ewxw/eljcolour.o] Error 1 --=20 Eric Kow http://www.loria.fr/~kow PGP Key ID: 08AC04F9 Merci de corriger mon fran=E7ais. |