aMule Forum
English => Multiplatform => Mac OSX => Topic started by: lynx_deb on November 16, 2006, 08:55:44 PM
-
Hi guys,
i've recently compiled aMule CVS for MacOSX..
but i just want to know if it's possibile and how it can do, add other languages to the Package?
Thanks a lot and sorry for my bad english ;)
-
Not quite sure I understand what you are saying. Your self-compiled binary should support all languages that aMule is localized in. Or do you mean that you want to add a language that is not yet supported by aMule?
-
Maybe it's missing libreadline, which is needed for i8n.
-
Hi, thanks for fast reply..
i've follow the guide on the wiki, instelled Gettext, but when i launch aMule and set mi country language after restart, amule is in English and not Italian..
there is a particolar option that can permit aMule to start in other language?
thanks!
PS.: How i can compile aMule CVS in Universal Binary?
-
gettext lo hai installato prima di compilazione e configurazione o solo successivamente? Durante la fine della compilazione, ti diceva di aver tradotto tot messaggi?
-
Originally posted by apo758
gettext lo hai installato prima di compilazione e configurazione o solo successivamente? Durante la fine della compilazione, ti diceva di aver tradotto tot messaggi?
si.. per tutte le lingue, sia EN, FR, IT etc etc
per gli Universal Binary invece?
-
Per farli UB non ti so dire con esattezza, dovresti guardare nell'help di configure. Io non ci ho mai guardato perché tanto li compila automaticamente per la tua piattaforma.
-
Guys, you are more than welcome to discuss this in Italian, but if you do so, please use the Italian subforum for that. Otherwise things will get too messy here.
@lynx_deb
Which sources did you use? A current CVS tar ball or the 2.1.3 sources?
Also, when you restart aMule (after you've set the language to "Italian") and go to the preferences, is "Italian" still selected or did it switch back to "English".
Regarding compiling aMule as a Universal Binary, this is a little more tricky, because you need to do a few additional steps by hand. In general, you only need a Universal Binary version of aMule if you want to distribute it to people (who are on a different plattform than you). If you compile aMule based on the instructions in the wiki, you will get a native version for your platform (i.e. Intel native if you have an Intel Mac, PPC native if you have a PPC based Mac).
-
Originally posted by lionel77
Guys, you are more than welcome to discuss this in Italian, but if you do so, please use the Italian subforum for that. Otherwise things will get too messy here.
Sorry!
-
when i switch to Italian and restar aMule, the menubox say "Italian" (there is no English Option, only System Default) : (
i've used the last CVS source.. there is no possibility to compile in UB?
i want to use on my Dual G5 and Core 2 Duo without install Xcode on the G5 :\
thanks!
-
At the end of the compilation instructions on the Wiki, there's this command:
mv src/amule aMule.app/Contents/MacOS/
However, to get the full language support included, you need to do something a bit more involved. Basically, you need to use the following command:
src/utils/scripts/mac_packager
(The Wiki should probably be changed to use this command instead of the other, but I forget if there are extra dependencies in that case.)
I hope that helps.
-
hi ken, thanks for reply
now it's work in my language :baby:
but now i try to compile it in UB, but when i add the CGFLAG before ./configure and then i type make, i get this error
gcc: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
how can i solve this problem?
thanks!
-
To compile aMule as a Universal Binary you need to have compiled wx with the --enable-universal_binary switch.
I use:
../wxWidgets/configure --prefix /Applications/-other/wx/myWidgets_NoDebug --disable-shared --disable-debug --disable-debug_gdb --enable-unicode --with-mac --enable-universal_binary
For aMule I then use:
./configure --disable-systray --disable-gtk --enable-embedded_crypto --with-wx-config=/Applications/-other/wx/myWidgets_NoDebug/bin/wx-config --enable-cas --enable-webserver --enable-amulecmd --disable-debug --enable-optimize \
--disable-dependency-tracking \
CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk" \
CXXFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
During the build process, make will fail three times with a message like the following:
g++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -O2 -DUSE_WX_EXTENSIONS -bind_at_load -lpthread -o amuleweb -L../../libs/common -L../../libs/ec 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_core_lib.o -lec -lmulecommon -L/Applications/-other/wx/myWidgets_NoDebug/lib -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework System /Applications/-other/wx/myWidgets_NoDebug/lib/libwx_base_carbonu_net-2.8.a /Applications/-other/wx/myWidgets_NoDebug/lib/libwx_base_carbonu-2.8.a -lwxregexu-2.8 -lwxexpat-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv -lreadline -lz
/usr/bin/ld: -syslibroot: multiply specified
collect2: ld returned 1 exit status
/usr/bin/ld: -syslibroot: multiply specified
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccQKlUaw.out (No such file or directory)
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
The reason for this error is that the "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" switch appears twice in the g++ command.
For the first error, you need to cd to src/webserver/src and then manually run that last g++ command but with one of the "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" switches deleted. Then cd back to the base directory and run make again. On the second and third errors you cd to src and then again rerun the g++ command manually with one of the -isysroot switches removed.
If you get the following error message at some point:
./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
Scanner.cpp: At global scope:
Scanner.cpp:1658: warning: 'void yy_fatal_error(const char*)' defined but not used
lipo: can't figure out the architecture type of: /var/tmp//ccN02a2i.out
make[3]: *** [libmuleappcore_a-Scanner.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
then you need to do "svn revert src/Scanner.cpp" and then run make again.
-
I'm trying to compile a UB version of aMule. I compiled the wxWidgets 2.8.0 with the --enable-universal_binary flag. I applied the patch found on the homepage and I modified the muletrayicon.cpp. Doing "make" in the aMule directory gives me this error:
make all-am
if g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I/Users/MaMaK/Desktop/wxWidgets-2.8.0/build/lib/wx/include/mac-unicode-release-static-2.8 -I/Users/MaMaK/Desktop/wxWidgets-2.8.0/include -I/Users/MaMaK/Desktop/wxWidgets-2.8.0/contrib/include -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__ -I../../../src -I../../../src/libs -DECSOCKET_USE_EVENTS=0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -O2 -MT libec_noevt_a-ECPacket.o -MD -MP -MF ".deps/libec_noevt_a-ECPacket.Tpo" -c -o libec_noevt_a-ECPacket.o `test -f 'ECPacket.cpp' || echo './'`ECPacket.cpp; \
then mv -f ".deps/libec_noevt_a-ECPacket.Tpo" ".deps/libec_noevt_a-ECPacket.Po"; else rm -f ".deps/libec_noevt_a-ECPacket.Tpo"; exit 1; fi
g++: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
make[5]: *** [libec_noevt_a-ECPacket.o] 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
I don't see the -isysroot switch repeated so I don't know what to do. Can you help me? Thanks ;)
-
Sorry, I have no idea.
/me sings his ken-summoning song.
-
You need to configure with --disable-dependency-tracking.
-
Sorry to bother you, but now I get this error:
/usr/bin/ld: warning amule-Logger.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-Packet.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-PartFile.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-Preferences.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-Proxy.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-Server.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-Statistics.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-StatTree.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-SHAHashSet.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-HTTPDownload.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning amule-OtherFunctions.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
/usr/bin/ld: warning ./libmuleappcommon.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)
/usr/bin/ld: warning libs/common/libmulecommon.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)
/usr/bin/ld: warning libs/ec/libec.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)
/usr/bin/ld: warning ./libmuleappcore.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)
/usr/bin/ld: warning ./libmuleappgui.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)
/usr/bin/ld: Undefined symbols:
_main
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//cclEFsFW.out (No such file or directory)
make[3]: *** [amule] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
-
Welcome to the world of compiling aMule as a Universal Binary! ;)
On a more serious note, though, did you try using the exact configure flags that I posted above?
-
Thanks, now it works ;)