aMule Forum

English => Compilation problems => Topic started by: Jiut on April 08, 2009, 01:45:32 PM

Title: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: Jiut on April 08, 2009, 01:45:32 PM
Hi,

there seems to be some problem with wxMac and libiconv. I compiled wxMac this way:

Code: [Select]
../configure --disable-shared --enable-unicode --disable-debug --disable-debug_gdb

which gave me:
Code: [Select]
Configured wxWidgets 2.8.10 for `i686-apple-darwin9.6.0'

  Which GUI toolkit should wxWidgets use?                 mac
  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 be compiled in Unicode mode?           yes
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.4      no
                                       wxWidgets 2.6      yes
  Which libraries should wxWidgets use?
                                       jpeg               builtin
                                       png                builtin
                                       regex              builtin
                                       tiff               builtin
                                       zlib               sys
                                       odbc               no
                                       expat              sys
                                       libmspack          no
                                       sdl                no

Compiling aMule:
Code: [Select]
./configure --with-wx-config=../wxMac-2.8.10/build/wx-config --enable-cas --enable-webserver --enable-amulecmd --disable-debug --enable-optimize --with-crypto-prefix=/opt/local

Configuration was successful:
Code: [Select]
  Configure script has finished system check.

  Configured aMule 2.2.4 for 'i686-apple-darwin9.6.0'.

  aMule enabled options:

  **** aMule Core ****
  Prefix where aMule should be installed?                    /usr/local
  Should aMule be compiled with i18n support?                yes
  Should aMule be compiled in debug mode?                    no
  Should aMule be compiled with profiling?                   no
  Should aMule be compiled with optimizations?               yes
  Should aMule be compiled with UPnP support?                yes
  Should aMule be compiled with IP2country support?          no
  Should aMule monolithic application be built?              yes
  Should aMule daemon version be built?                      no
  Should aMule remote gui be built? (EXPERIMENTAL)           no
  Crypto++ library/headers style?                            installed

  **** aMule TextClient ****
  Should aMule Command Line Client be built?                 yes

  **** aMule WebServer ****
  Should aMule WebServer be built?                           yes

  **** aMule ED2K Links Handler ****
  Should aMule ED2K Links Handler be built?                  yes

  **** aMuleLinkCreator ****
  Should aMuleLinkCreator GUI version (alc) be built?        no
  Should aMuleLinkCreator for console (alcc) be built?       no

  **** aMule Statistics ****
  Should C aMule Statistics (CAS) be built?                  yes
  Should aMule GUI Statistics (wxCas) be built?              no

  **** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                                       wxWidgets             2.8.10 (mac,static)
                                       crypto++              5.5.2 (installed, in /opt/local)
                                       libupnp               1.6.6
                                       regex                 system
                                       libintl               system
                                       libpng                1.2.35
                                       libgd                 2.0.35
                                       zlib                  1.2.3

Here's the section of the 'make' output that contains some errors:
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/me/Desktop/wxMac-2.8.10/build/lib   -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime -framework OpenGL -framework AGL  /Users/me/Desktop/wxMac-2.8.10/build/lib/libwx_base_carbonu_net-2.8.a /Users/me/Desktop/wxMac-2.8.10/build/lib/libwx_base_carbonu-2.8.a -lwxregexu-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv   -lz -lreadline -lpng12   /usr/local/lib/libintl.dylib -liconv -lc -lupnp -lthreadutil -lixml   
ld: warning, duplicate dylib /opt/local/lib/libiconv.2.dylib
Undefined symbols:
  "wxAppConsole::OnAssert(wchar_t const*, int, wchar_t const*, wchar_t const*)", referenced from:
      vtable for CamulewebAppin amuleweb-WebInterface.o
      vtable for CaMuleExternalConnectorin amuleweb-ExternalConnector.o
  "wxAppConsole::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*)", referenced from:
      vtable for CamulewebAppin amuleweb-WebInterface.o
      vtable for CaMuleExternalConnectorin amuleweb-ExternalConnector.o
  "wxOnAssert(wchar_t const*, int, char const*, wchar_t const*, wchar_t const*)", referenced from:
      CSocketSet::AddSocket(GSocket*)      in amuleweb-WebInterface.o
      CSocketSet::AddSocket(GSocket*)      in amuleweb-WebInterface.o
      CSocketSet::RemoveSocket(GSocket*)       in amuleweb-WebInterface.o
      CSocketSet::RemoveSocket(GSocket*)       in amuleweb-WebInterface.o
      CSocketSet::RemoveSocket(GSocket*)       in amuleweb-WebInterface.o
      wxStringBase::wxStringBase(wxStringBase const&)in amuleweb-WebInterface.o
      wxStringBase::at(unsigned long) constin amuleweb-WebInterface.o
      wxStringBase::at(unsigned long)in amuleweb-WebInterface.o
      CaMuleExternalConnector::ConnectAndRun(wxString const&, wxString const&)in amuleweb-ExternalConnector.o
      wxStringBase::wxStringBase(wxStringBase const&)in amuleweb-ExternalConnector.o
      wxStringBase::at(unsigned long) constin amuleweb-ExternalConnector.o
      wxStringBase::at(unsigned long)in amuleweb-ExternalConnector.o
      wxString::operator<<(wxString const&)in amuleweb-ExternalConnector.o
      GetPassword()     in amuleweb-OtherFunctions.o
      wxStringBase::wxStringBase(wxStringBase const&)in amuleweb-OtherFunctions.o
      wxStringBase::at(unsigned long)in amuleweb-OtherFunctions.o
      ec_tag_2_php(CECTag const*, PHP_2_EC_OPT_DEF*, PHP_VAR_NODE*)in amuleweb-php_amule_lib.o
      wxStringBase::wxStringBase(wxStringBase const&)in amuleweb-php_amule_lib.o
      wxLongLongNative::ToLong() const in amuleweb-php_amule_lib.o
      wxDateTime::GetTicks() const in amuleweb-php_amule_lib.o
      CFormat::SetCurrentField(wxString const&) in libmulecommon.a(Format.o)
      CFormat::SetCurrentField(wxString const&) in libmulecommon.a(Format.o)
      CFormat::SetCurrentField(wxString const&) in libmulecommon.a(Format.o)
      CFormat::GetString() constin libmulecommon.a(Format.o)
      CFormat::GetCurrentField()      in libmulecommon.a(Format.o)
      CFormat::GetCurrentField()      in libmulecommon.a(Format.o)
      CFormat::GetIntegerField(wchar_t const*)in libmulecommon.a(Format.o)
      CFormat::operator%(double)in libmulecommon.a(Format.o)
      CFormat::operator%(double)in libmulecommon.a(Format.o)
      CFormat::operator%(wchar_t)in libmulecommon.a(Format.o)
      CFormat::operator%(wxString const&)in libmulecommon.a(Format.o)
      CFormat::operator%(wxString const&)in libmulecommon.a(Format.o)
      CFormat::operator%(wxString const&)in libmulecommon.a(Format.o)
      CFormat::operator%(void*)in libmulecommon.a(Format.o)
      CFormat::operator%(void*)in libmulecommon.a(Format.o)
      wxStringBase::wxStringBase(wxStringBase const&)in libmulecommon.a(Format.o)
      wxStringBase::at(unsigned long) constin libmulecommon.a(Format.o)
      wxStringBase::at(unsigned long)in libmulecommon.a(Format.o)
      wxString::Last() constin libmulecommon.a(Format.o)
      wxString::Last()     in libmulecommon.a(Format.o)
  "_iconv_open", referenced from:
      wxMBConv_iconv::wxMBConv_iconv(wchar_t const*)in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(wchar_t const*)in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(wchar_t const*)in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(wchar_t const*)in libwx_base_carbonu-2.8.a(baselib_strconv.o)
  "_iconv_close", referenced from:
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::~wxMBConv_iconv()in libwx_base_carbonu-2.8.a(baselib_strconv.o)
  "_iconv", referenced from:
      wxMBConv_iconv::MB2WC(wchar_t*, char const*, unsigned long) constin libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::MB2WC(wchar_t*, char const*, unsigned long) constin libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::WC2MB(char*, wchar_t const*, unsigned long) constin libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::WC2MB(char*, wchar_t const*, unsigned long) constin libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::GetMBNulLen() const  in libwx_base_carbonu-2.8.a(baselib_strconv.o)
      wxMBConv_iconv::wxMBConv_iconv(wchar_t const*)in libwx_base_carbonu-2.8.a(baselib_strconv.o)
  "wxConsoleAppTraitsBase::ShowAssertDialog(wxString const&)", referenced from:
      vtable for CWebserverAppTraitsin amuleweb-WebInterface.o
      vtable for CaMuleExternalConnectorTraitsin 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

Thanks for any helpful suggestions! Your support will be (hopefully) rewarded with a release of aMule for Mac. I'm waiting for it since version 2.2.2. Maybe we get it done now.
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: Stu Redman on April 10, 2009, 07:25:35 PM
Your support will be (hopefully) rewarded with a release of aMule for Mac. I'm waiting for it since version 2.2.2. Maybe we get it done now.
Huh? There is a Mac version (http://www.amule.org/amule/index.php?topic=13920.0) available.
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: istreen on April 13, 2009, 11:42:19 AM
hi, nobody have release a new version compiled to osx  mac intel ?

Please share it

thx for job
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: Kry on April 13, 2009, 03:02:24 PM
I swear to god they don't even try.
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: amaury@skynet.be on May 01, 2009, 01:31:23 AM
hello,

since it was my first time compiling something on a mac, it took me some time, but it definitely works for me if you follow these instructions: http://www.amule.org/wiki/index.php/HowTo_compile_on_Mac (latest version of this tutorial works !).

i now have a working amule.app version 2.2.4 on my intel mac mini with leopard 10.5.6 installed !  :)

amaury

Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: Kry on May 01, 2009, 02:10:26 AM
Thanks. You're definitely a breath of fresh air in the usual not-reading-anything situation.
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: king on May 24, 2009, 10:32:07 PM
it works thanks, first time ill compile an program on my mac....

if i would like to share the amule package , then the file of 20 mb with the name "amule" is enough ?

never done this , thats why i asked .
Title: Re: Compiling aMule 2.2.4 on Mac OS X 10.5.6
Post by: gtoso on May 25, 2009, 11:44:24 PM
it works thanks, first time ill compile an program on my mac....

if i would like to share the amule package , then the file of 20 mb with the name "amule" is enough ?

never done this , thats why i asked .

Unfortunately no:
every library not shipped with OSX that you have used needs to be included into the bundle (.app):
you need to find these library with otool -L on any executables, than copy they in Framewoks dir and fix paths on libraries and executables with install_name_tool...

Try this mac_packager (http://gtoso.tor.it/pub/amule/osx/2.2.5/OSXBuild/mac_packager) instead of default one.
It should work if you used Mac Ports or installed compiled software in /usr/local.