aMule Forum
English => Compilation problems => Topic started by: Bourdieu on May 10, 2008, 10:39:59 PM
-
My question is quite simple and is basically in the thread title.
I have a small box which I use as a server for several protocols and I would like to run an aMule daemon on it. This box has no monitor nor keyboard connected to it. So I didn't install X or any graphical library like gtk or wxGTK.
I tried to compile aMule with the options:
--disable-monolithic \
--enable-amule-daemon \
--enable-amulecmd \
--enable-webserver
but it fails because it didnt find wxGTK.
Is there a way to compile aMule without requiring to compile fat GTK + fat wxGTK ? And if not, why since amuled, amulecmd and webserver don't use it ?
-
All aMule apps use wxWidgets for network, files, string operations, whatever.
For the non-gui apps you can configure wxGTK with
--enable-unicode --without-subdirs --disable-gui --disable-expat
which removes all the GUI stuff from the libraries.
-
Thanks for your reply.
I saw indeed that even amuled, amulecmd and amulewebserver were linked against libwx_baseu_net and libwx_baseu.
Another solution is to compile on another machine which has wxGTK, to link statically against it and then to install the resulting binaries on the target machine.
To build sttic versions of amuled, amuleweb and amulecmd you need to have the static versions of wxGTK too. In order to have both static and dynamic versions of wxGTK you need to execute the sequence ./configure && make && make install twice. Once with --enable-shared and once with --disable-shared.
Dont forget to strip these static binaries or else they will be huge (53M for amuled for example).
-
If you use several amule apps (d+web+cmd), then you would save RAM and gain some speed by not doing static linking.
You can use distcc to do the compile on a remote (fast) box and link against shared wx on the target.