Difference between revisions of "HowTo compile on Solaris"

From AMule Project FAQ
Jump to: navigation, search
Line 21: Line 21:
 
   LD_LIBRARY_PATH=/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/lib
 
   LD_LIBRARY_PATH=/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/lib
  
*Symlink the [http://www.gnu.org GNU] utilities in ''/usr/sfw/bin'' to their "right" names (''gar=ar'', ''gas=as'', ''gld=ld'', ''gmake=make'', ''ggrep=grep'', ''gtar=tar'', etc...) somewhere in your path. I sym-linked them to their same directory (''/usr/sfw/bin'').
+
*Symlink the [http://www.gnu.org GNU] utilities in ''/usr/sfw/bin'' to their "right" names (''gar=ar'', ''gas=as'', ''gld=ld'', ''gmake=make'', ''ggrep=grep'', ''gtar=tar'', ''granlib=ranlib'', etc...) somewhere in your path. I sym-linked them to their same directory (''/usr/sfw/bin'').
  
 
*Get the latest [[WxWidgets|wxGTK]] package from http://www.wxwidgets.org and compile it. Install it to ''/usr/local''.
 
*Get the latest [[WxWidgets|wxGTK]] package from http://www.wxwidgets.org and compile it. Install it to ''/usr/local''.
Line 39: Line 39:
  
 
*Get the latest cryptopp library from http://www.cryptopp.com/ compile it and install it to /usr/local.
 
*Get the latest cryptopp library from http://www.cryptopp.com/ compile it and install it to /usr/local.
 
+
  Hint: Change the "as" symlink you created before (which points to /usr/sfw/bin/gas) to point to /usr/ccs/bin/as instead. The difference is that gas is GNU as, the other one is Solaris as, which is the one expected by cryptopp.
 +
 
 
*Get the latest [[aMule SVN]] from http://amule.hirnriss.net and uncompress it somewhere.
 
*Get the latest [[aMule SVN]] from http://amule.hirnriss.net and uncompress it somewhere.
  

Revision as of 02:40, 21 November 2009

English | Deutsch

Compiling aMule/aMuleWeb on Solaris Express (11 beta) x86

  • Use the pkg-get script to install some required libraries, which do not come with Solaris:
    • autoconf
    • automake
    • flex (2.5.33 or newer)
    • gd
    • GNU gettext (ggettext)

These packages will install to /opt/csw tree

  • Set your path like this:
 PATH=/usr/local/bin:/opt/csw/bin:/usr/sfw/bin:/usr/bin
  • Set these environment variables:
 CPPFLAGS='-I/usr/local/include -I/opt/csw/include -I/usr/sfw/include'
 LDFLAGS='-L/usr/local/lib -R/usr/local/lib -L/opt/csw/lib -R/opt/csw/lib -L/usr/sfw/lib -R/usr/sfw/lib'
 LD_LIBRARY_PATH=/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/lib
  • Symlink the GNU utilities in /usr/sfw/bin to their "right" names (gar=ar, gas=as, gld=ld, gmake=make, ggrep=grep, gtar=tar, granlib=ranlib, etc...) somewhere in your path. I sym-linked them to their same directory (/usr/sfw/bin).
 Hint: this configure line worked for me: ./configure --enable-unicode --with-gtk=2
 Note: blastwave has packages for wxGTK that are more or less up to date, however their unicode support is marked as experimental only, and have not
 been tested to work with aMule. YMMV.
                                      
 Hint: this configure line worked for me: ./configure
 Hint 1: this configure line worked for me: ./configure CFLAGS="-DSPARC_SOLARIS" --disable-samples
 Hint 2: I needed to add this at the beginning of the file upnp/src/api/upnpapi.c, along with the other #include lines:
         #include <sys/sockio.h>
 Hint: Change the "as" symlink you created before (which points to /usr/sfw/bin/gas) to point to /usr/ccs/bin/as instead. The difference is that gas is GNU as, the other one is Solaris as, which is the one expected by cryptopp.
 
  • If you are compiling a SVN version of aMule, run the autogen.sh script. If not, ignore this step (you should first edit this file, and change the first line from #!/bin/sh to #!/bin/bash else, it will fail with an error.
  • Configure aMule. I used these options, but feel free to remove the ones you don't need:
 ./configure --enable-webserver --enable-amule-daemon --enable-amulecmd --enable-amule-gui --enable-cas --enable-wxcas --enable-alc --enable-alcc
 --disable-embedded-crypto --with-crypto-prefix=/usr/local/ --enable-geoip --enable-optimize --disable-debug
  • Type gmake, press <ENTER> and hope for the best.
  • If compilation went OK, install aMule with: gmake install.
  • ENJOY!

This guide was used for compiling aMule and aMuleWeb on Solaris Express for x86. I have no idea if it will work or not on previous Solaris releases or on SPARC, but it should. Also, if you got aMule compiled using other Solaris than Solaris Express (11 beta), please tell me how you did, or if this guide worked for you or any extra things you had to do, etc.

Last, but not least, this guide works only for aMule versions (either SVN or release) starting March 7th/2005, no previous aMule version will compile on Solaris following this guide.

Thanks goes to all the aMule dev team, specially Kry, who helped me a lot, and ken for the CPPFLAGS tip.