aMule Forum

English => Multiplatform => Mac OSX => Topic started by: mirko.g on September 06, 2009, 05:58:55 PM

Title: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 06, 2009, 05:58:55 PM
Are there any known issues building aMule on wxWidgets 2.9?

As far as I understand we have to wait for 2.9 being stable to get a Snow Leopard "native" aMule...
In most cases Snowie produces 64-bit stuff and wxMac 2.8 leaks 64-bit Carbon support.

So we need wxCocoa which is under development yet...  :-\

UPDATE: We got it working here (http://forum.amule.org/index.php?topic=17222.msg92963#msg92963)!
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: GonoszTopi on September 06, 2009, 10:05:17 PM
None that I know of. Stu worked a lot lately on wx-2.9 compatibility, so it should work now.
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: Kry on September 06, 2009, 10:44:18 PM
Compile, not work necessarily, especially not on wxCocoa.

wxMac 2.8 does not lack 64bits Carbon support, Carbon is simply not 64bits. You can compile 32bit wxMac (carbon) applications for Snow Leopard, or of course try wxCocoa in 2.9, but that'd be fun to say the least.

Read this if you haven't:
http://wiki.wxwidgets.org/Development:_wxMac#Building_under_10.6_Snow_Leopard


Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 07, 2009, 07:05:19 AM
Read this if you haven't:
http://wiki.wxwidgets.org/Development:_wxMac#Building_under_10.6_Snow_Leopard

Thanks, this is what I read before trying... but they don't say you have to (re)install all MacPorts 32-bit...  >:(
I will keep trying the second way...  :D
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: Stu Redman on September 08, 2009, 11:11:27 PM
Stu worked a lot lately on wx-2.9 compatibility, so it should work now.
Main work was rather on wx than on aMule. The networking code has seen big changes, and especially Unix was troublesome to fix. I'm afraid the latest Unix networking patch (61813) didn't make it into 2.9.0 . Does Mac also use Unix networking code (src/unix/sockunix.cpp) ?

Go ahead, try it. I don't have a clue how it behaves on Mac, and I'd like to find out. And the wx guys need the feedback to get 3.0 done.
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 08, 2009, 11:23:42 PM
Does Mac also use Unix networking code (src/unix/sockunix.cpp) ?

As far as I know, yes it does..

Quote
Go ahead, try it. I don't have a clue how it behaves on Mac, and I'd like to find out. And the wx guys need the feedback to get 3.0 done.

I was able to compile wx 2.9... but aMule seems not to recognize wx-config even if it actually exists.  :-\
Still trying different configurations of wx...
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 09, 2009, 03:50:58 PM
I got it!  8)
Now I'm facing a new problem and I need your help boys!!!  :P

How to build aMule while I'm using an unrecognized wxWidgets port? I mean:

Quote
$ ./wx-config --selected-config
osx_cocoa-unicode-release-static-2.9

but

Quote
(allowed values: auto, gtk1, gtk2, msw, motif, x11, mac, mgl, dfb, base)

???
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 09, 2009, 04:11:37 PM
Ok, I answer myself!  :P
"Why don't you use that wonderful Search button over there?!?!?!?!"

Attached is my patch to aMule configure file. (see below)
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: wuischke on September 09, 2009, 04:19:36 PM
Could you please use unified diff format for the patch? (diff -u file.old file.new) It's easier to read.

Apart from that: My compliments for your work here and particularly for creating a patch! Thank you!
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 09, 2009, 05:18:20 PM
Could you please use unified diff format for the patch? (diff -u file.old file.new) It's easier to read.

Apart from that: My compliments for your work here and particularly for creating a patch! Thank you!

I think it's the least I can do... :)
I attached the patch for aMule configure in unified format and a cumulative patch for wxWidgets 2.9.0 to be successfully built with cocoa on Snow Leopard (it seems it will be included in future releases). I included the "large file" support which was missing.
Hope they are the right formats... I don't know how to get rid of those .DS_Store files...
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: Stu Redman on September 09, 2009, 10:35:27 PM
You are trying to build aMule 2.2.5 with wx 2.9. Only aMule SVN builds with it.

And your patch is to the wrong file - configure is generated. The source code for the part you changed is m4/wxwin.m4 . However there is already a toolkit "cocoa" in it (added by Kry) - are you sure that osx_cocoa is correct ?
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: Kry on September 10, 2009, 12:36:06 AM
osx_cocoa is probably the new name. The corect thing to do would be to use the m4 included with wx svn.
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 10, 2009, 06:42:20 AM
You are trying to build aMule 2.2.5 with wx 2.9. Only aMule SVN builds with it.

Oh thanks!  :o

Quote
And your patch is to the wrong file - configure is generated. The source code for the part you changed is m4/wxwin.m4 . However there is already a toolkit "cocoa" in it (added by Kry) - are you sure that osx_cocoa is correct ?

Uhm... I found some old post where this solution was adopted to add a missing toolkit/wx port...
I used --with-osx_cococa to build wxWidgets 2.9.0 and it results in:

Quote
$ ./wx-config --selected-config
osx_cocoa-unicode-release-static-2.9

Using osx_cocoa the selected toolkit check is passed...
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 10, 2009, 09:18:00 AM
This should be the right patch...
BTW, I cannot find any link to cocoa toolkit.  ???
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 10, 2009, 10:10:00 AM
At his point I'm not able to compile aMule (even SVN release)...

wxWidgets 2.9.0 (with patches)
I patched sources to solve a problem with texctrl under cocoa (read this (http://groups.google.com/group/wx-dev/msg/601f74ae1bc6cd39)) and applied this patch (http://trac.wxwidgets.org/changeset/60823#file0) for undefined large file support.
Then, this is the only way I found to compile wxWidgets with no errors:
Quote
$ ./configure --enable-unicode --disable-shared --disable-debug --disable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6

Only some warnings like:
Quote
... "wxEVENTS_COMPATIBILITY_2_8" is not defined

aMule SVN Release 2.2.X
I applied only the patch to add "osx_cocoa" toolkit option to configure file. Then I tried a "no frills" configuration:
Quote
$ ./configure --disable-debug --enable-optimize --with-wxdir=../wxWidgets-2.9.0/ --with-crypto-prefix=/opt/local/ --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local --with-toolkit=osx_cocoa

But make fails after a few lines:
Quote
ECMuleSocket.cpp: In member function ‘virtual int CECMuleSocket::InternalGetLastError()’:
ECMuleSocket.cpp:136: error: ‘wxSOCKET_DUMMY’ was not declared in this scope
ECMuleSocket.cpp:115: warning: enumeration value ‘wxSOCKET_OPTERR’ not handled in switch
make[7]: *** [ECMuleSocket.o] Error 1
make[7]: *** Waiting for unfinished jobs....
In file included from /Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/memory.h:16,
                 from /Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/object.h:20,
                 from /Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/event.h:17,
                 from /Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/socket.h:23,
                 from ECMuleSocket.h:29,
                 from RemoteConnect.h:30,
                 from RemoteConnect.cpp:26:
/Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/string.h: In constructor ‘wxString::iterator::iterator(wxString*, wxStringImpl::iterator)’:
/Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/string.h:1008: warning: declaration of ‘str’ shadows a member of 'this'
/Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/string.h: In constructor ‘wxString::const_iterator::const_iterator(const wxString*, wxStringImpl::const_iterator)’:
/Users/mirko/Desktop/TEMP/wxWidgets-2.9.0/include/wx/string.h:1053: warning: declaration of ‘str’ shadows a member of 'this'
make[6]: *** [all] Error 2
make[5]: *** [all-recursive] Error 1
make[4]: *** [all] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: GonoszTopi on September 10, 2009, 10:55:17 AM
aMule SVN Release 2.2.X
You are trying to build aMule 2.2.5 with wx 2.9. Only aMule SVN builds with it.
He meant trunk, not the 2_2_X branch.
Title: Re: aMule, wxWidgets 2.9.0 and Snow Leopard...
Post by: mirko.g on September 10, 2009, 12:15:25 PM
He meant trunk, not the 2_2_X branch.

Thanks... using the last trunk r9792 I get:

Quote
extern/wxWidgets/listctrl.cpp:374: warning: declaration of ‘Item’ shadows a member of 'this'
extern/wxWidgets/listctrl.cpp: In member function ‘bool MuleExtern::wxListLineData::SetAttributes(wxDC*, const wxListItemAttr*, bool)’:
extern/wxWidgets/listctrl.cpp:1419: error: ‘ControlRef’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:1419: error: ‘IsControlActive’ was not declared in this scope
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxListLineData::Draw(wxDC*)’:
extern/wxWidgets/listctrl.cpp:1483: error: ‘ControlRef’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:1483: error: ‘IsControlActive’ was not declared in this scope
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxListLineData::DrawInReportMode(wxDC*, const wxRect&, const wxRect&, bool)’:
extern/wxWidgets/listctrl.cpp:1546: error: ‘ControlRef’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:1546: error: ‘IsControlActive’ was not declared in this scope
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxListMainWindow::OnScroll(wxScrollWinEvent&)’:
extern/wxWidgets/listctrl.cpp:4871: warning: ‘OnScroll’ is deprecated (declared at /Users/mirko/Desktop/wxWidgets_2.9_trunk/include/wx/scrolwin.h:197)
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxGenericListCtrl::CalculateAndSetHeaderHeight()’:
extern/wxWidgets/listctrl.cpp:4977: error: ‘SInt32’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:4977: error: expected `;' before ‘h’
extern/wxWidgets/listctrl.cpp:4978: error: ‘kThemeMetricListHeaderHeight’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:4978: error: ‘h’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:4978: error: ‘GetThemeMetric’ was not declared in this scope
make[3]: *** [libmuleappgui_a-listctrl.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Now I think I will start from scratch using wxWidgets trunk, since the dev-team released lots of patches...  :-X

EDIT: The above error occurs using wxWidgets 2.9.1 (trunk) too...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 10, 2009, 11:24:01 PM
I knew that thing would bite our ass some day. Just what happens when you hack around in wx source and then update wx.  :-X
Problem code is inside a #ifdef __WXMAC__ , that' s why it works on Windows and Linux.
I'll take a look if I can merge a bit, but that's ticklish and may break 2.8 build of course.

osx_cocoa is probably the new name. The corect thing to do would be to use the m4 included with wx svn.
Except that that one has no cocoa toolkit (and no base either).
Code: [Select]
                    dnl PORT must be one of the allowed values
                    if test "$TOOLKIT" != "gtk1" -a "$TOOLKIT" != "gtk2" -a \
                            "$TOOLKIT" != "msw" -a "$TOOLKIT" != "motif" -a \
                            "$TOOLKIT" != "x11" -a "$TOOLKIT" != "mac" -a \
                            "$TOOLKIT" != "mgl" -a "$TOOLKIT" != "dfb" ; then
                        AC_MSG_ERROR([
    Unrecognized option value (allowed values: auto, gtk1, gtk2, msw, motif, x11, mac, mgl, dfb)
                        ])
                    fi
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 11, 2009, 09:29:24 PM
Try if it works with this patched file. If it does, try again with wx 2.8 if that works still.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 14, 2009, 10:32:02 AM
Try if it works with this patched file. If it does, try again with wx 2.8 if that works still.

We have been unlucky:

Code: [Select]
extern/wxWidgets/listctrl.cpp: In member function ‘int MuleExtern::wxListLineDataArray::Index(const MuleExtern::_wxObjArraywxListLineDataArray&, bool) const’:
extern/wxWidgets/listctrl.cpp:374: warning: declaration of ‘Item’ shadows a member of 'this'
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxListMainWindow::OnScroll(wxScrollWinEvent&)’:
extern/wxWidgets/listctrl.cpp:4867: warning: ‘OnScroll’ is deprecated (declared at /Users/mirko/Desktop/TEMP/wxWidgets_trunk/include/wx/scrolwin.h:197)
extern/wxWidgets/listctrl.cpp: In member function ‘void MuleExtern::wxGenericListCtrl::CalculateAndSetHeaderHeight()’:
extern/wxWidgets/listctrl.cpp:4974: error: ‘kThemeMetricListHeaderHeight’ was not declared in this scope
extern/wxWidgets/listctrl.cpp:4974: error: ‘GetThemeMetric’ was not declared in this scope
make[3]: *** [libmuleappgui_a-listctrl.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 14, 2009, 12:12:10 PM
We have been unlucky:
No, I have been careless.  :-[ Try this one.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 14, 2009, 12:29:19 PM
No, I have been careless.  :-[ Try this one.

No way...  :-[

Code: [Select]
then mv -f ".deps/libmuleappgui_a-MuleListCtrl.Tpo" ".deps/libmuleappgui_a-MuleListCtrl.Po"; else rm -f ".deps/libmuleappgui_a-MuleListCtrl.Tpo"; exit 1; fi
make[3]: *** [libmuleappgui_a-listctrl.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 14, 2009, 05:57:52 PM
Well, at least we've come up to link stage. But you've cropped the actual error message.  :)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 14, 2009, 06:11:29 PM
This is the whole output... attached is better!  ;D
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 14, 2009, 06:51:17 PM
Getting closer.
As a rule of thumb with compiler errors:
- rerun make (it will weed out all that went ok)
- search for the first line with "error" and post evrything from there on (within reason of course)

This error must have been there from the beginning, but you didn't post it.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 09:56:04 AM
It failed again.
This is the re-make log:
Code: [Select]
make  all-recursive
Making all in intl
make[2]: Nothing to be done for `all'.
Making all in po
make[2]: Nothing to be done for `all'.
Making all in docs
Making all in man
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
Making all in libs
Making all in ec
make  all-recursive
Making all in cpp
make  all-am
make[7]: Nothing to be done for `all-am'.
make[6]: Nothing to be done for `all-am'.
Making all in common
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
Making all in utils
make[4]: Nothing to be done for `all-am'.
Making all in pixmaps
make[4]: Nothing to be done for `all-am'.
Making all in skins
make[3]: Nothing to be done for `all'.
rm -f libmuleappcore.a
ar cru libmuleappcore.a libmuleappcore_a-AsyncDNS.o libmuleappcore_a-DeadSourceList.o libmuleappcore_a-FileArea.o libmuleappcore_a-FileAutoClose.o libmuleappcore_a-Scanner.o libmuleappcore_a-Parser.o libmuleappcore_a-PlatformSpecific.o libmuleappcore_a-Entry.o libmuleappcore_a-SearchManager.o libmuleappcore_a-RoutingBin.o libmuleappcore_a-RandomFunctions.o libmuleappcore_a-StateMachine.o libmuleappcore_a-ThreadScheduler.o libmuleappcore_a-UInt128.o
ranlib libmuleappcore.a
rm -f libmuleappgui.a
ar cru libmuleappgui.a libmuleappgui_a-BarShader.o libmuleappgui_a-ChatWnd.o libmuleappgui_a-ColorFrameCtrl.o libmuleappgui_a-CommentDialog.o libmuleappgui_a-CommentDialogLst.o libmuleappgui_a-DirectoryTreeCtrl.o libmuleappgui_a-EditServerListDlg.o libmuleappgui_a-listctrl.o libmuleappgui_a-FileDetailListCtrl.o libmuleappgui_a-MuleGifCtrl.o libmuleappgui_a-MuleListCtrl.o libmuleappgui_a-MuleNotebook.o libmuleappgui_a-MuleTextCtrl.o libmuleappgui_a-MuleCollection.o libmuleappgui_a-muuli_wdr.o
ranlib libmuleappgui.a
rm -f libmuleappcommon.a
ar cru libmuleappcommon.a libmuleappcommon_a-CFile.o libmuleappcommon_a-DataToText.o libmuleappcommon_a-ED2KLink.o libmuleappcommon_a-MagnetURI.o libmuleappcommon_a-MemFile.o libmuleappcommon_a-NetworkFunctions.o libmuleappcommon_a-Packet.o libmuleappcommon_a-RLE.o libmuleappcommon_a-SafeFile.o libmuleappcommon_a-SHA.o libmuleappcommon_a-Tag.o libmuleappcommon_a-Timer.o
ranlib libmuleappcommon.a
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -I/opt/local/include/upnp   -DENABLE_UPNP=1 -D_THREAD_SAFE   -I/Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/wx/include/osx_cocoa-unicode-release-static-2.9 -I/Users/mirko/Desktop/TEMP/wxWidgets_trunk/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -I./libs -Ilibs -I./include -I/opt/local//include -D__WEAK_CRYPTO__ -I/opt/local/include -W -Wall -Wshadow -Wundef    -MT amule-amule.o -MD -MP -MF ".deps/amule-amule.Tpo" -c -o amule-amule.o `test -f 'amule.cpp' || echo './'`amule.cpp; \
then mv -f ".deps/amule-amule.Tpo" ".deps/amule-amule.Po"; else rm -f ".deps/amule-amule.Tpo"; exit 1; fi
amule.cpp:98:69: error: wx/mac/corefoundation/cfstring.h: No such file or directory
In file included from /opt/local/include/upnp/upnp.h:505,
                 from UPnPCompatibility.h:31,
                 from UPnPBase.h:37,
                 from amule.cpp:88:
/opt/local/include/upnp/upnpdebug.h:130: warning: unused parameter ‘log_level’
/opt/local/include/upnp/upnpdebug.h:171: warning: unused parameter ‘ErrFileName’
/opt/local/include/upnp/upnpdebug.h:171: warning: unused parameter ‘InfoFileName’
/opt/local/include/upnp/upnpdebug.h:194: warning: unused parameter ‘level’
/opt/local/include/upnp/upnpdebug.h:194: warning: unused parameter ‘module’
/opt/local/include/upnp/upnpdebug.h:223: warning: unused parameter ‘DLevel’
/opt/local/include/upnp/upnpdebug.h:223: warning: unused parameter ‘Module’
/opt/local/include/upnp/upnpdebug.h:268: warning: unused parameter ‘DLevel’
/opt/local/include/upnp/upnpdebug.h:268: warning: unused parameter ‘Module’
/opt/local/include/upnp/upnpdebug.h:268: warning: unused parameter ‘DbgFileName’
/opt/local/include/upnp/upnpdebug.h:268: warning: unused parameter ‘DbgLineNo’
/opt/local/include/upnp/upnpdebug.h:268: warning: unused parameter ‘FmtStr’
/opt/local/include/upnp/upnpdebug.h:297: warning: unused parameter ‘fd’
/opt/local/include/upnp/upnpdebug.h:297: warning: unused parameter ‘lines’
/opt/local/include/upnp/upnpdebug.h:297: warning: unused parameter ‘size’
/opt/local/include/upnp/upnpdebug.h:297: warning: unused parameter ‘starlength’
/opt/local/include/upnp/upnpdebug.h:324: warning: unused parameter ‘fd’
/opt/local/include/upnp/upnpdebug.h:324: warning: unused parameter ‘DbgFileName’
/opt/local/include/upnp/upnpdebug.h:324: warning: unused parameter ‘DbgLineNo’
amule.cpp: In member function ‘virtual bool CamuleApp::OnInit()’:
amule.cpp:850: error: ‘wxMacCFStringHolder’ was not declared in this scope
make[3]: *** [amule-amule.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Attached the full make log.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 15, 2009, 01:15:23 PM
listctrl seems fine at last.  :)
The remake log is enough, you can even remove the noise before the first if g++ line.
Next step. I'm flying blind here, just try it. If it fails again, just remove the two #if __WXMAC__ blocks at lines 96  and 842. It's just code for loading amuleweb from a "bundle" (whatever that is, remember I have no clue about macs). aMule will run without it.  :P
And you don't need a full remake. Just drop in the modified amule.cpp and make it.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 03:31:49 PM
It failed even without the cited blocks:
Code: [Select]
g++ -W -Wall -Wshadow -Wundef  -bind_at_load -lpthread  -o amule  amule-CaptchaDialog.o amule-CaptchaGenerator.o amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.o amule-CorruptionBlackBox.o amule-DownloadClient.o amule-DownloadQueue.o amule-ECSpecialCoreTags.o amule-EMSocket.o amule-EncryptedStreamSocket.o amule-EncryptedDatagramSocket.o amule-ExternalConn.o amule-Friend.o amule-FriendList.o amule-HTTPDownload.o amule-IPFilter.o amule-KnownFileList.o amule-ListenSocket.o amule-MuleUDPSocket.o amule-SearchFile.o amule-SearchList.o amule-ServerConnect.o amule-ServerList.o amule-ServerSocket.o amule-ServerUDPSocket.o amule-SharedFileList.o amule-ThreadTasks.o amule-UploadBandwidthThrottler.o amule-UploadClient.o amule-UploadQueue.o amule-Indexed.o amule-Kademlia.o amule-Prefs.o amule-Search.o amule-UDPFirewallTester.o amule-KademliaUDPListener.o amule-PacketTracking.o amule-Contact.o amule-RoutingZone.o amule-UPnPBase.o amule-amule-gui.o amule-amuleDlg.o amule-AddFriend.o amule-CatDialog.o amule-ChatSelector.o amule-ClientDetailDialog.o amule-FileDetailDialog.o amule-KadDlg.o amule-OScopeCtrl.o amule-PartFileConvert.o amule-PrefsUnifiedDlg.o amule-SearchDlg.o amule-ServerWnd.o amule-SharedFilesWnd.o amule-StatisticsDlg.o amule-SearchListCtrl.o amule-DownloadListCtrl.o amule-ClientListCtrl.o amule-FriendListCtrl.o amule-ServerListCtrl.o amule-SharedFilesCtrl.o amule-MuleTrayIcon.o amule-MuleColour.o amule-TransferWnd.o  amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.o amule-GapList.o amule-GetTickCount.o amule-GuiEvents.o amule-Logger.o amule-PartFile.o amule-Preferences.o amule-Proxy.o amule-Server.o amule-Statistics.o amule-StatTree.o amule-SHAHashSet.o amule-TerminationProcess.o amule-TerminationProcessAmuleweb.o amule-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec   -lz  -L/opt/local//lib -lcryptopp -L. -lmuleappcore -L/opt/local/lib   -lupnp -lthreadutil -lixml    -L. -lmuleappgui  -L/Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib   -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_osx_cocoau_adv-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_osx_cocoau_core-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_baseu-2.9.a -framework WebKit -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv     
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
Undefined symbols:
  "_iconv_open", referenced from:
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
  "_iconv", referenced from:
      wxMBConv_iconv::ToWChar(wchar_t*, unsigned long, char const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::ToWChar(wchar_t*, unsigned long, char const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::FromWChar(char*, unsigned long, wchar_t const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::FromWChar(char*, unsigned long, wchar_t const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::GetMBNulLen() const  in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
  "_iconv_close", referenced from:
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [amule] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: wuischke on September 15, 2009, 03:34:57 PM
This doesn't look like a problem caused by aMule. Could you please check if libiconv is compiled for both 32 bit and 64 bit? (It should be part of the core system, it is required for gettext for instance.)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 03:46:36 PM
This doesn't look like a problem caused by aMule. Could you please check if libiconv is compiled for both 32 bit and 64 bit? (It should be part of the core system, it is required for gettext for instance.)

I use libiconv from MacPorts and is compiled for 64 bit only, like all portfiles under Snow Leopard:
Code: [Select]
$ file /opt/local/lib/libiconv.dylib
/opt/local/lib/libiconv.dylib: Mach-O 64-bit dynamically linked shared library x86_64

$ file /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 15, 2009, 03:57:53 PM
You are not alone with this problem. (http://discussions.apple.com/thread.jspa?threadID=1931034&tstart=-2)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 04:06:11 PM
You are not alone with this problem. (http://discussions.apple.com/thread.jspa?threadID=1931034&tstart=-2)

Well... but the portfile should be built from scratch and should have nothing in common with libiconv from Apple.
This is why I'm not using the "ready_for_use" libiconv into /usr/lib. Do you mean that there's something wrong with Mac OS itself?  :-\
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 15, 2009, 04:14:06 PM
There is a lot wrong with Mac OS itself.  ;D
I can't really help you with this one - you probably know more about it then me.

Now please run aMule's configure with --disable-nls , clean, rebuild and see if that works around the problem. (And please use my patched amule.cpp instead of the one where you removed the sections. These two problems are unrelated.)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 04:33:16 PM
No way...  :(

Code: [Select]
g++ -W -Wall -Wshadow -Wundef  -bind_at_load -lpthread  -o amule  amule-CaptchaDialog.o amule-CaptchaGenerator.o amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.o amule-CorruptionBlackBox.o amule-DownloadClient.o amule-DownloadQueue.o amule-ECSpecialCoreTags.o amule-EMSocket.o amule-EncryptedStreamSocket.o amule-EncryptedDatagramSocket.o amule-ExternalConn.o amule-Friend.o amule-FriendList.o amule-HTTPDownload.o amule-IPFilter.o amule-KnownFileList.o amule-ListenSocket.o amule-MuleUDPSocket.o amule-SearchFile.o amule-SearchList.o amule-ServerConnect.o amule-ServerList.o amule-ServerSocket.o amule-ServerUDPSocket.o amule-SharedFileList.o amule-ThreadTasks.o amule-UploadBandwidthThrottler.o amule-UploadClient.o amule-UploadQueue.o amule-Indexed.o amule-Kademlia.o amule-Prefs.o amule-Search.o amule-UDPFirewallTester.o amule-KademliaUDPListener.o amule-PacketTracking.o amule-Contact.o amule-RoutingZone.o amule-UPnPBase.o amule-amule-gui.o amule-amuleDlg.o amule-AddFriend.o amule-CatDialog.o amule-ChatSelector.o amule-ClientDetailDialog.o amule-FileDetailDialog.o amule-KadDlg.o amule-OScopeCtrl.o amule-PartFileConvert.o amule-PrefsUnifiedDlg.o amule-SearchDlg.o amule-ServerWnd.o amule-SharedFilesWnd.o amule-StatisticsDlg.o amule-SearchListCtrl.o amule-DownloadListCtrl.o amule-ClientListCtrl.o amule-FriendListCtrl.o amule-ServerListCtrl.o amule-SharedFilesCtrl.o amule-MuleTrayIcon.o amule-MuleColour.o amule-TransferWnd.o  amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.o amule-GapList.o amule-GetTickCount.o amule-GuiEvents.o amule-Logger.o amule-PartFile.o amule-Preferences.o amule-Proxy.o amule-Server.o amule-Statistics.o amule-StatTree.o amule-SHAHashSet.o amule-TerminationProcess.o amule-TerminationProcessAmuleweb.o amule-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec   -lz  -L/opt/local//lib -lcryptopp -L. -lmuleappcore -L/opt/local/lib   -lupnp -lthreadutil -lixml    -L. -lmuleappgui  -L/Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib   -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_osx_cocoau_adv-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_osx_cocoau_core-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_trunk/lib/libwx_baseu-2.9.a -framework WebKit -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv    
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
Undefined symbols:
  "_iconv_open", referenced from:
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
  "_iconv", referenced from:
      wxMBConv_iconv::ToWChar(wchar_t*, unsigned long, char const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::ToWChar(wchar_t*, unsigned long, char const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::FromWChar(char*, unsigned long, wchar_t const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::FromWChar(char*, unsigned long, wchar_t const*, unsigned long) constin libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::GetMBNulLen() const  in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_baseu-2.9.a(baselib_strconv.o)
  "_iconv_close", referenced from:
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_baseu-2.9.a(baselib_strconv.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [amule] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

EDIT: I used
Code: [Select]
./configure --disable-debug --with-wxdir=../wxWidgets_trunk/ --with-crypto-prefix=/opt/local/ --with-gdlib-config=/opt/local/bin/gdlib-config --disable-nls --with-toolkit=osx_cocoa
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 15, 2009, 05:11:28 PM
Uhm... there's something still not clear to me. I cannot forget this (http://forum.amule.org/index.php?topic=13920.msg92460#msg92460) strange behavior: what if the same error occurred with libiconv?
Code: [Select]
$ locate libiconv
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.2.2.0.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.2.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libiconv.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_have_libiconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.2.4.0.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.2.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libiconv.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_libiconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libiconv.2.4.0.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libiconv.2.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libiconv.dylib
/opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.a
/opt/local/lib/libiconv.dylib
/opt/local/lib/libiconv.la
/opt/local/share/doc/libiconv-1.13
/opt/local/share/doc/libiconv-1.13/iconv.1.html
/opt/local/share/doc/libiconv-1.13/iconv.3.html
/opt/local/share/doc/libiconv-1.13/iconv_close.3.html
/opt/local/share/doc/libiconv-1.13/iconv_open.3.html
/opt/local/share/doc/libiconv-1.13/iconv_open_into.3.html
/opt/local/share/doc/libiconv-1.13/iconvctl.3.html
/opt/local/var/macports/distfiles/libiconv
/opt/local/var/macports/distfiles/libiconv/libiconv-1.13.tar.gz
/opt/local/var/macports/receipts/libiconv
/opt/local/var/macports/receipts/libiconv/1.13_0
/opt/local/var/macports/receipts/libiconv/1.13_0/receipt.bz2
/opt/local/var/macports/software/libiconv
/opt/local/var/macports/software/libiconv/1.13_0
/opt/local/var/macports/software/libiconv/1.13_0/opt
/opt/local/var/macports/software/libiconv/1.13_0/opt/local
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/bin
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/bin/iconv
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/include
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/include/iconv.h
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/include/libcharset.h
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/include/localcharset.h
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libcharset.1.dylib
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libcharset.a
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libcharset.dylib
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libcharset.la
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libiconv.2.dylib
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libiconv.a
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libiconv.dylib
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libiconv.la
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconv.1.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconv.3.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconv_close.3.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconv_open.3.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconv_open_into.3.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/doc/libiconv-1.13/iconvctl.3.html
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man1
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man1/iconv.1.gz
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3/iconv.3.gz
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3/iconv_close.3.gz
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3/iconv_open.3.gz
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3/iconv_open_into.3.gz
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/share/man/man3/iconvctl.3.gz
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv/Portfile
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv/files
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv/files/patch-Makefile.devel
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv/files/patch-src-Makefile.in-darwin.diff
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv/files/patch-utf8mac.diff
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/recode/files/patch-src_libiconv.c.diff
/usr/include/php/ext/iconv/php_have_libiconv.h
/usr/lib/libiconv.2.4.0.dylib
/usr/lib/libiconv.2.dylib
/usr/lib/libiconv.dylib

and
Code: [Select]
$ locate iconv.h
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/iconv.h
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/php/ext/iconv/php_iconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/iconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_have_bsd_iconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_have_glibc_iconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_have_iconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_have_libiconv.h
/Developer/SDKs/MacOSX10.5.sdk/usr/include/php/ext/iconv/php_iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_bsd_iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_glibc_iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_ibm_iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_iconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_have_libiconv.h
/Developer/SDKs/MacOSX10.6.sdk/usr/include/php/ext/iconv/php_iconv.h
/opt/local/include/iconv.h
/opt/local/var/macports/software/libiconv/1.13_0/opt/local/include/iconv.h
/usr/include/iconv.h
/usr/include/php/ext/iconv/php_have_bsd_iconv.h
/usr/include/php/ext/iconv/php_have_glibc_iconv.h
/usr/include/php/ext/iconv/php_have_ibm_iconv.h
/usr/include/php/ext/iconv/php_have_iconv.h
/usr/include/php/ext/iconv/php_have_libiconv.h
/usr/include/php/ext/iconv/php_iconv.h
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 15, 2009, 06:23:19 PM
You are using the header from /opt/local/include, and probably the dynamic lib from /usr/lib (with the matching header in /usr/include). That's the problem I'd guess. Why do you have two in the first place?
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 10:03:57 AM
You are using the header from /opt/local/include, and probably the dynamic lib from /usr/lib (with the matching header in /usr/include). That's the problem I'd guess. Why do you have two in the first place?

The one in /usr/lib is provided by Apple and I suppose it comes with Xcode 3.2, while the one in /opt/local/lib has been installed by me through macports...
How to prevent aMule from searching in any other folder?
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: wuischke on September 16, 2009, 10:31:49 AM
I'm no expert, but I believe that's currently not possible without hacks.

Try replacing "-liconv" with the path to the library file, for instance "/opt/local/var/macports/software/libiconv/1.13_0/opt/local/lib/libiconv.a" (this should link libiconv statically preventing problems on other computers without the Macports libiconv).
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: GonoszTopi on September 16, 2009, 10:44:04 AM
Now, before starting to add evil hacks to aMule, it's wxWidgets that fails to link with libiconv. Do you still have the config.log from the wxWidgets configuration? Also, if you remember, the configure flags used.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 10:55:28 AM
Now, before starting to add evil hacks to aMule, it's wxWidgets that fails to link with libiconv. Do you still have the config.log from the wxWidgets configuration? Also, if you remember, the configure flags used.

These are the configure flags I used:
Code: [Select]
./configure --enable-unicode --disable-shared --disable-debug --disable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6
and this is the last portion of the config log...
Code: [Select]
Libtiff is now configured for i386-apple-darwin10.0.0

  Installation directory:             /usr/local
  Documentation directory:            ${prefix}/share/doc/tiff-3.8.2
  C compiler:                         gcc -g -O2 -Wall -W
  C++ compiler:                       g++ -g -O2
  Enable runtime linker paths:        no
  Support Microsoft Document Imaging: yes

 Support for internal codecs:
  CCITT Group 3 & 4 algorithms:       yes
  Macintosh PackBits algorithm:       yes
  LZW algorithm:                      yes
  ThunderScan 4-bit RLE algorithm:    yes
  NeXT 2-bit RLE algorithm:           yes
  LogLuv high dynamic range encoding: yes

 Support for external codecs:
  ZLIB support:                       yes
  Pixar log-format algorithm:         yes
  JPEG support:                       no
  Old JPEG support:                   no

  C++ support:                        yes

  OpenGL support:                     no


Configured wxWidgets 2.9.0 for `i686-apple-darwin10.0.0'

  Which GUI toolkit should wxWidgets use?                 osx_cocoa
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be compiled in debug mode?             no
  Should wxWidgets be linked as a shared library?         no
  Should wxWidgets support Unicode?                       yes (using UTF-8)
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.6      no
                                       wxWidgets 2.8      no
  Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               builtin
                                       png                builtin
                                       regex              builtin
                                       tiff               builtin
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                no

Anyway, I'm building from scratch last wxWidgets trunk (r61942)...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 16, 2009, 11:04:38 AM
Please post the full log.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 11:42:12 AM
I have just (successfully) built last revision of wxWidgets with:
Code: [Select]
./configure --enable-unicode --disable-shared --disable-debug --disable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6 --with-libiconv-prefix=/opt/local/and I got the attached conflog.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 12:05:18 PM
Great... thank you all! With the config above I was able to build aMule... now we have to make it working!  :P
It crashes after a couple of seconds... crashlog attached.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 12:11:11 PM
Config flags I used to build amule:
Code: [Select]
./configure --disable-debug --with-wxdir=../wxWidgets_r61942/ --with-crypto-prefix=/opt/local/ --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local --with-toolkit=osx_cocoaThere is the conflog attached.

And this is what I got from mac_packager:
Code: [Select]
$ ./src/utils/scripts/mac_packager

-n Step 1: Cleaning bundle...
Done

-n Step 2: Copying aMule to app bundle...
cp: src/webserver/src/amuleweb: No such file or directory
cp: src/amulecmd: No such file or directory
Done

-n Step 3: Installing translations to app bundle...
Done

Step 4: Copying libs to Framework
    wxWidgets...
otool: can't open file: aMule.app/Contents/MacOS/amuleweb (No such file or directory)
otool: can't open file: aMule.app/Contents/MacOS/amulecmd (No such file or directory)
Libs copy done.

Step 5: Update libs info
    Updating libixml.2.dylib
    Updating aMule lib info for libixml.2.dylib
otool: can't open file: MacOS/amuleweb (No such file or directory)
otool: can't open file: MacOS/amulecmd (No such file or directory)
    Updating libthreadutil.2.dylib
    Updating aMule lib info for libthreadutil.2.dylib
otool: can't open file: MacOS/amuleweb (No such file or directory)
otool: can't open file: MacOS/amulecmd (No such file or directory)
    Updating libupnp.3.dylib
    Updating aMule lib info for libupnp.3.dylib
otool: can't open file: MacOS/amuleweb (No such file or directory)
otool: can't open file: MacOS/amulecmd (No such file or directory)
Libs info updated, aMule.app is ready to package.

-n Creating aMule.zip...
Done

I added since there is no aMule.zip in the folder...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 16, 2009, 01:42:17 PM
Now - how did you solve the libiconv problem? Did it just vanish with the new wx SVN? (Or with the way you built it...)
Code: [Select]
Dyld Error Message:
  Library not loaded: @executable_path/../Frameworks/libupnp.3.dylib
  Referenced from: /Users/mirko/Desktop/TEMP/aMule-SVN-r9803/aMule.app/Contents/MacOS/amule
  Reason: no suitable image found.  Did find:
/Users/mirko/Desktop/TEMP/aMule-SVN-r9803/aMule.app/Contents/MacOS/../Frameworks/libupnp.3.dylib: no matching architecture in universal wrapper
/Users/mirko/Desktop/TEMP/aMule-SVN-r9803/aMule.app/Contents/MacOS/../Frameworks/libupnp.3.dylib: no matching architecture in universal wrapper
Either solve that, or recompile aMule without uPnP.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 02:23:18 PM
Now - how did you solve the libiconv problem? Did it just vanish with the new wx SVN? (Or with the way you built it...)

I think it depends on the way I built wxWidgets:
./configure --enable-unicode --disable-shared --disable-debug --disable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6 --with-libiconv-prefix=/opt/local

I suppose libiconv prefix is needed on Snow Leopard since there is a libiconv included into the core system now.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 02:29:05 PM
Either solve that, or recompile aMule without uPnP.

Uhm... I don't understand that error:
Code: [Select]
$ ls -la /opt/local/lib/libupnp*
-rwxr-xr-x  2 root  admin  153596  2 Set 16:53 /opt/local/lib/libupnp.3.0.5.dylib
lrwxr-xr-x  1 root  admin      19  2 Set 16:53 /opt/local/lib/libupnp.3.dylib -> libupnp.3.0.5.dylib
-rw-r--r--  2 root  admin  234136  2 Set 16:53 /opt/local/lib/libupnp.a
lrwxr-xr-x  1 root  admin      19  2 Set 16:53 /opt/local/lib/libupnp.dylib -> libupnp.3.0.5.dylib
-rwxr-xr-x  2 root  admin     879  2 Set 16:53 /opt/local/lib/libupnp.la

$ file /opt/local/lib/libupnp.3.0.5.dylib
/opt/local/lib/libupnp.3.0.5.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 16, 2009, 02:34:51 PM
Well, it's trying to load
Code: [Select]
/Users/mirko/Desktop/TEMP/aMule-SVN-r9803/aMule.app/Contents/MacOS/../Frameworks/libupnp.3.dyliband not the file you examined. And don't ask me how to set up search paths for dynamic libraries on Mac. You are the Mac guy.  ;)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 03:54:30 PM
I tried to add --with-libupnp-prefix=/opt/local/ but that issue is still there. So I disabled UPnP support (--disable-upnp).
I got the first aMule warning box ("It seems this is the first time you launch aMule..." or something similar), but it suddenly crashes ofter this alert...

The log is attached....
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: GonoszTopi on September 16, 2009, 03:57:13 PM
The log is attached....
Best would be a gdb backtrace (http://wiki.amule.org/index.php/Backtraces).
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 03:59:57 PM
Best would be a gdb backtrace (http://wiki.amule.org/index.php/Backtraces).

Ok, let me build aMule with debug enabled...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: GonoszTopi on September 16, 2009, 04:02:22 PM
I tried to add --with-libupnp-prefix=/opt/local/ but that issue is still there. So I disabled UPnP support (--disable-upnp).

Either remove libupnp.3.dylib, libixml.2.dylib and libthreadutil.2.dylib from aMule.app/Contents/Frameworks or copy there the ones from your system.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 16, 2009, 04:08:18 PM
but it suddenly crashes ofter this alert...
Comment out line 219 of amuleDlg.cpp
Code: [Select]
// SetIcon(wxICON(aMule));and retry. (And yeah, building with debug options is always a good idea for highly unstable software.  ;) )

All this is a very normal development process in case you wonder, just dragged out a little due to the communication overhead.  :)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 06:17:30 PM
This is my awesome backtrace!!!  :P
Hope this is useful... tomorrow I'll try again... :-)

@Stu I'm learning... so I'm just interested in everything you can teach!!! :-)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: Stu Redman on September 16, 2009, 07:09:53 PM
Great!

However - just
Comment out line 219 of amuleDlg.cpp
Code: [Select]
// SetIcon(wxICON(aMule));and retry.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 16, 2009, 11:55:26 PM
I started from scratch. I successfully built wxWidget r61946 and tried to build the brand new amule r9807 with the following modifications:

Maybe I missed something else, but even if I used the same configure flags, it failed...  ???
The last point is the only one which wasn't applied in the last successfully built aMule... Could it depend on this?
Code: [Select]
ar cru libmuleappcore.a libmuleappcore_a-AsyncDNS.o libmuleappcore_a-DeadSourceList.o libmuleappcore_a-FileArea.o libmuleappcore_a-FileAutoClose.o libmuleappcore_a-Scanner.o libmuleappcore_a-Parser.o libmuleappcore_a-PlatformSpecific.o libmuleappcore_a-Entry.o libmuleappcore_a-SearchManager.o libmuleappcore_a-RoutingBin.o libmuleappcore_a-RandomFunctions.o libmuleappcore_a-StateMachine.o libmuleappcore_a-ThreadScheduler.o libmuleappcore_a-UInt128.o
ranlib libmuleappcore.a
rm -f libmuleappgui.a
ar cru libmuleappgui.a libmuleappgui_a-BarShader.o libmuleappgui_a-ChatWnd.o libmuleappgui_a-ColorFrameCtrl.o libmuleappgui_a-CommentDialog.o libmuleappgui_a-CommentDialogLst.o libmuleappgui_a-EditServerListDlg.o libmuleappgui_a-listctrl.o libmuleappgui_a-FileDetailListCtrl.o libmuleappgui_a-MuleGifCtrl.o libmuleappgui_a-MuleListCtrl.o libmuleappgui_a-MuleNotebook.o libmuleappgui_a-MuleTextCtrl.o libmuleappgui_a-MuleCollection.o libmuleappgui_a-muuli_wdr.o
ranlib libmuleappgui.a
rm -f libmuleappcommon.a
ar cru libmuleappcommon.a libmuleappcommon_a-CFile.o libmuleappcommon_a-DataToText.o libmuleappcommon_a-ED2KLink.o libmuleappcommon_a-MagnetURI.o libmuleappcommon_a-MemFile.o libmuleappcommon_a-NetworkFunctions.o libmuleappcommon_a-Packet.o libmuleappcommon_a-RLE.o libmuleappcommon_a-SafeFile.o libmuleappcommon_a-SHA.o libmuleappcommon_a-Tag.o libmuleappcommon_a-Timer.o
ranlib libmuleappcommon.a
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -I/opt/local/include/upnp   -DENABLE_UPNP=1 -D_THREAD_SAFE   -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61946/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61946/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -I./libs -Ilibs -I./include -I/opt/local//include -D__WEAK_CRYPTO__ -I/opt/local/include -W -Wall -Wshadow -Wundef    -MT amule-ECSpecialMuleTags.o -MD -MP -MF ".deps/amule-ECSpecialMuleTags.Tpo" -c -o amule-ECSpecialMuleTags.o `test -f 'ECSpecialMuleTags.cpp' || echo './'`ECSpecialMuleTags.cpp; \
then mv -f ".deps/amule-ECSpecialMuleTags.Tpo" ".deps/amule-ECSpecialMuleTags.Po"; else rm -f ".deps/amule-ECSpecialMuleTags.Tpo"; exit 1; fi
ECSpecialMuleTags.cpp: In constructor ‘CEC_Prefs_Packet::CEC_Prefs_Packet(uint32, EC_DETAIL_LEVEL, EC_DETAIL_LEVEL)’:
ECSpecialMuleTags.cpp:287: error: call of overloaded ‘CECTag(ECTagNames, size_t&)’ is ambiguous
./libs/ec/cpp/ECTag.h:114: note: candidates are: CECTag::CECTag(ec_tagname_t, const char*) <near match>
./libs/ec/cpp/ECTag.h:113: note:                 CECTag::CECTag(ec_tagname_t, const wxChar*) <near match>
./libs/ec/cpp/ECTag.h:112: note:                 CECTag::CECTag(ec_tagname_t, const wxString&)
./libs/ec/cpp/ECTag.h:108: note:                 CECTag::CECTag(ec_tagname_t, const std::string&) <near match>
./libs/ec/cpp/ECTag.h:107: note:                 CECTag::CECTag(ec_tagname_t, double)
./libs/ec/cpp/ECTag.h:106: note:                 CECTag::CECTag(ec_tagname_t, uint64_t)
./libs/ec/cpp/ECTag.h:105: note:                 CECTag::CECTag(ec_tagname_t, uint32_t)
./libs/ec/cpp/ECTag.h:104: note:                 CECTag::CECTag(ec_tagname_t, uint16_t)
./libs/ec/cpp/ECTag.h:103: note:                 CECTag::CECTag(ec_tagname_t, uint8_t)
./libs/ec/cpp/ECTag.h:102: note:                 CECTag::CECTag(ec_tagname_t, bool)
make[3]: *** [amule-ECSpecialMuleTags.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard...
Post by: mirko.g on September 17, 2009, 09:44:10 AM
Ladies and Gentlemen - drumroll - we got it!

At 9:30 a.m. (GMT +2) aMule r9803 was born, about 26.6 MB sized, and it is 64 bit!

(http://www.lemiefrequenze.org/blog/wp-content/uploads/2009/09/Schermata-2009-09-17-a-09.33.02.png)

Parents (me and wxWidgets r61942) are proud to announce the glad tidings...

Following the details...

aMule configuration (conflog attached):
Code: [Select]
./configure --disable-debug --with-wxdir=../wxWidgets_r61942/ --with-crypto-prefix=/opt/local/ --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local --with-toolkit=osx_cocoa --disable-upnp
Now it's time to understand how to get UPnP working again...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: wuischke on September 17, 2009, 09:54:59 AM
Wow, nice. :)

Are those all necessary changes to the code or did you change more?
Quote
  • listctrl.cpp provided by Stu
  • amule.cpp provided by Stu
  • configure file with "osx_cocoa" instead of "cocoa"
  • modified amuleDlg.cpp
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 17, 2009, 10:19:17 AM
Wow, nice. :)
Are those all necessary changes to the code or did you change more?

No I didn't change anything else... but we should check the modified files provided by Stu against wx 2.8... Unfortunately I haven't any Mac OS X 10.5 machine at now.
And I suppose we could use osx_cocoa together with and not instead of cocoa: the former depends on --with-osx_cocoa option, the latter on --with-cocoa.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 17, 2009, 12:33:38 PM
I would like to check all the previously working feature and reach an optimized configuration. I will start from wxWidgets and I have some questions:

thanks!  ;)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 17, 2009, 01:43:35 PM
  • Do you think 2.8 compatibility is needed to have aMule working with 2.9+?
I don't know for sure, but we won't drop 2.8 compatibility for an unstable, that's sure. So most likely it doesn't hurt enabling it,  but best is if it works without that.

  • Does aMule use the wxWidgets embedded web browser? Starting from 2.9 you are allowed to use WebKit...
No. We use the wxHTTP class for HTTP downloads, nothing else.

  • Since I saw it somewhere... Does aMule need OpenGL support?
No.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 17, 2009, 05:31:23 PM
Thanks for your answers!

In the meanwhile: wxWidgets r61951 build fails with the same configurations... I hope they will release soon 2.9.1. There are tons of patches released since 2.9.0!
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 17, 2009, 10:53:51 PM
It seems (http://forum.amule.org/index.php?topic=17216.msg92986#msg92986) aMule can't dinamically load libiconv... Do you think it depends on wxWidgets?
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 17, 2009, 11:08:00 PM
More like I think you have a newer version of libiconv than on a fresh Snow Leopard.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 18, 2009, 07:23:15 AM
More like I think you have a newer version of libiconv than on a fresh Snow Leopard.

It's strange... on previous version of Mac OS X libiconv was not provided at all... I thought it was directly included into aMule package (according to --with-libiconv-prefix directive)...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 18, 2009, 09:10:45 AM
Well I checked aMule.app/Content/Framework folders of both Leopard and Snow Leopard version. This is the content on a full featured aMule 2.2.5 built against wxWidgets 2.8:
Code: [Select]
drwxr-xr-x@ 19 mirko  staff      646 28 Ago 14:56 .
drwxr-xr-x@  9 mirko  staff      306 28 Ago 14:56 ..
-rw-r--r--@  1 mirko  staff   212868 28 Ago 14:56 libGeoIP.1.dylib
-rw-r--r--@  1 mirko  staff  1204224 28 Ago 14:56 libX11.6.dylib
-rw-r--r--@  1 mirko  staff    13724 28 Ago 14:56 libXau.6.dylib
-rw-r--r--@  1 mirko  staff    23012 28 Ago 14:56 libXdmcp.6.dylib
-rw-r--r--@  1 mirko  staff    68148 28 Ago 14:56 libXpm.4.dylib
-rw-r--r--@  1 mirko  staff   146384 28 Ago 14:56 libexpat.1.dylib
-rw-r--r--@  1 mirko  staff   201752 28 Ago 14:56 libfontconfig.1.dylib
-rw-r--r--@  1 mirko  staff   540172 28 Ago 14:56 libfreetype.6.dylib
-rw-r--r--@  1 mirko  staff   246612 28 Ago 14:56 libgd.2.dylib
-rw-r--r--@  1 mirko  staff  1065668 28 Ago 14:56 libiconv.2.dylib
-rw-r--r--@  1 mirko  staff    47860 28 Ago 14:56 libintl.8.dylib
-rw-r--r--@  1 mirko  staff    41104 28 Ago 14:56 libixml.2.dylib
-rw-r--r--@  1 mirko  staff   139616 28 Ago 14:56 libjpeg.62.dylib
-rw-r--r--@  1 mirko  staff   154892 28 Ago 14:56 libpng12.0.dylib
-rw-r--r--@  1 mirko  staff    23496 28 Ago 14:56 libthreadutil.2.dylib
-rw-r--r--@  1 mirko  staff   126564 28 Ago 14:56 libupnp.3.dylib
-rw-r--r--@  1 mirko  staff    83040 28 Ago 14:56 libz.1.dylib

And this is the same folder on my last aMule build for Snow Leopard:
Code: [Select]
drwxr-xr-x  5 mirko  staff     170 15 Set 22:37 .
drwxr-xr-x  8 mirko  staff     272 17 Set 09:25 ..
-rwxr-xr-x  1 mirko  staff   89940 17 Set 09:25 libixml.2.dylib
-rwxr-xr-x  1 mirko  staff   48004 17 Set 09:25 libthreadutil.2.dylib
-rwxr-xr-x  1 mirko  staff  255344 17 Set 09:25 libupnp.3.dylib

I think something is missing!  :-\
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 18, 2009, 01:13:04 PM
wxWidgets r61951 build fails with the same configurations...

And now I know why: http://trac.wxwidgets.org/ticket/11203!
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 18, 2009, 02:59:07 PM
aMule r9811 (on wx r61956) build failed (with same flags of the one successfully built):

Code: [Select]
rm -f libmuleappcore.a
ar cru libmuleappcore.a libmuleappcore_a-AsyncDNS.o libmuleappcore_a-DeadSourceList.o libmuleappcore_a-FileArea.o libmuleappcore_a-FileAutoClose.o libmuleappcore_a-Scanner.o libmuleappcore_a-Parser.o libmuleappcore_a-PlatformSpecific.o libmuleappcore_a-Entry.o libmuleappcore_a-SearchManager.o libmuleappcore_a-RoutingBin.o libmuleappcore_a-RandomFunctions.o libmuleappcore_a-StateMachine.o libmuleappcore_a-ThreadScheduler.o libmuleappcore_a-UInt128.o
ranlib libmuleappcore.a
rm -f libmuleappgui.a
ar cru libmuleappgui.a libmuleappgui_a-BarShader.o libmuleappgui_a-ChatWnd.o libmuleappgui_a-ColorFrameCtrl.o libmuleappgui_a-CommentDialog.o libmuleappgui_a-CommentDialogLst.o libmuleappgui_a-EditServerListDlg.o libmuleappgui_a-listctrl.o libmuleappgui_a-FileDetailListCtrl.o libmuleappgui_a-MuleGifCtrl.o libmuleappgui_a-MuleListCtrl.o libmuleappgui_a-MuleNotebook.o libmuleappgui_a-MuleTextCtrl.o libmuleappgui_a-MuleCollection.o libmuleappgui_a-muuli_wdr.o
ranlib libmuleappgui.a
rm -f libmuleappcommon.a
ar cru libmuleappcommon.a libmuleappcommon_a-CFile.o libmuleappcommon_a-DataToText.o libmuleappcommon_a-ED2KLink.o libmuleappcommon_a-MagnetURI.o libmuleappcommon_a-MemFile.o libmuleappcommon_a-NetworkFunctions.o libmuleappcommon_a-Packet.o libmuleappcommon_a-RLE.o libmuleappcommon_a-SafeFile.o libmuleappcommon_a-SHA.o libmuleappcommon_a-Tag.o libmuleappcommon_a-Timer.o
ranlib libmuleappcommon.a
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS   -I/Users/mirko/Desktop/TEMP/wxWidgets_r61956/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/TEMP/wxWidgets_r61956/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -I./libs -Ilibs -I./include -I/opt/local//include -D__WEAK_CRYPTO__ -I/opt/local/include -W -Wall -Wshadow -Wundef    -MT amule-ECSpecialMuleTags.o -MD -MP -MF ".deps/amule-ECSpecialMuleTags.Tpo" -c -o amule-ECSpecialMuleTags.o `test -f 'ECSpecialMuleTags.cpp' || echo './'`ECSpecialMuleTags.cpp; \
then mv -f ".deps/amule-ECSpecialMuleTags.Tpo" ".deps/amule-ECSpecialMuleTags.Po"; else rm -f ".deps/amule-ECSpecialMuleTags.Tpo"; exit 1; fi
ECSpecialMuleTags.cpp: In constructor ‘CEC_Prefs_Packet::CEC_Prefs_Packet(uint32, EC_DETAIL_LEVEL, EC_DETAIL_LEVEL)’:
ECSpecialMuleTags.cpp:287: error: call of overloaded ‘CECTag(ECTagNames, size_t&)’ is ambiguous
./libs/ec/cpp/ECTag.h:114: note: candidates are: CECTag::CECTag(ec_tagname_t, const char*) <near match>
./libs/ec/cpp/ECTag.h:113: note:                 CECTag::CECTag(ec_tagname_t, const wxChar*) <near match>
./libs/ec/cpp/ECTag.h:112: note:                 CECTag::CECTag(ec_tagname_t, const wxString&)
./libs/ec/cpp/ECTag.h:108: note:                 CECTag::CECTag(ec_tagname_t, const std::string&) <near match>
./libs/ec/cpp/ECTag.h:107: note:                 CECTag::CECTag(ec_tagname_t, double)
./libs/ec/cpp/ECTag.h:106: note:                 CECTag::CECTag(ec_tagname_t, uint64_t)
./libs/ec/cpp/ECTag.h:105: note:                 CECTag::CECTag(ec_tagname_t, uint32_t)
./libs/ec/cpp/ECTag.h:104: note:                 CECTag::CECTag(ec_tagname_t, uint16_t)
./libs/ec/cpp/ECTag.h:103: note:                 CECTag::CECTag(ec_tagname_t, uint8_t)
./libs/ec/cpp/ECTag.h:102: note:                 CECTag::CECTag(ec_tagname_t, bool)
make[3]: *** [amule-ECSpecialMuleTags.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 18, 2009, 05:28:36 PM
More like I think you have a newer version of libiconv than on a fresh Snow Leopard.

If I copy libiconv.2.dylib into aMule.app/Contents/Frameworks aMule crashes after 5 seconds with the attached errors.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 18, 2009, 09:40:42 PM
aMule r9811 (on wx r61956) build failed (with same flags of the one successfully built):
Compiled flawlessly on Win32 and Ubuntu (32). Should be fixed in 9812. The other compile junkies seem to be busy with 2.2.6 right now - no post in "compilation problems".

Did you also run it? Does it work?

Committed the patched sources with 9813. What about the configure script? What did you change, and what happens when you run the original one? You know, configure is generated, so you can't simply patch it.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 18, 2009, 11:25:12 PM
What about the configure script? What did you change, [...]? You know, configure is generated, so you can't simply patch it.

mirko.g, if you give me your modified configure script, I'll patch its sources.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 19, 2009, 04:56:30 PM
mirko.g, if you give me your modified configure script, I'll patch its sources.

Thanks!
This is the configure taken from aMule 2.2.6: I added a toolkit entry for both "cocoa" and "osx_cocoa". I'm using the latter indeed (since it seems to be recommended), but I'm not sure the former is deprecated. wxWidgets still provides two distinct features: --with-cocoa and --with-osx_cocoa...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 20, 2009, 03:16:44 AM
The tarball for rev. 9815 contains your changes and some more...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 20, 2009, 10:53:03 AM
For your interest  :D

wxWidgets r61977 + aMule r9814

aMule configuration fails with this error:
Code: [Select]
configure: error:
    The requested wxWidgets build couldn't be found.
    
    The configuration you asked for aMule requires a wxWidgets
    build with the following settings:
        --unicode=yes
    but such build is not available.

wx has been correctly configured with --enable-unicode and I cannot see any error but I guess it's a wx fault...  ::)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 20, 2009, 11:45:10 AM
wxWidgets r61977 + aMule r9814

For that you still use your patched configure script, don't you?

Setting WX_DEBUG_CONFIGURE=1 will provide more information on wx detection, such as
Code: [Select]
$ WX_DEBUG_CONFIGURE=1 ./configure --blahblah

Also, `wx-config --list` and `wx-config --selected-config` might be to your help.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 20, 2009, 11:53:36 AM
For that you still use your patched configure script, don't you?

Yes I do. wx r61977 is the first revision which can be built on Mac since r61942... so I wanted to try it! ^_^
It seems to be all right with wx:
Code: [Select]
./wx-config --list

    Default config is osx_cocoa-unicode-static-2.9

  Default config in /Users/mirko/Desktop/aMule-dev/wxWidgets_r61977 will be used for output
and
Code: [Select]
./wx-config --selected-config
osx_cocoa-unicode-static-2.9
ending with
Code: [Select]
WX_DEBUG_CONFIGURE=1 ./configure --disable-debug --enable-optimize --enable-amulecmd --enable-webserver --enable-cas --enable-alc --enable-alcc --enable-amule-daemon --enable-amule-gui --enable-wxcas --enable-geoip --with-geoip-headers=/opt/local/include --with-geoip-lib=/opt/local/lib --with-wx-config=../wxWidgets_r61977 --with-crypto-prefix=/usr/local/cryptopp --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-apple-darwin10.0.0
checking host system type... i686-apple-darwin10.0.0
checking if this is a FreeBSD 4 or earlier system... no
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for gawk... (cached) awk
checking for egrep... grep -E
checking whether make sets $(MAKE)... (cached) yes
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for bison... bison -y
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for ar... ar
checking for ld... ld
checking for zlib >= 1.1.4... yes (version 1.2.3)
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for gdlib-config... /opt/local/bin/gdlib-config
checking for gdlib version >= 2.0.0... yes (version 2.0.35)
checking gd.h usability... yes
checking gd.h presence... no
configure: WARNING: gd.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: gd.h: proceeding with the compiler's result
checking for gd.h... yes
checking for libpng-config... /opt/local/bin/libpng-config
checking for libpng version >= 1.2.0... yes (version 1.2.38)
checking for File::Copy... ok
checking whether we need the GUI... yes
checking GeoIP.h usability... yes
checking GeoIP.h presence... yes
checking for GeoIP.h... yes
checking for GeoIP_open in -lGeoIP... yes
checking for the --with-toolkit option... will be automatically detected
checking for the --with-wxshared option... will be automatically detected
checking for the --with-wxdebug option... will be automatically detected
checking for the --with-wxversion option... will be automatically detected
[dbg] DEBUG: , WX_DEBUG: auto
[dbg] UNICODE: , WX_UNICODE:
[dbg] SHARED: , WX_SHARED: auto
[dbg] TOOLKIT: auto, WX_TOOLKIT:
[dbg] VERSION: SVN, WX_VERSION: auto
[dbg] WXCONFIG_FLAGS: --unicode=yes
checking for wx-config... ../wxWidgets_r61977
checking for wxWidgets version >= 2.8.8 (--unicode=yes)... no
configure: error:
    The requested wxWidgets build couldn't be found.
   
    The configuration you asked for aMule requires a wxWidgets
    build with the following settings:
        --unicode=yes
    but such build is not available.

    To see the wxWidgets builds available on this system, please use
    'wx-config --list' command. To use the default build, returned by
    'wx-config --selected-config', use the options with their 'auto'
    default values.

    If you still get this error, then check that 'wx-config' is
    in path, the directory where wxWidgets libraries are installed
    (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH
    or equivalent variable and wxWidgets version is 2.8.8 or above.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 20, 2009, 01:13:09 PM
--with-wx-config=../wxWidgets_r61977

Use --with-wx-config=../wxWidgets_r61977/wx-config
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 20, 2009, 02:01:58 PM
Use --with-wx-config=../wxWidgets_r61977/wx-config

Thanks it worked.

I used:
Code: [Select]
./configure --disable-debug --enable-optimize --enable-amulecmd --enable-webserver --enable-cas --enable-alc --enable-alcc --enable-amule-daemon --enable-amule-gui --enable-wxcas --enable-geoip --with-geoip-headers=/opt/local/include --with-geoip-lib=/opt/local/lib --with-wx-config=../wxWidgets_r61977/wx-config --with-crypto-prefix=/opt/local --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local
but make failed:
Code: [Select]
make  all-recursive
Making all in intl
make[2]: Nothing to be done for `all'.
Making all in po
make[2]: Nothing to be done for `all'.
Making all in docs
Making all in man
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
Making all in libs
Making all in ec
make  all-recursive
Making all in cpp
make  all-am
make[7]: Nothing to be done for `all-am'.
make[6]: Nothing to be done for `all-am'.
Making all in common
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
Making all in utils
Making all in cas
Making all in docs
make[5]: Nothing to be done for `all'.
make[5]: Nothing to be done for `all-am'.
Making all in wxCas
Making all in src
if g++ -DHAVE_CONFIG_H -I. -I. -I../../../..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__ -I/opt/local/include -W -Wall -Wshadow -Wundef -O2  -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -MT wxcascte.o -MD -MP -MF ".deps/wxcascte.Tpo" -c -o wxcascte.o wxcascte.cpp; \
then mv -f ".deps/wxcascte.Tpo" ".deps/wxcascte.Po"; else rm -f ".deps/wxcascte.Tpo"; exit 1; fi
wxcascte.cpp:40:67: error: wx/mac/corefoundation/cfstring.h: No such file or directory
wxcascte.cpp: In function ‘wxString GetDefaultAmulesigPath()’:
wxcascte.cpp:136: error: ‘wxMacCFStringHolder’ was not declared in this scope
make[5]: *** [wxcascte.o] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 20, 2009, 02:24:00 PM
In the meanwhile, learning something more about compiling...  :P
Mirko, we need to teach you some dev skills or this will take forever. We are short of a Mac dev at the moment as you might have noticed.

wxcascte.cpp fails to compile with a very similar error as amule.cpp before. Now look at the patch it took to fix amule.cpp:
Code: [Select]
Index: amule.cpp
===================================================================
--- amule.cpp (revision 9812)
+++ amule.cpp (revision 9813)
@@ -95,7 +95,11 @@
 #ifndef AMULE_DAEMON
  #ifdef __WXMAC__
  #include <CoreFoundation/CFBundle.h>  // Do_not_auto_remove
- #include <wx/mac/corefoundation/cfstring.h>  // Do_not_auto_remove
+ #if wxCHECK_VERSION(2, 9, 0)
+ #include <wx/osx/core/cfstring.h>  // Do_not_auto_remove
+ #else
+ #include <wx/mac/corefoundation/cfstring.h>  // Do_not_auto_remove
+ #endif
  #endif
  #include <wx/msgdlg.h>
 
@@ -847,7 +851,11 @@
  if (absoluteUrl) {
  CFStringRef amulewebCfstr = CFURLCopyFileSystemPath(absoluteUrl, kCFURLPOSIXPathStyle);
  CFRelease(absoluteUrl);
+ #if wxCHECK_VERSION(2, 9, 0)
+ amulewebPath = wxCFStringRef(amulewebCfstr).AsString(wxLocale::GetSystemEncoding());
+ #else
  amulewebPath = wxMacCFStringHolder(amulewebCfstr).AsString(wxLocale::GetSystemEncoding());
+ #endif
  }
  }
 #endif
Try to find the corresponding parts in wxcascte.cpp and see if you can fix it yourself. Then post a patch. That will be way more satisfying for you.  :)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 20, 2009, 04:53:00 PM
Mirko, we need to teach you some dev skills or this will take forever. We are short of a Mac dev at the moment as you might have noticed.

Yes Sir!  ;)

Quote
Try to find the corresponding parts in wxcascte.cpp and see if you can fix it yourself. Then post a patch. That will be way more satisfying for you.  :)

Ok I can do it...

(half an hour later)

Well, I came out of this. I attached my patchfile. Now, it seems this occurs with some other files (now I'm on alcframe.cpp). I'll continue patching until I get a new unknown (for me) error.  :)

UPDATE: added alcframe.patch...
UPDATE2: added WebInterface.patch
UPDATE3: I cannot go over here:
Code: [Select]
if g++ -DHAVE_CONFIG_H -I. -I. -I../../..  -I../.. -I../../../src -I../../../src/libs -I../../../src/include -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -DWITH_LIBPNG  -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__ -DwxUSE_GUI=0 -DEC_REMOTE -DWEBSERVERDIR="\"/usr/local/share/amule/webserver\"" -DECSOCKET_USE_EVENTS=0 -I../../../intl  -I/opt/local/include/upnp   -DENABLE_UPNP=1 -I/opt/local/include -W -Wall -Wshadow -Wundef -O2  -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__ -I/opt/local/include/libpng12 -D_THREAD_SAFE    -MT amuleweb-ExternalConnector.o -MD -MP -MF ".deps/amuleweb-ExternalConnector.Tpo" -c -o amuleweb-ExternalConnector.o `test -f '../../../src/ExternalConnector.cpp' || echo './'`../../../src/ExternalConnector.cpp; \
then mv -f ".deps/amuleweb-ExternalConnector.Tpo" ".deps/amuleweb-ExternalConnector.Po"; else rm -f ".deps/amuleweb-ExternalConnector.Tpo"; exit 1; fi
../../../src/ExternalConnector.cpp:610: error: invalid covariant return type for ‘virtual wxStandardPathsBase& CaMuleExternalConnectorTraits::GetStandardPaths()’
/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include/wx/apptrait.h:78: error:   overriding ‘virtual wxStandardPaths& wxAppTraitsBase::GetStandardPaths()’
make[4]: *** [amuleweb-ExternalConnector.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 20, 2009, 06:35:55 PM
Good job! I knew you could do it.  :)
The last one should be easy too. I'm pretty sure that's just part of the legacy stuff obsolete with wx 2.9:
Code: [Select]
Index: ExternalConnector.cpp
===================================================================
--- ExternalConnector.cpp (revision 9816)
+++ ExternalConnector.cpp (working copy)
@@ -599,7 +599,7 @@
  return m_locale == NULL ? wxString() : m_locale->GetCanonicalName();
 }
 
-#if !wxUSE_GUI && defined(__WXMAC__)
+#if !wxUSE_GUI && defined(__WXMAC__) && !wxCHECK_VERSION(2, 9, 0)
 
 #include <wx/apptrait.h> // Do_not_auto_remove
 #include <wx/stdpaths.h> // Do_not_auto_remove
Please verify.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 20, 2009, 06:56:37 PM
Ok I think it worked since now there is a new error:
Code: [Select]
g++     -o amuleweb -bind_at_load -lpthread -L../../libs/common -L../../libs/ec/cpp -L/opt/local/lib  -L/opt/local/lib   amuleweb-WebServer.o amuleweb-WebInterface.o amuleweb-WebSocket.o amuleweb-ExternalConnector.o amuleweb-OtherFunctions.o amuleweb-RLE.o amuleweb-NetworkFunctions.o amuleweb-php_parser.o amuleweb-php_lexer.o amuleweb-php_syntree.o amuleweb-php_amule_lib.o amuleweb-php_core_lib.o amuleweb-UPnPBase.o amuleweb-UPnPCompatibility.o  -lec -lmulecommon -L/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib   -L/opt/local/lib -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/libwx_baseu-2.9.a -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv   -lz -lreadline -lpng12  ../../../intl/libintl.a /opt/local/lib/libiconv.dylib -lupnp -lthreadutil -lixml   
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
Undefined symbols:
  "CaMuleExternalConnector::CreateTraits()", referenced from:
      vtable for CamulewebAppin amuleweb-WebInterface.o
      vtable for CaMuleExternalConnectorin amuleweb-ExternalConnector.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [amuleweb] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

A note about this warning:
Code: [Select]
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in fileI dunno if this is related either to aMule or wx... Apple introduced QuickTimeX with Snow Leopard which uses a rewritten (and 64 bit) Quick Time kit. Somewhere Snow Leopard bring Quick Time too but it's 32-bit.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 20, 2009, 08:01:40 PM
Ok I think it worked since now there is a new error:
Well, it didn't. Code still is used. I'll take another look.

A note about this warning:
Code: [Select]
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in fileI dunno if this is related either to aMule or wx... Apple introduced QuickTimeX with Snow Leopard which uses a rewritten (and 64 bit) Quick Time kit. Somewhere Snow Leopard bring Quick Time too but it's 32-bit.
Why is the -framework QuickTime added to linker options? We shouldn't need Quicktime (or OpenGL).
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 20, 2009, 08:11:42 PM
Ok I think it worked since now there is a new error:

You also have to patch the header (help: ExternalConnector.h).
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 20, 2009, 08:35:49 PM
You're first.  :)

Mirko, please try it, then I'll commit your batch of patches.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 01:57:58 AM
You're first.  :)

Mirko, please try it, then I'll commit your batch of patches.

Now I found a different error:
Code: [Select]
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__ -DwxUSE_GUI=0 -I/opt/local/include/upnp   -DENABLE_UPNP=1 -D_THREAD_SAFE   -I./libs -Ilibs -I./include -I/opt/local/include -D__WEAK_CRYPTO__ -DAMULE_DAEMON  -I/opt/local/include -W -Wall -Wshadow -Wundef -O2  -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/aMule-dev/wxWidgets_r61977/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -MT amuled-amuled.o -MD -MP -MF ".deps/amuled-amuled.Tpo" -c -o amuled-amuled.o `test -f 'amuled.cpp' || echo './'`amuled.cpp; \
then mv -f ".deps/amuled-amuled.Tpo" ".deps/amuled-amuled.Po"; else rm -f ".deps/amuled-amuled.Tpo"; exit 1; fi
In file included from amuled.cpp:26:
amule.h:461: error: ISO C++ forbids declaration of ‘wxStandardPathsBase’ with no type
amule.h:461: error: ‘wxStandardPathsBase’ declared as a ‘virtual’ field
amule.h:461: error: expected ‘;’ before ‘&’ token
amuled.cpp:455: error: no ‘wxStandardPathsBase& CDaemonAppTraits::GetStandardPaths()’ member function declared in class ‘CDaemonAppTraits’
make[3]: *** [amuled-amuled.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I understand it's still related to #ifdef __WXMAC__ but I don't know how to fix it...

P.S.: Attached two patch for ExternalConnector.cpp and ExternalConnector.h!
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 21, 2009, 06:54:21 AM
You have to do the same, i.e. add && !wxCHECK_VERSION(2, 9, 0) to both amule.h and amuled.cpp at around the lines where the error is reported.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 10:48:51 AM
You have to do the same, i.e. add && !wxCHECK_VERSION(2, 9, 0) to both amule.h and amuled.cpp at around the lines where the error is reported.

Done... but it's seems not to be enough...  :-\
Code: [Select]
rm -f libmuleappcore.a
ar cru libmuleappcore.a libmuleappcore_a-AsyncDNS.o libmuleappcore_a-DeadSourceList.o libmuleappcore_a-FileArea.o libmuleappcore_a-FileAutoClose.o libmuleappcore_a-Scanner.o libmuleappcore_a-Parser.o libmuleappcore_a-PlatformSpecific.o libmuleappcore_a-Entry.o libmuleappcore_a-SearchManager.o libmuleappcore_a-RoutingBin.o libmuleappcore_a-RandomFunctions.o libmuleappcore_a-StateMachine.o libmuleappcore_a-ThreadScheduler.o libmuleappcore_a-UInt128.o
ranlib libmuleappcore.a
rm -f libmuleappgui.a
ar cru libmuleappgui.a libmuleappgui_a-BarShader.o libmuleappgui_a-ChatWnd.o libmuleappgui_a-ColorFrameCtrl.o libmuleappgui_a-CommentDialog.o libmuleappgui_a-CommentDialogLst.o libmuleappgui_a-EditServerListDlg.o libmuleappgui_a-listctrl.o libmuleappgui_a-FileDetailListCtrl.o libmuleappgui_a-MuleGifCtrl.o libmuleappgui_a-MuleListCtrl.o libmuleappgui_a-MuleNotebook.o libmuleappgui_a-MuleTextCtrl.o libmuleappgui_a-MuleCollection.o libmuleappgui_a-muuli_wdr.o
ranlib libmuleappgui.a
rm -f libmuleappcommon.a
ar cru libmuleappcommon.a libmuleappcommon_a-CFile.o libmuleappcommon_a-DataToText.o libmuleappcommon_a-ED2KLink.o libmuleappcommon_a-MagnetURI.o libmuleappcommon_a-MemFile.o libmuleappcommon_a-NetworkFunctions.o libmuleappcommon_a-Packet.o libmuleappcommon_a-RLE.o libmuleappcommon_a-SafeFile.o libmuleappcommon_a-SHA.o libmuleappcommon_a-Tag.o libmuleappcommon_a-Timer.o
ranlib libmuleappcommon.a
g++ -W -Wall -Wshadow -Wundef -O2  -bind_at_load -lpthread  -o amule  amule-CaptchaDialog.o amule-CaptchaGenerator.o amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.o amule-CorruptionBlackBox.o amule-DownloadClient.o amule-DownloadQueue.o amule-ECSpecialCoreTags.o amule-EMSocket.o amule-EncryptedStreamSocket.o amule-EncryptedDatagramSocket.o amule-ExternalConn.o amule-Friend.o amule-FriendList.o amule-HTTPDownload.o amule-IPFilter.o amule-KnownFileList.o amule-ListenSocket.o amule-MuleUDPSocket.o amule-SearchFile.o amule-SearchList.o amule-ServerConnect.o amule-ServerList.o amule-ServerSocket.o amule-ServerUDPSocket.o amule-SharedFileList.o amule-ThreadTasks.o amule-UploadBandwidthThrottler.o amule-UploadClient.o amule-UploadQueue.o amule-Indexed.o amule-Kademlia.o amule-Prefs.o amule-Search.o amule-UDPFirewallTester.o amule-KademliaUDPListener.o amule-PacketTracking.o amule-Contact.o amule-RoutingZone.o amule-UPnPBase.o amule-amule-gui.o amule-amuleDlg.o amule-AddFriend.o amule-CatDialog.o amule-ChatSelector.o amule-ClientDetailDialog.o amule-DirectoryTreeCtrl.o amule-FileDetailDialog.o amule-KadDlg.o amule-OScopeCtrl.o amule-PartFileConvert.o amule-PrefsUnifiedDlg.o amule-SearchDlg.o amule-ServerWnd.o amule-SharedFilesWnd.o amule-StatisticsDlg.o amule-SearchListCtrl.o amule-DownloadListCtrl.o amule-ClientListCtrl.o amule-FriendListCtrl.o amule-ServerListCtrl.o amule-SharedFilesCtrl.o amule-MuleTrayIcon.o amule-MuleColour.o amule-TransferWnd.o amule-IP2Country.o amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.o amule-GapList.o amule-GetTickCount.o amule-GuiEvents.o amule-Logger.o amule-PartFile.o amule-Preferences.o amule-Proxy.o amule-Server.o amule-Statistics.o amule-StatTree.o amule-SHAHashSet.o amule-TerminationProcess.o amule-TerminationProcessAmuleweb.o amule-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec   -lz  -L/opt/local/lib -lcryptopp -L. -lmuleappcore -L/opt/local/lib   -lupnp -lthreadutil -lixml    -L. -lmuleappgui  -L/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib   -L/opt/local/lib -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_osx_cocoau_adv-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_osx_cocoau_core-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu-2.9.a -framework WebKit -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv  -L/opt/local/lib -lGeoIP 
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
g++ -W -Wall -Wshadow -Wundef -O2  -bind_at_load -lpthread  -o amulecmd  amulecmd-TextClient.o amulecmd-ExternalConnector.o amulecmd-OtherFunctions.o amulecmd-NetworkFunctions.o  -Llibs/common -Llibs/ec/cpp -lmulecommon -lec -L/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib   -L/opt/local/lib -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu-2.9.a -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv  -lreadline   -lz 
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
g++ -W -Wall -Wshadow -Wundef -O2  -bind_at_load -lpthread  -o ed2k -bind_at_load -lpthread -framework CoreServices ed2k-ED2KLinkParser.o ed2k-MagnetURI.o ed2k-MuleCollection.o   
g++ -W -Wall -Wshadow -Wundef -O2  -bind_at_load -lpthread  -o amulegui  amulegui-amule-remote-gui.o amulegui-amule-gui.o amulegui-amuleDlg.o amulegui-AddFriend.o amulegui-CatDialog.o amulegui-ChatSelector.o amulegui-ClientDetailDialog.o amulegui-DirectoryTreeCtrl.o amulegui-FileDetailDialog.o amulegui-KadDlg.o amulegui-OScopeCtrl.o amulegui-PartFileConvert.o amulegui-PrefsUnifiedDlg.o amulegui-SearchDlg.o amulegui-ServerWnd.o amulegui-SharedFilesWnd.o amulegui-StatisticsDlg.o amulegui-SearchListCtrl.o amulegui-DownloadListCtrl.o amulegui-ClientListCtrl.o amulegui-FriendListCtrl.o amulegui-ServerListCtrl.o amulegui-SharedFilesCtrl.o amulegui-MuleTrayIcon.o amulegui-MuleColour.o amulegui-TransferWnd.o amulegui-IP2Country.o amulegui-ClientCredits.o amulegui-ECSpecialMuleTags.o amulegui-KnownFile.o amulegui-GapList.o amulegui-GetTickCount.o amulegui-GuiEvents.o amulegui-Logger.o amulegui-PartFile.o amulegui-Preferences.o amulegui-Proxy.o amulegui-Server.o amulegui-Statistics.o amulegui-StatTree.o amulegui-SHAHashSet.o amulegui-TerminationProcess.o amulegui-TerminationProcessAmuleweb.o amulegui-UserEvents.o amulegui-OtherFunctions.o amulegui-NetworkFunctions.o amulegui-HTTPDownload.o -L. -lmuleappgui  -L/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib   -L/opt/local/lib -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_osx_cocoau_adv-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_osx_cocoau_core-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu-2.9.a -framework WebKit -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv  -L/opt/local/lib -lGeoIP -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec   -lz  -L/opt/local/lib -lcryptopp -L/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib   -L/opt/local/lib -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL  /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu_net-2.9.a /Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/libwx_baseu-2.9.a -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv   
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -no-cpp-precomp -D_INTL_REDIRECT_MACROS -DNOPCH -DUSE_WX_EXTENSIONS -I/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/TEMP/wxWidgets_r61983/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__ -DwxUSE_GUI=0 -I/opt/local/include/upnp   -DENABLE_UPNP=1 -D_THREAD_SAFE   -I./libs -Ilibs -I./include -I/opt/local/include -D__WEAK_CRYPTO__ -DAMULE_DAEMON  -I/opt/local/include -W -Wall -Wshadow -Wundef -O2  -I/Users/mirko/Desktop/TEMP/wxWidgets_r61983/lib/wx/include/osx_cocoa-unicode-static-2.9 -I/Users/mirko/Desktop/TEMP/wxWidgets_r61983/include -D_FILE_OFFSET_BITS=64 -D__WXOSX_COCOA__  -MT amuled-amuled.o -MD -MP -MF ".deps/amuled-amuled.Tpo" -c -o amuled-amuled.o `test -f 'amuled.cpp' || echo './'`amuled.cpp; \
then mv -f ".deps/amuled-amuled.Tpo" ".deps/amuled-amuled.Po"; else rm -f ".deps/amuled-amuled.Tpo"; exit 1; fi
In file included from amuled.cpp:26:
amule.h:461: error: ISO C++ forbids declaration of ‘wxStandardPathsBase’ with no type
amule.h:461: error: ‘wxStandardPathsBase’ declared as a ‘virtual’ field
amule.h:461: error: expected ‘;’ before ‘&’ token
amuled.cpp:455: error: no ‘wxStandardPathsBase& CDaemonAppTraits::GetStandardPaths()’ member function declared in class ‘CDaemonAppTraits’
make[3]: *** [amuled-amuled.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 21, 2009, 02:16:19 PM
Just to be sure: you have made a change like this:
Code: [Select]
-#ifdef __WXMAC__
+#if defined(__WXMAC__) && !wxCHECK_VERSION(2, 9, 0)
(most importantly, you have changed "#ifdef" to "#if defined", right?)

If yes, then I'm lost.  :-\
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 02:36:27 PM
Just to be sure: you have made a change like this:
Code: [Select]
-#ifdef __WXMAC__
+#if defined(__WXMAC__) && !wxCHECK_VERSION(2, 9, 0)
(most importantly, you have changed "#ifdef" to "#if defined", right?)
If yes, then I'm lost.  :-\

This is exactly what I did... :-(
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 03:30:58 PM
Errata corrige: I tried again on another machine, with wxWidgets r61983 and make succeeds! I don't know if it depends either on the machine or the wx revision: it worked with no more errors.
So, we need 7 patches (you can grab them either all around this thread or here (http://www.mac-factory.org/redmine/repositories/browse/macmule/patches/aMule_r9817)) to have aMule r9817 successfully built on Snow Leopard.

Now I would like to understand what either mac_packager does or should do. I emptied aMule.app/Contents/Frameworks before building aMule and it's still empty after compiling and running mac_packager script. This way aMule suddenly crashes since it has none of the needed libraries:
Code: [Select]
Process:         amule [50941]
Path:            /Users/mirko/Desktop/TEMP/aMule-SVN-r9817/aMule.app/Contents/MacOS/amule
Identifier:      org.amule.aMule
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  launchd [78]

Date/Time:       2009-09-21 15:28:27.516 +0200
OS Version:      Mac OS X 10.6 (10A432)
Report Version:  6

Interval Since Last Report:          1329003 sec
Crashes Since Last Report:           26
Per-App Crashes Since Last Report:   10
Anonymous UUID:                      1D1B6006-D4A9-4737-871D-F22242E669A8

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: @executable_path/../Frameworks/libupnp.3.dylib
  Referenced from: /Users/mirko/Desktop/TEMP/aMule-SVN-r9817/aMule.app/Contents/MacOS/amule
  Reason: image not found

Model: iMac6,1, BootROM IM61.0093.B07, 2 processors, Intel Core 2 Duo, 2.16 GHz, 2 GB, SMC 1.10f3
Graphics: NVIDIA GeForce 7300 GT, NVIDIA GeForce 7300 GT, PCIe, 128 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x87), Broadcom BCM43xx 1.0 (5.10.91.19)
Bluetooth: Version 2.2.0f18, 2 service, 0 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Network Service: AirPort, AirPort, en1
Serial ATA Device: ST3250824AS  Q, 232,89 GB
Parallel ATA Device: MATSHITADVD-R   UJ-85J
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8501, 0xfd400000
USB Device: Keyboard Hub, 0x05ac  (Apple Inc.), 0x1006, 0xfd300000
USB Device: USB-PS/2 Optical Mouse, 0x046d  (Logitech Inc.), 0xc00e, 0xfd310000
USB Device: Apple Keyboard, 0x05ac  (Apple Inc.), 0x0221, 0xfd320000
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8206, 0x7d100000
USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8240, 0x7d200000
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 21, 2009, 05:01:33 PM
The attached files a 0-sized... but don't mind, I know what they should contain.

I have all your patches prepared to be committed, however, there's one thing I don't understand. Namely: why does it work at all? I know why the last patches (for amule.h and amuled.cpp) didn't work for you first, the thing I don't understand is why did it work on the other machine.

The thing is, we're checking for __WXMAC__ being defined, but the last error output shows that you have __WXOSX_COCOA__ defined instead - which is right, and explains why the patch didn't work. Seems like that for the different frameworks on Mac wx (wx-svn-61995) now can have one of __WXMAC__, __WXCOCOA__, __WXOSX_CARBON__ or __WXOSX_COCOA__ defined.

Now what? Should we check for all these, is someone out there willing to try what works with which, or just wait until wx developers finally decide what means what?
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 08:06:06 PM
the thing I don't understand is why did it work on the other machine.

I went back to the first machine and tried again... I figured out that it worked since I used a brand new aMule source and started from scratch.

Quote
The thing is, we're checking for __WXMAC__ being defined, but the last error output shows that you have __WXOSX_COCOA__ defined instead - which is right, and explains why the patch didn't work. Seems like that for the different frameworks on Mac wx (wx-svn-61995) now can have one of __WXMAC__, __WXCOCOA__, __WXOSX_CARBON__ or __WXOSX_COCOA__ defined.

Now what? Should we check for all these, is someone out there willing to try what works with which, or just wait until wx developers finally decide what means what?

I think thay really decided (http://wiki.wxwidgets.org/Development:_wxMac#Rationale_for_Pulling_in_wxCocoa_source_vs_Pushing_wxMac_into_wxCocoa).
I trust in your opinion: if you think it's better to wait for a wxMac release I'll wait for it and focus on aMule 2.2.6 for Mac - btw, I'm working on aMule 2.2.6 for Mac too and I plan (hope) to release it in a couple of days -; otherwise, as I previously said, if you think this work is preparatory to the introduction of wx 3.0 I'll continue trying...  :)
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 21, 2009, 09:15:18 PM
I'm working on aMule 2.2.6 for Mac too and I plan (hope) to release it in a couple of days
Many are the hopers of your success.

if you think this work is preparatory to the introduction of wx 3.0 I'll continue trying...  :)
Sure it is. It will a) preprare aMule for wx-3.0; b) help identify bugs in wx before 3.0 released.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 21, 2009, 10:46:38 PM
Many are the hopers of your success.
&
Quote
Sure it is. It will a) preprare aMule for wx-3.0; b) help identify bugs in wx before 3.0 released.

Both of these need me to understand where mac_packager point to. I'm more skilled on bash scripting than on Mac OS development for sure... hope I can help a little bit more with that...
I noticed a built aMule misses most of its libraries... and so happens with aMuleGUI and all other tools... why doesn't mac_packager take care of them?

UPDATE: with the patches from above I'm able now to build aMule SVN with wx2.9 and native 64-bit support. Using the official mac_packager aMule doesn't find some libraries... I tried to add libraries by hand but aMule doesn't correctly start and crashes with no crashlog... I will build aMule with debug option tomorrow.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Kry on September 21, 2009, 11:23:24 PM
I am the poor sod that made the mac_packager script. mac_packager should obviously take care of copying the needed libs and updating the pointed libraries path with otool.

Can you actually give me a full list of the steps you followed and what exactly I would need to build aMule in Snow Leopard? Don't get me wrong, I can do it by myself but it seems a waste of time for me to investigate when you could just tell me the exact steps you followed (what to install, what configure options to use, etc) and save me some of my extremely valuable time. Then I can fix mac_packager.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Kry on September 21, 2009, 11:30:18 PM
You should probably write all in a wiki article about Snow Leopard compilation.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 21, 2009, 11:33:12 PM
Can you actually give me a full list of the steps you followed and what exactly I would need to build aMule in Snow Leopard?
@Mirko: The best way to do that would be to make a wiki article for it. Don't bother about the code patches of course, these will be committed.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 22, 2009, 04:49:20 PM
These are my notes on SnowLeopard: http://www.mac-factory.org/redmine/wiki/macmule/Snow_Leopard
It's a "work in progress" of course. But I can modify it for the official wiki if you agree.
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: GonoszTopi on September 22, 2009, 08:22:22 PM
Quote from: http://www.mac-factory.org/redmine/wiki/macmule/Snow_Leopard
--with-wxdir=../wxWidgets_r00000/wx-config

I bet you'd either use
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: mirko.g on September 22, 2009, 08:45:22 PM
I bet you'd either use
  • --with-wx-config=../wxWidgets_r00000/wx-config, or
  • --with-wxdir=../wxWidgets_r00000

lol... I twisted them...
Title: Re: aMule, wxWidgets 2.9+ and Snow Leopard... (we got it!)
Post by: Stu Redman on September 24, 2009, 11:07:02 PM
But I can modify it for the official wiki if you agree.
Sure, go ahead. Best make a new page for it (copied from the MacOSX page) and link it on the compile page (http://wiki.amule.org/index.php/Compile).