aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Guide to compile amule/amuleweb on Solaris 10 and 11  (Read 11135 times)

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1188
  • CentOS 6 User
Guide to compile amule/amuleweb on Solaris 10 and 11
« on: March 06, 2005, 09:02:58 PM »

Hi!

I just wrote this little guide to help you all solaris fans. Hope this helps!

   COMPILING AMULE/AMULEWEB ON SOLARIS 10 x86

[list=1]


   autoconf
   automake
   gd
   gettext
   gtk/gtk2
   libpng
   binutils

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

  • Simlink the GNU utilities in /usr/sfw/bin (or the ones in /opt/csw/bin) to their "right" names (gar=ar, gas=as, gld=ld, gmake=make, ggrep=grep,

gtar=tar, gsed=sed, gautopoint=autopoint, gbc=bc, etc...) somewhere in your path. I simlinked them to their same directory.

  • Now, get the latest wxGTK package from http://www.wxwidgets.org and compile it. Install it to /usr/local. I have not
       tried compiling it with unicode support, nor against GTK2, so basically this is untested. But should work.

  • Get the latest amule CVS from http://amule.hirnriss.net and uncompress it somewhere.

  • Set these two environment wariables:

   CPPFLAGS='-I /opt/csw/include'
   LDFLAGS='-L/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/openwin/lib:/usr/dt/lib:/usr/lib:/lib -R/usr/local/lib:/opt/csw/lib:/usr/lib:/usr/sfw/lib:/lib:/usr/dt/lib:/usr/openwin/lib'

  • Configure amule like this:

   ./configure --enable-webserver

  • Type "make" (without the quotation marks), press and hope for the best.
  • If compilation went OK, you can now run amule!

   ./src/amule

  • ENJOY!
  • [/list=1]


COMPILING AMULE/AMULEWEB ON SOLARIS 11 x86

[list=2]
  • Install the pkg-get script from http://www.blastwave.org/pkg-get.php
  • Use the pkg-get script to install some required libraries, which do not come with solaris, or the included ones will not work for some reason I don't know:


      autoconf
      automake
      gd
      gettext
      gtk/gtk2
      libpng
      binutils
      gmake
      gcc3

      These packages will install to /opt/csw tree

  • Set your path like this:

      PATH=/usr/local/bin:/opt/csw/gcc3/bin:/opt/csw/bin:/usr/sfw/bin:/usr/bin

  • Simlink the GNU utilities in /opt/csw/bin to their "right" names (gar=ar, gas=as, gld=ld, gmake=make, ggrep=grep,

      gtar=tar, gsed=sed, gautopoint=autopoint, gbc=bc, etc...) somewhere in your path. I simlinked them to their same directory.

  • Now, get the latest wxGTK package from http://www.wxwidgets.org and compile it. Install it to /usr/local. I installed it using GTK2, but forgot to add the unicode support :(. This will be tested later. It compiled fine using GTK2.

  • Get the latest cryptopp library from http://www.cryptopp.com and install it somewhere on your system (I know aMule includes a bundled cryptopp libraries, but when compiling on solaris, they refused to create my keys for secureID, so Kry suggested installing external cryptopp, which worked fine). For installing it, create somewhere a folder named cryptopp (for example: /temp/crypto521), move the zip file to that cryptopp foldeer you just created and unzip it. Then you simply run make and hope for the best. I will assume you uncompressed the .zip into /temp/crypto521.

  • Get the latest amule CVS from http://amule.hirnriss.net and uncompress it somewhere.

  • Set these two environment wariables:

      CPPFLAGS='-I /opt/csw/include -I/temp/crypto521'
      LDFLAGS='-L/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/openwin/lib:/usr/dt/lib:/usr/lib:/lib -R/usr/local/lib:/opt/csw/lib:/usr/lib:/usr/sfw/lib:/lib:/usr/dt/lib:/usr/openwin/lib'

The CPPFLAGS are parameters send to the compiler, -I tells where to find the include files (the first -I is for gd,png and other includes you installed on the second step, the second -I is the folder where you created the cryptopp folder and installed cryptopp)

The LDFLAGS are parameters to the linker: -L tell where to find libraries in non-standard places during linking, -R tells where to find libraries in non-standard places at runtime.

  • Configure amule like this:

      ./configure --enable-webserver --enable-amule-daemon --enable-amulecmd --enable-amule-gui --enable-cas --enable-wxcas --enable-alc --enable-alcc --enable-optimize --disable-debug --disable-embedded-crypto --with-crypto-prefix=/temp/cryptopp521/


  • Type "make" (without the quotation marks), press and hope for the best.
  • Most probably you will see lots of warnings, telling something about "The declaration is the place of previous declaration" or something like that. No idea why it happens (doesn't happen on linux) but the compilation finished OK. I think the includes in solaris have some problem, or maybe gcc doesn't use them right.
  • If compilation went OK, you can now run amule!

      ./src/amule

  • ENJOY!
  • [/list=2]

    These guides were used for compiling amule and amuleweb on Solaris 10 FCS, and Solaris 11 b_24. I have no idea if they will work or not on
    previous/later solaris releases, but they should. Also, if you got amule compiled on other solaris than 10 FCS or 11 b_24, please tell me how you did, or if this guide worked for you or any extra things you had to do, etc.

    WRITTEN BY Skolnick on March 6/2005, modified on May 17, 19/2005. Solaris 11 part added on December 16th 2005.

    Thanks goes to all the amule dev team, specially Kry, who helped me a lot, and ken for the CPPFLAGS tip also thanks to Gerd78 for the LDFLAGS tip.
Logged

xushi

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 45
    • http://xushi.co.uk
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #1 on: May 15, 2005, 07:11:08 PM »

Thanks for the guide. I've followed it step by step, but I'm still having some trouble with the make procedure.. trying to figure out where the problem is. Here's a screen dump.

Code: [Select]
./extern/listctrl.242.h:197: error: candidate is: virtual bool MuleExtern::wxGenericListCtrl::DoPopupMenu(wxMenu*, int, int)
extern/listctrl.242.cpp: In member function `bool MuleExtern::wxGenericListCtrl::DoPopupMenu(MuleExtern::wxMenu*, int, int)':
extern/listctrl.242.cpp:5429: error: no matching function for call to `MuleExtern::wxListMainWindow::PopupMenu(MuleExtern::wxMenu*&, int&, int&)'
/opt/csw/include/wx/window.h:694: note: candidates are: bool wxWindowBase::PopupMenu(wxMenu*, const wxPoint&)
/opt/csw/include/wx/window.h:696: note:                 bool wxWindowBase::PopupMenu(wxMenu*, int, int)
extern/listctrl.242.cpp: At global scope:
extern/listctrl.242.cpp:5465: warning: unused parameter 'item'
*** Error code 1
make: Fatal error: Command failed for target `amule-listctrl.o'
Current working directory /export/home/download/aMule-2.0.0/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='utils pixmaps kademlia '; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /export/home/download/aMule-2.0.0/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='m4 intl po docs src'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /export/home/download/aMule-2.0.0
*** Error code 1
make: Fatal error: Command failed for target `all'
root@yooniks:/download/aMule-2.0.0#    

I'm running Solaris 10 on a Sun Ultra 60 (Sparc)
Logged
--
Avtomat KaXushnikova
\/ushi - xushi.co.uk
/\          - socialprotest.com

I am nerdier than 94% of all people. Are you nerdier? Click here to find out!

xushi

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 45
    • http://xushi.co.uk
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #2 on: May 17, 2005, 08:57:00 PM »

Upgrading to wxWindows 2.6.0 seems to have gotten rid of that error. Now to fix the next error in line =)
Logged
--
Avtomat KaXushnikova
\/ushi - xushi.co.uk
/\          - socialprotest.com

I am nerdier than 94% of all people. Are you nerdier? Click here to find out!

jth

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4
RE: Guide to compile amule/amuleweb on Solaris 10
« Reply #3 on: June 17, 2005, 08:48:05 PM »

Quote
  • Now, get the latest wxGTK package from http://www.wxwidgets.org and compile it. Install it to /usr/local. I have not
       tried compiling it with unicode support, nor against GTK2, so basically this is untested. But should work.
I found that while the core of amule works with wxwidgets/gtk2, the gui is very unstable. I would recommend using wxwidgets/gtk1 for now.
Logged

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1188
  • CentOS 6 User
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #4 on: December 17, 2005, 03:11:24 AM »

OK guys and gals..I updated my guide to cover installation under solaris 11 also. As you will see, there are some additional steps required under 11 that were not necessary under 10. No idea if it is that way, or my 11 install is simply f**ed up. But anyway, following this guide worked for me, so I hope it will work for other people out there. Enjoy! and as always, any comments/questions/corrections are welcome.

Regards.
Logged

oracle

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 2
    • http://n/a
Compile Amule on Sun Blade 150
« Reply #5 on: June 09, 2006, 12:10:33 AM »

Thanks for the guide. I've followed it step by step, but I'm still having some trouble with the gmake procedure.. trying to figure out where the problem is. Here's a screen dump.
 
# gmake
gmake  all-recursive
gmake[1]: Entering directory `/opt/aMule-2.1.2'
Making all in m4
gmake[2]: Entering directory `/opt/aMule-2.1.2/m4'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/opt/aMule-2.1.2/m4'
Making all in docs
gmake[2]: Entering directory `/opt/aMule-2.1.2/docs'
Making all in man
gmake[3]: Entering directory `/opt/aMule-2.1.2/docs/man'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/opt/aMule-2.1.2/docs/man'
gmake[3]: Entering directory `/opt/aMule-2.1.2/docs'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/opt/aMule-2.1.2/docs'
gmake[2]: Leaving directory `/opt/aMule-2.1.2/docs'
Making all in src
gmake[2]: Entering directory `/opt/aMule-2.1.2/src'
Making all in libs
gmake[3]: Entering directory `/opt/aMule-2.1.2/src/libs'
Making all in ec
gmake[4]: Entering directory `/opt/aMule-2.1.2/src/libs/ec'
gmake  all-am
gmake[5]: Entering directory `/opt/aMule-2.1.2/src/libs/ec'
source='ECPacket.cpp' object='libec_noevt_a-ECPacket.o' libtool=no \
        DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
        g++ -DHAVE_CONFIG_H -I. -I. -I../../..   -I/usr/local/include -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES   -I../../../src -I../../../src/libs -DECSOCKET_USE_EVENTS=0 -DUSE_EMBEDDED_CRYPTO -W -Wall -Wshadow -Wundef -g -ggdb -fno-inline -D__DEBUG__ -fmessage-length=0 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC   -c -o libec_noevt_a-ECPacket.o `test -f 'ECPacket.cpp' || echo './'`ECPacket.cpp
In file included from /usr/include/sys/wait.h:24,
                 from /usr/include/stdlib.h:22,
                 from /usr/include/wx-2.6/wx/string.h:43,
                 from ECPacket.h:28,
                 from ECPacket.cpp:25:
/usr/include/sys/siginfo.h:259: error: 'ctid_t' is used as a type, but is not defined as a type.
/usr/include/sys/siginfo.h:390: error: 'ctid_t' is used as a type, but is not defined as a type.
gmake[5]: *** [libec_noevt_a-ECPacket.o] Error 1
gmake[5]: Leaving directory `/opt/aMule-2.1.2/src/libs/ec'
gmake[4]: *** [all] Error 2
gmake[4]: Leaving directory `/opt/aMule-2.1.2/src/libs/ec'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/opt/aMule-2.1.2/src/libs'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/opt/aMule-2.1.2/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/opt/aMule-2.1.2'
gmake: *** [all] Error 2
Logged

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1188
  • CentOS 6 User
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #6 on: June 11, 2006, 08:57:48 PM »

Hello Oracle

I am currently building binaries for Solaris x86, and will release them shortly. Sorry about the delay, but my solaris test machine just died, and spent a long ime building it up again. I will publish the binaries shortly, in the section for unofficial builds.

Regards.
Logged

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1188
  • CentOS 6 User
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #7 on: June 11, 2006, 09:01:20 PM »

Hello Oracle

Sorry, I just noticed you use SPARC, not x86. This guide was made using x86 versions of Solaris, since I have not enough money to buy a decent SPAC machine :( but IIRC, this guide worked mostly for xushi, who uses SPARC also. Maybe you want to contact him, and see if he has some advices for you. For now, all I can tell you is to please provide the compiler version you use, the version of make, ld, etc, and making sure you use the GNU stuff, not the SUN one (not that it will not work, but this guide is made for GNU things).

Regards.
Logged

vdb

  • Full Member
  • ***
  • Karma: 1
  • Offline Offline
  • Posts: 215
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #8 on: November 12, 2009, 03:15:15 PM »

To open up this rather old threat., I'm currently trying to compile aMule 2.2.6 on a Solaris 10 u8 x86 machine and it is not very succesful.

The compilation of a minimal "amule" (no upnp, no 118n, no unicode, only the monolith) completes succesfully, but the moment I run it, it crashes and produces a nice core dump.

Anybody have a good idea about what can be wrong here? Or how I can improve on the compilation, or perhaps just acqure the binaries and save me another weekend?  :)

Cheers.
Logged
A waste is a terrible thing to mind.

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Guide to compile amule/amuleweb on Solaris 10 and 11
« Reply #9 on: November 15, 2009, 12:49:03 PM »

Anybody have a good idea about what can be wrong here?
Not without a proper backtrace.
Also, this is the wrong board. If it compiles it's not a compilation problem. Please create a proper backtrace and start a new thread in the Backtraces board.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon