aMule Forum

English => Compilation problems => Topic started by: littleb2005 on May 20, 2007, 01:13:14 AM

Title: Mac Compile Error
Post by: littleb2005 on May 20, 2007, 01:13:14 AM
g++  -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -O2  -DUSE_WX_EXTENSIONS  -bind_at_load  -lpthread -o amule  amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.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-Kademlia.o amule-Search.o amule-Indexed.o amule-KademliaUDPListener.o amule-Prefs.o amule-RoutingZone.o amule-Contact.o amule-UPnP.o amule-UPnPCompatibility.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-TransferWnd.o  amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.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-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec     -L. -lmuleappcore -L. -lmuleappgui  -L/Users/littleb/wxMac-2.8.4/build/lib   -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework System  /Users/littleb/wxMac-2.8.4/build/lib/libwx_macu_adv-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_macu_core-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_base_carbonu_net-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_base_carbonu-2.8.a -framework WebKit -lwxregexu-2.8 -lwxexpat-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv   -lz
/usr/bin/ld: multiple definitions of symbol CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)
amule-ClientCreditsList.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-Kademlia.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)
amule-ClientCreditsList.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-Kademlia.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
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: Mac Compile Error
Post by: Kry on May 20, 2007, 01:21:36 AM
Yes, that might be problematic. I'll take a look.
Title: Re: Mac Compile Error
Post by: andretti on May 21, 2007, 07:13:58 AM
same error :(



g++  -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -O2  -DUSE_WX_EXTENSIONS  -bind_at_load  -lpthread -o amule  amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.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-Kademlia.o amule-Search.o amule-Indexed.o amule-KademliaUDPListener.o amule-Prefs.o amule-RoutingZone.o amule-Contact.o amule-UPnP.o amule-UPnPCompatibility.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-TransferWnd.o  amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.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-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec     -L. -lmuleappcore -L. -lmuleappgui  -L/Users/littleb/wxMac-2.8.4/build/lib   -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework System  /Users/littleb/wxMac-2.8.4/build/lib/libwx_macu_adv-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_macu_core-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_base_carbonu_net-2.8.a /Users/littleb/wxMac-2.8.4/build/lib/libwx_base_carbonu-2.8.a -framework WebKit -lwxregexu-2.8 -lwxexpat-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv   -lz
/usr/bin/ld: multiple definitions of symbol CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)
amule-ClientCreditsList.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-Kademlia.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)
amule-ClientCreditsList.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-Kademlia.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
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: Mac Compile Error
Post by: andretti on May 21, 2007, 07:18:55 AM
Exists a universal binary newer then "aMule-Mac.CVS.2006-08-10.noDebug_UniversalBinary_TigerOnly.zip"? I want the "Protocol Obfuscati0n" feature. I hate my ISP!!!

Thanks.
Andretti
Title: Re: Mac Compile Error
Post by: wuischke on May 21, 2007, 09:01:14 AM
Protocol Obfuscation is still not working in aMule.
Title: Re: Mac Compile Error
Post by: dashaund on May 21, 2007, 09:38:43 PM
Exact same error as andretti here...sigh
Title: Re: Mac Compile Error
Post by: Kry on May 21, 2007, 10:18:33 PM
Because crypto is included twice in one of the apps. I'll fix that after I finish with my current work on P.O., in some days.
Title: Re: Mac Compile Error
Post by: Kry on May 24, 2007, 06:35:30 AM
Should actually be fixed since a couple of days ago.
Title: Re: Mac Compile Error
Post by: dashaund on May 24, 2007, 04:32:30 PM
Quote
xt)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-RandomFunctions.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-RandomFunctions.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
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
eric-mullinaxs-computer:~/amule-cvs dashaund$

Still doing it.  Downloaded  the latest CVS release from hirnriss.net
Title: Re: Mac Compile Error
Post by: littleb2005 on May 27, 2007, 08:13:10 PM
Quote
xt)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-RandomFunctions.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-RandomFunctions.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
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
eric-mullinaxs-computer:~/amule-cvs dashaund$

Still doing it.  Downloaded  the latest CVS release from hirnriss.net

Code: [Select]

yep it still is

/usr/bin/ld: multiple definitions of symbol CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)
amule-ClientCreditsList.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-Kademlia.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
amule-KnownFile.o definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-UInt128.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
./libmuleappcommon.a(libmuleappcommon_a-CryptoPP.o) definition of CryptoPP::AutoSeededX917RNG<CryptoPP::DES_EDE3>::AutoSeededX917RNG(bool)in section (__TEXT,__text)
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

none the less it really does seem impossible to compile on the mac jeez i try serveals diffrent cvs builds
Title: Re: Mac Compile Error
Post by: GRU on July 08, 2007, 11:28:26 PM
This error is still there on today's CVS. Now it just appears on every library.
Title: Re: Mac Compile Error
Post by: wuischke on July 09, 2007, 12:08:45 AM
How do you compile? (I have no clue about Mac compiling, but I fixed building aMule with external libcrypto yesterday...hopefully)
Title: Re: Mac Compile Error
Post by: littleb2005 on July 09, 2007, 01:07:45 AM
i follow this guide http://www.amule.org/wiki/index.php/HowTo_compile_on_Mac
Title: Re: Mac Compile Error
Post by: Romby69 on July 10, 2007, 12:28:11 AM
Why do I have this compilation problem?

Scanner.cpp:527:5: warning: "YY_STACK_USED" is not defined
Scanner.cpp:1465:5: warning: "YY_ALWAYS_INTERACTIVE" is not defined
Scanner.cpp:1759:5: warning: "YY_MAIN" is not defined
./Scanner.l:205:5: warning: "YY_STACK_USED" is not defined
./Scanner.l: In function 'void LexFree()':
./Scanner.l:191: error: 'yylex_destroy' was not declared in this scope
Scanner.cpp: At global scope:
Scanner.cpp:1658: warning: 'void yy_fatal_error(const char*)' defined but not used
make[3]: *** [libmuleappcore_a-Scanner.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Title: Re: Mac Compile Error
Post by: GRU on July 10, 2007, 02:50:05 AM
this function is not defined in Scanner.l file - that's the cause of the error. If you will correct it and continue compilation you'll get error in FileFunctions.cc -you need to include <memory> there. But linkage error is there, if you follow instrucyions on wiki How to compile on Mac.
Title: Re: Mac Compile Error
Post by: wuischke on July 10, 2007, 05:35:59 AM
What version of flex do you have? (flex -V)
Your version probably doesn't support the header-file option.

I only have Linux (I might give Darwin in a vm a try.), but I could successfully build a binary following above steps. I need a deeper look at the code to see which ifdefs might cause the error on Mac.
I would also appreciate if someone could try to build with an external libcrypto++.
Title: Re: Mac Compile Error
Post by: Romby69 on July 10, 2007, 07:48:52 AM
Sorry for my english, i'm italian.

I have compiled with external libcrypto++, downloaded from official site.
I have Flex version 2.5.4 installed
Title: Re: Mac Compile Error
Post by: wuischke on July 10, 2007, 01:41:48 PM
Hi Romby,

Do you get a working binary in the end when compiling against external libcryptop++? This would help me a lot in identifying the problem.

Flex 2.5.4(a) is from 1997!, please upgrade to version 2.5.33 in order to get rid of this error.
Title: Re: Mac Compile Error
Post by: skolnick on July 10, 2007, 05:24:45 PM
wuischke:

Compilation with external crypto seems to be fixed, I compiled on solaris CVS from July 08/07. It crashed about half an hour after starting it, but that should be another issue.

Regards.
Title: Re: Mac Compile Error
Post by: wuischke on July 10, 2007, 06:31:25 PM
I've been cross-compiling from Linux and whilst I have to upgrade gcc (which I won't do today; it complains about ::malloc and ::realloc) I want someone to test the validity of my binaries.

It's compiled using the 10.4 SDK and i686 architecture, so it should run on Core (2) Duo with Tiger. Would be nice if someone could check if I have a valid build environment now. (i.e. if the binaries run)
Title: Re: Mac Compile Error
Post by: dfunked on July 11, 2007, 05:29:08 PM
I'd be willing to test out your binaries.

I'm trying to compile aMule.. and after having problems with my flex version and all that, I've now got the error in the first post.. I've tried using MacPorts to update my libcrypto++ to 5.1, but it also fails on the build of that so I'm currently trying my luck at compiling 5.5.1 myself (the 5.1 GCC patch from http://www.cryptopp.com/#platforms didn't work).

Will update on my efforts..

Update: libcrypto++ 5.5.1 is successfully installed, but I'm still getting aMule compilation error as shown in the first post. I'm not 100% sure if I have successfully installed libcrypto, but it has installed libcryptopp.a into /usr/lib/ and there's a cryptopp folder in /usr/include/ with lots of header files. There's also a cryptest.exe in /usr/bin/.

I imagine that's all correct? cryptest.exe works fine (did an RSA key generation that seemed fine).
Title: Re: Mac Compile Error
Post by: wuischke on July 11, 2007, 06:38:34 PM
When you compile against an external libcrypto, you have to add the flag "- --disable-embedded-crypto" to your configure command. At the end of the configure command it will show you the used version of crypto++, it should say 5.5.1 there, not embedded anymore. Also do a "make distclean" before compiling, please.

Unfortunately more than only upgrading gcc is necessary to get rid of my malloc and realloc errors, so I won't be able to test anything myself until I found a way to fix this. :(
Title: Re: Mac Compile Error
Post by: dfunked on July 11, 2007, 06:43:21 PM
Thanks for that. Just tried the configure command then but I got the following:

Code: [Select]
checking for crypto++ version >= 5.1... no
and then later on just before completing,

Code: [Select]
**** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                                       wxWidgets             2.8.4
                                       crypto++              /*!        \mainpage <a href="http://www.cryptopp.com">Crypto++</a><sup><small>&reg;</small></sup> Library 5.5 Reference Manual
                                       zlib                  1.2.3

Safe to assume that it hasn't installed properly then?

Inspecting what MacPorts would have done if it worked (http://libcryptopp.darwinports.com/) I can see that it's pretty much the same to what I have.

Update: I inspected the configure script and came upon a new compile flag (--with-crypto-prefix). I tried my new configure command as:

Code: [Select]
./configure --disable-systray --disable-gtk --with-wx-config=../wxMac-2.8.4/wx-config --disable-embedded-crypto --with-crypto-prefix=/usr/include
Still same output as above though (libcrypto++ >= 5.1 not found).
Title: Re: Mac Compile Error
Post by: dfunked on July 11, 2007, 07:35:47 PM
Had a feeling something was wrong in the configure script and how it was checking for external libcrypto++.

Offending line: 7852

Code: [Select]
crypto_version=`grep "Reference Manual" $crypto_prefix/include/cryptopp/cryptlib.h | sed -e's#.*\s\(\([0-9]\+\.\?\)\+\)\s.*#\1#g'`
Inspecting cryptlib.h, it's clear the sed substitution was incorrect. To get this going I just replaced the line with:

Code: [Select]
crypto_version=`grep "Reference Manual" $crypto_prefix/include/cryptopp/cryptlib.h | grep -Eo '[0-9\.]+ '`
My regex substitution memory isn't so great right now, but that does indeed return "5.5".

Needless to say, there's a whole bunch of "error: template with C linkage" errors. This page (http://www.gidforums.com/t-9853.html) claims it's a "dangling extern C" somewhere. There's some dependency mismatch somewhere here.. not really in the mood to sort this one out and might try libcrypto++ 5.1 instead.
Title: Re: Mac Compile Error
Post by: wuischke on July 18, 2007, 11:24:15 AM
I think I managed to produce a working Mac binary (I've compiled for i686 only)

If someone with an Intel Mac could test this, it would be very appreciated.

I'm cross-compiling and had to use an external libcrypto in order to link successfully, I'll try to fix the embedded crypto asap.

http://www.youshare.com/view.php?file=amule.zip
Title: Re: Mac Compile Error
Post by: dfunked on July 18, 2007, 04:45:01 PM
I can't get the "this is the first time you have run ..." message to accept my click/keystroke, so I can't go any further. Is there a flag to disable this?

MacBook Pro, 2.16GHz, 2GB RAM, OS 10.4.10.
Title: Re: Mac Compile Error
Post by: Kry on July 18, 2007, 04:48:39 PM
Thats because wuischke doens't know about application bundles. You ahve to wait till someone creates a bundle for it.

Wuischke: get it from the SVN, or ask me on irc if I'm around. there is a mac_packager script in svn that will help you lots.
Title: Re: Mac Compile Error
Post by: wuischke on July 19, 2007, 04:09:44 PM
OK, I tried to package it the Mac way. I stripped the binaries as well, should there be a problem with the binaries, use the ones from above and put them inside aMule.app/Contents/MacOS.

(see later posts for links, download is broken)

If everything works so far, please see if it crashes on accessing the statistics page. This version is not intended to produce backtraces, but it will at least show what's still going wrong with aMule on Mac.
Title: Re: Mac Compile Error
Post by: Kry on July 22, 2007, 08:29:38 PM
Linking's fixed on svn.
Title: Re: Mac Compile Error
Post by: wuischke on July 22, 2007, 09:36:49 PM
I don't know if cross-compiling has any say, but I get now another error:
Quote
i686-apple-darwin8-g++ -DENABLE_UPNP=1 -I/home/macosx/wxMac-2.8.4/build/lib/wx/include/i686-apple-darwin8-mac-unicode-release-static-2.8 -I/home/macosx/wxMac-2.8.4/include -I/home/macosx/wxMac-2.8.4/contrib/include -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__     -I./libs -Ilibs -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -O2  -DUSE_WX_EXTENSIONS  -bind_at_load  -lpthread -o amule amule-RC4Encrypt.o amule-amule.o amule-BaseClient.o amule-ClientList.o amule-ClientCreditsList.o amule-ClientTCPSocket.o amule-ClientUDPSocket.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-Kademlia.o amule-Search.o amule-Indexed.o amule-KademliaUDPListener.o amule-Prefs.o amule-RoutingZone.o amule-Contact.o amule-UPnP.o amule-UPnPCompatibility.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-TransferWnd.o  amule-ClientCredits.o amule-ECSpecialMuleTags.o amule-KnownFile.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-UserEvents.o amule-OtherFunctions.o amule-NetworkFunctions.o -L. -lmuleappcommon -Llibs/common -Llibs/ec/cpp -lmulecommon -lec     -L. -lmuleappcore -L. -lmuleappgui  -L/home/macosx/wxMac-2.8.4/build/lib   -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework System  /home/macosx/wxMac-2.8.4/build/lib/libwx_macu_adv-2.8-i686-apple-darwin8.a /home/macosx/wxMac-2.8.4/build/lib/libwx_macu_core-2.8-i686-apple-darwin8.a /home/macosx/wxMac-2.8.4/build/lib/libwx_base_carbonu_net-2.8-i686-apple-darwin8.a /home/macosx/wxMac-2.8.4/build/lib/libwx_base_carbonu-2.8-i686-apple-darwin8.a -framework WebKit -lwxregexu-2.8-i686-apple-darwin8 -lwxexpat-2.8-i686-apple-darwin8 -lwxtiff-2.8-i686-apple-darwin8 -lwxjpeg-2.8-i686-apple-darwin8 -lwxpng-2.8-i686-apple-darwin8 -lz -lpthread -liconv   -lz
/opt/mac/bin/i686-apple-darwin8-ld: Undefined symbols:
CSocketClientProxy::ms_classInfo
typeinfo for CSocketClientProxy
vtable for CSocketClientProxy
CDatagramSocketProxy::GetClassInfo() const
typeinfo for CDatagramSocketProxy
CSocketServerProxy::GetClassInfo() const
typeinfo for CSocketServerProxy
vtable for CSocketServerProxy
vtable for CProxyData
typeinfo for CProxySocket
vtable for CProxySocket
vtable for CHttpStateMachine
vtable for CProxyEventHandler
vtable for CProxyStateMachine
vtable for CSocks4StateMachine
vtable for CSocks5StateMachine
vtable for CDatagramSocketProxy
collect2: ld returned 1 exit status
Title: Re: Mac Compile Error
Post by: Kry on July 23, 2007, 12:18:46 AM
That's caused by P.O. and is WIP.
Title: Re: Mac Compile Error
Post by: Taskman on July 25, 2007, 04:40:45 PM
Quote
http://www.youshare.com/view.php?file=aMule.zip

This link doesn't appear to be working anymore. The server isn't parsing PHP correctly. :-\
Title: Re: Mac Compile Error
Post by: wuischke on July 25, 2007, 07:13:17 PM
Hi Taskman,

I've uploaded it to another place:
aMule.zip (http://www.kram-hochladen.de/download.php?id=OTY0MjU=)

I don't know if it works now (people have not been very eager to report their success) and please be aware of the fact that it is an "old" (a couple of days) version.
Title: Re: Mac Compile Error
Post by: Taskman on July 25, 2007, 08:08:01 PM
Thanks for your prompt reply.

Unfortunately, that particular build doesn't appear to be compatible with my PowerPC machine.

Could you make an Universal Binary?
Title: Re: Mac Compile Error
Post by: wuischke on July 25, 2007, 09:27:21 PM
Yes, you are right, this is only for i686-apple-darwin8.

I'm afraid I can't make a Universal Binary, because I don't know how. But I can compile a binary for powerpc-apple-darwin8 and will do so.
I'm cross-compiling from Linux and it may take a while, I'll post something asap. (and I have to fix the code I broke some days ago as well...)
Title: Re: Mac Compile Error
Post by: Taskman on July 25, 2007, 10:13:45 PM
I understand what you mean. Good luck; I hope to hear again from you soon! ;D
Title: Re: Mac Compile Error
Post by: wuischke on July 25, 2007, 11:17:40 PM
I'ld really love to have a Power based system, but the Efika is too low-spec (400MHz/128MB RAM is OK for normal use, but not for compiling a lot of stuff...) and everything else (Pegasos/Apple) not available anymore/too expensive (IBM Power6). ;)

aMule.zip powerpc (http://www.kram-hochladen.de/download.php?id=OTY1MzQ=)
Title: Re: Mac Compile Error
Post by: Taskman on July 25, 2007, 11:42:45 PM
Creating Universal binaries shouldn't be that hard. I will try to find some advice. :P

By the way, the application refuses to launch if you double-click on it.

I tried opening .../aMule.app/Contents/MacOS/amule, and obtained the following message:
Quote
This binary requires you to use the flag --even-if-lfroen-surreptitiously-removes-it-this-will-stay and only if you're very sure of it. Warning: If you're lfroen or wuischke, you might find this annoying. That pleases me.

Once I tried to launch aMule with that flag, the application started. :)
Title: Re: Mac Compile Error
Post by: wuischke on July 26, 2007, 08:52:48 AM
Blame Kry for the message. ;)

Anyway, now I can finally search for some testers who would test libupnp + Mac (it's designed to be loaded dynamically and can't be linked statically in the binary.) and boinc + Mac (does it still freeze?)

About the UB: I guess it is not so hard, but after first setting up a cross-compile environment and then struggling for a while with the compilation I had little motivation to read further. ;)
Title: Re: Mac Compile Error
Post by: kreegee on July 26, 2007, 04:54:11 PM
I don't know if it works now (people have not been very eager to report their success) and please be aware of the fact that it is an "old" (a couple of days) version.

works, but opening preferences takes like ages (console is filled with "Using localeDir = '/Users/kreegee/Desktop/aMule.app/Contents/SharedSupport/locale'." for 30 times or so)
Title: Re: Mac Compile Error
Post by: wuischke on July 26, 2007, 06:33:50 PM
That's a debug message which must have been added by phoenix, when he worked on this function. I'll remove it with me next commit.

Things to test: - localization
- statistics page
- boinc/seti@home + amule
Title: Re: Mac Compile Error
Post by: Kry on July 26, 2007, 07:44:12 PM
Don't remove the test message, it's tehre way too many times. Look for the reason and solve it.
Title: Re: Mac Compile Error
Post by: wuischke on July 26, 2007, 08:49:53 PM
Will do. But first I have some code to fix. ;)
Title: Re: Mac Compile Error
Post by: madmalkav on August 17, 2007, 12:43:46 AM
Wuischke, tested your PPC binary and everything seems to work ok so far but some files being unable to complete. I don't know where to look the logs or what info to look to asure it is a problem of your build, but I never had this problem before.

If you want me to try something, I will be glad to help.
Title: Re: Mac Compile Error
Post by: lionel77 on August 17, 2007, 04:48:46 AM
I compiled a universal binary version last night and so far it seems to work very well for me (amule cvs against wx 2.8.4).


Btw, I don't know if that's due to a change in wx's or in amule's code, but now I can compile amule as universal in one simple run, which is just awesome. Before, make would fail for every single component of amule (amule, amuled, amuleweb, etc.) and I had to manually remove a duplicate isysroot flag from the appropriate g++ command.
So whoever is responsible for this change has my eternal gratitude. ;)
Title: Re: Mac Compile Error
Post by: phoenix on August 17, 2007, 07:36:36 AM
wuischke,

The message in question is not debug, it is supposed to go to stdout so that we know what is this directory mapped in each wxWidget platform.

This function should not have been called so many times, but if this is really needed, we should cache the result.

Cheers!
Title: Re: Mac Compile Error
Post by: wuischke on August 17, 2007, 09:32:05 AM
Hi lionel! Nice to see you back here!

phoenix,

I worked on this and (as long as everyone uses wx 2.8) removed the necessity of this function altogether. It was called for every locale, adding additional prefix paths for locales. Fortunately wx already had the right standard lookup paths for Windows and Linux, only the Mac path is different. So I added the Mac-prefix directly in InitLocale and removed the function.

If you want me to dig up the right code in wx code, please tell me so in the forum topic I wrote about getlocaledir.