Results 1 to 15 of 110

Thread: Amule client for wl500gp

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Nov 2006
    Location
    Poland
    Posts
    12

    Amule client for wl500gp

    UPDATED 8/1/2007

    I've managed to provide the amule-package for wl500gp if somebody is interested . I think that 32MB RAM and 266Mhz CPU is absolutely minimum for amule but you can try it on different models.

    Starting from scratch (optional, depends on your current configuration):
    1 Switch to oleg-optware feed (src unslung http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable in /opt/etc/ipkg.conf)
    2 ipkg update
    3 install uclibc-opt libstdc++ and reinstall any already installed packages
    *4* install wxbase (2.8.0 from the oleg-optware feed)
    *5* install amule (2.1.3 from the oleg-optware feed)

    First run (needed for creating configuration's files, there is a script in /opt/etc/init.d that will start amule later) :

    1 export HOME=/opt/share/amule
    2 run 'amuled'
    The program will exit leaving /opt/share/amule/.amule/amule.conf that must be configured. I recommend to disable IPFiltering for saving resources. Provide some servers from http://ed2k.2x4u.de/index.html as server.met file.
    Don't know why but only few of those servers work for me. Or connect for ex. to DonkeyServer No6 [62.241.53.15:4242]
    3 Forward ports.I have problems with the udp-forwarding when the amule runs at wl500gp that acts as a router - kademlia is always firewalled (?)
    4 Run it again to test the configuration.
    5 Reboot.

    After some testing I've noticed that the program runs quite stable. amuleweb is php-based application, it's slow and takes a lot of CPU and RAM so maybe you'd to delete it and use a remote gui or a command line tool instead.
    Amuled (2.1.3) after 10h of intensive tests seems really stable - it's transfered 2-3GB without a single crash.
    Memory usage:
    total used free shared buffers cached
    Mem: 30140 28764 1376 0 740 9972
    -/+ buffers/cache: 18052 12088
    Swap: 498004 15376 482628
    Note:
    1 Unfortunately MuleDebug.cpp (aMule) is using functions that are not supported by the compiler so the exception's logging has gone away.
    2 The Amule package is dynamically linked against libstdc++6. I've run into some serious problems trying cross-compiling with libstdc/uclibc++. WxBase is cross-compiled.

    I also manage to compile an ocaml and mldonkey package but it takes too much resources, however it runs stable. It's a shame that ocaml doesn't provide a native-compiler for the mips-linux architecture.
    Last edited by gorion; 08-01-2007 at 10:22. Reason: amule-package is now in the optware feed
    Powered by 2 Asus wl500g Premium :-)

  2. #2
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    I am considering to split libstdc++ and libuclibc++ into two separate packages. wxbase is one of the packages that have problems with default cross libuClibc++ library. That's why you've managed to do native compile as there g++ is not wrapped as in cross.
    For cross compilation toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/nowrap/mipsel-linux-uclibc-g++
    or oolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc -x c++
    should be used.

    Can you provide .mk files for that?

  3. #3
    Join Date
    Nov 2006
    Location
    Poland
    Posts
    12
    mk for wxbase is standard. It's in the attachment. It must be polished between lines:[102-105] because I use this step to add missing include files to the source - there are exist in wxgtk sources but are not included in wxbase sources:
    Code:
    Dir:
    src/expat
    src/xml
    include/xml
    This should works.

    When you try to make wxbase-stage/ipk there are two problems with the makefile of wxbase:

    There are no bakefiles because I disabled precompiled headers in configuration's section of .mk (line 115) in order this project to compile. But the makefile try to install them so this line must be deleted:
    Code:
    (cd $(srcdir)/build/bakefiles/wxpresets/presets/ ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl $(DESTDIR)$(datadir)/bakefile/presets)
    Also I built the simplest version of wxbase but the makefile try to install all of the libraries and the install-strip section of the makefile should look like this
    Code:
    	install-strip: install
    $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_odbc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_dbgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
    #	$(STRIP) $(DESTDIR)$(PLUGINS_INST_DIR)/$(DLLPREFIX_MODULE)sound_sdl$(PLUGINSUFFIX)$(PLUGVERDELIM)$(PLUGIN_VERSION0)$(WXCOMPILER).$(SO_SUFFIX_MODULE)
    As you can see the 2.8.0 wxbase's source is quite buggy and patches must be genereted before this will be included in the official optware... or we wait for 2.8.1 :-)
    Attached Files Attached Files
    Last edited by gorion; 05-01-2007 at 00:42.
    Powered by 2 Asus wl500g Premium :-)

  4. #4
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    solved wxbase cross. See http://pastebin.ca/306336
    What about amule.mk?
    Last edited by oleo; 05-01-2007 at 09:51. Reason: pasetbin

  5. #5
    Join Date
    Nov 2006
    Location
    Poland
    Posts
    12
    Great! I'll test it later. I see that you switched sources to wxWidgets.

    I don't have a .mk for amule because I compile it simply with provided configure/make scripts on the router with buildroot and later pack the result files. I recommend 2 changes in the source files:
    - disable usage of bfd in the configure, I had some problems with linking result's files.
    - I can not compile MuleDebug.cpp. I provide some changes (rather brutal hack but it shouldn't broke anything) that removes exception-handling from that file = from all modules of amule. It's in attachment (there's also my build-configuration). Maybe there is a better way to solve this problem?

    After more tests I find cvs-amule quite unstable - works fine with a large number of small files with a great bandwidth performance, rarely crashed during hashing but it has problems with bigger files that causes amuled to crashed. Also there are some strange segmetation faults when program exits, for ex. when you exit the amulecmd or run just 'amuled' - maybe some problems with dynamically loaded libraries?
    Attached Files Attached Files
    Last edited by gorion; 05-01-2007 at 12:39.
    Powered by 2 Asus wl500g Premium :-)

  6. #6
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    I found similar solution for MuleDebug.cpp except that one must take care for other arch based on glibc to build cleanly. I had to restructure uClibc++ toolchain wrapper for cross compile. Now we are providing libstdc++ with uclibc-opt package

    wxBase builds cleanly with uclibc++ while amule has some stream issues and thus we are building it with libstdc++. I would be glad if someone can fix this issues as libstdc++ is three times larger than uClibc++.

    amule cross compile retained 2.1.3 version as CVS is reportedly unstable with large files?

    I must admit that I had not tested it. But now that we have official packages available, fixing some startup script or so is not difficult.

    For installing amule from http://ipkg.nslu2-linux.org/feeds/op.../cross/stable/ one has first to upgrade uclibc-opt to patchlevel 11 and upgrade libuclibc++
    Then install amule with
    Code:
    ipkg install amule

    I am following this thead to see user issues with packages.

Similar Threads

  1. How-to: Use your router as a BitTorrent Client
    By GerardNL in forum WL-700g Tutorials
    Replies: 28
    Last Post: 24-10-2007, 19:38
  2. Firewall dies
    By confused in forum WL-500g Q&A
    Replies: 0
    Last Post: 04-11-2006, 18:09
  3. Cannot enable WEP encryption in client mode
    By eldavies in forum WL-HDD Q&A
    Replies: 0
    Last Post: 07-09-2006, 21:27
  4. Firmware v1.9.2.7 CR4 [Oleg]
    By Oleg in forum WL-500g Firmware Releases
    Replies: 195
    Last Post: 08-08-2006, 13:18
  5. Asus WL-500b & Client Mode
    By cooper.zl in forum WL-500g Q&A
    Replies: 1
    Last Post: 17-10-2004, 18:27

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •