Showing posts with label amule. Show all posts
Showing posts with label amule. Show all posts

Saturday, January 2, 2010

To Compile aMule 2.2.6 on Debian 3.1 Sarge

aMule is a peer-to-peer file-sharing application. Although ed2k networks that aMule connects to have been shrinking in popularity, I prefer aMule over Bittorrent clients for its ability to create serverless P2P network (Kademlia). The aMule backported package for Debian 3.1 Sarge is outdated, so I compiled the latest version 2.2.6 of aMule on Debian Sarge. I installed the following packages first.



  • binutils-dev
  • bison
  • flex
  • g77
  • g++
  • gettext
  • make
  • libcrypto++-dev
  • libgd2-noxpm-dev (or libgd2-xpm-dev)
  • libgeoip-dev
  • libgtk2.0-dev
  • libjpeg62-dev
  • libpng12-dev
  • libreadline5-dev
  • libsm-dev
  • libtiff4-dev
  • libxpm-dev


aMule depends on wxGTK library, but wxGTK library in Debian Sarge is also outdated. So I downloaded the latest wxGTK source (wxGTK-2.8.10.tar.gz) from wxwidgets.org. I compiled wxGTK in the following way. The --disable-shared option causes a static library to be built. This allows me to install aMule on another system without having to install a separate wxGTK library.



tar xzvf wxGTK-2.8.10.tar.gz

cd wxGTK-2.8.10/

mkdir buildgtk

cd buildgtk

../configure --prefix=/usr --sysconfdir=/etc --build=i586-pc-linux-gnu --enable-monolithic --enable-optimise --enable-intl --enable-unicode --enable-threads --enable-mousewheel --with-gtk=2 --with-libpng --with-libjpeg --with-libtiff --with-libxpm --with-regex --with-zlib --with-expat --disable-shared --disable-abi-incompatible-features --disable-no_rtti --disable-no_exceptions --disable-joystick --disable-compat24

make

make install


aMule can use libupnp if available. I downloaded libupnp-1.6.6.tar.bz2 from pupnp.sf.net and compiled it statically like this:


tar xjvf libupnp-1.6.6.tar.bz2

cd libupnp-1.6.6/

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i586-pc-linux-gnu --disable-shared

make

make install


Then, I built aMule in the following way.


tar xjvf aMule-2.2.6.tar.bz2

cd aMule-2.2.6/

./configure --prefix=/usr --mandir=/usr/share/man --build=i586-pc-linux-gnu --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-cas --enable-wxcas --enable-alc --enable-alcc --enable-geoip --disable-debug --enable-optimize

make

make install


The following files are installed on the system:


/usr/bin/alc
/usr/bin/alcc
/usr/bin/amule
/usr/bin/amulecmd
/usr/bin/amuled
/usr/bin/amuleweb
/usr/bin/autostart-xas
/usr/bin/cas
/usr/bin/ed2k
/usr/bin/wxcas
/usr/lib/xchat/plugins/xas.pl
/usr/share/amule/skins/gnome.zip
/usr/share/amule/skins/kde4.zip
/usr/share/amule/skins/tango.zip
/usr/share/amule/skins/xfce.zip
/usr/share/amule/webserver/chicane/aMule.tmpl
/usr/share/amule/webserver/chicane/add_server.gif
/usr/share/amule/webserver/chicane/arrow_down.gif
/usr/share/amule/webserver/chicane/arrow_down_logout.gif
/usr/share/amule/webserver/chicane/arrow_right.gif
/usr/share/amule/webserver/chicane/arrow_up.gif
/usr/share/amule/webserver/chicane/back.gif
/usr/share/amule/webserver/chicane/black.gif
/usr/share/amule/webserver/chicane/blank1x1.gif
/usr/share/amule/webserver/chicane/blue1.gif
/usr/share/amule/webserver/chicane/blue2.gif
/usr/share/amule/webserver/chicane/blue3.gif
/usr/share/amule/webserver/chicane/blue4.gif
/usr/share/amule/webserver/chicane/blue5.gif
/usr/share/amule/webserver/chicane/blue6.gif
/usr/share/amule/webserver/chicane/cp_download.gif
/usr/share/amule/webserver/chicane/cp_kad.gif
/usr/share/amule/webserver/chicane/cp_search.gif
/usr/share/amule/webserver/chicane/cp_servers.gif
/usr/share/amule/webserver/chicane/cp_settings.gif
/usr/share/amule/webserver/chicane/cp_shared.gif
/usr/share/amule/webserver/chicane/cp_stats.gif
/usr/share/amule/webserver/chicane/downloads.php
/usr/share/amule/webserver/chicane/emule.gif
/usr/share/amule/webserver/chicane/favicon.ico
/usr/share/amule/webserver/chicane/green.gif
/usr/share/amule/webserver/chicane/greenpercent.gif
/usr/share/amule/webserver/chicane/index.php
/usr/share/amule/webserver/chicane/l_cancel.gif
/usr/share/amule/webserver/chicane/l_connect.gif
/usr/share/amule/webserver/chicane/l_down.gif
/usr/share/amule/webserver/chicane/l_ed2klink.gif
/usr/share/amule/webserver/chicane/l_info.gif
/usr/share/amule/webserver/chicane/l_pause.gif
/usr/share/amule/webserver/chicane/l_resume.gif
/usr/share/amule/webserver/chicane/l_up.gif
/usr/share/amule/webserver/chicane/log.gif
/usr/share/amule/webserver/chicane/login.php
/usr/share/amule/webserver/chicane/login_bottom.gif
/usr/share/amule/webserver/chicane/login_downmain.gif
/usr/share/amule/webserver/chicane/login_lefttop.gif
/usr/share/amule/webserver/chicane/login_righttop.gif
/usr/share/amule/webserver/chicane/login_top.gif
/usr/share/amule/webserver/chicane/login_topdown.gif
/usr/share/amule/webserver/chicane/login_topseperator.gif
/usr/share/amule/webserver/chicane/logo.jpg
/usr/share/amule/webserver/chicane/main_bg.gif
/usr/share/amule/webserver/chicane/main_top_bg.gif
/usr/share/amule/webserver/chicane/main_topbar.gif
/usr/share/amule/webserver/chicane/main_topbardarker.gif
/usr/share/amule/webserver/chicane/main_topbarseperator.gif
/usr/share/amule/webserver/chicane/phpamule.png
/usr/share/amule/webserver/chicane/preferences.php
/usr/share/amule/webserver/chicane/red.gif
/usr/share/amule/webserver/chicane/search.php
/usr/share/amule/webserver/chicane/servers.php
/usr/share/amule/webserver/chicane/shared.php
/usr/share/amule/webserver/chicane/stat_graphs.php
/usr/share/amule/webserver/chicane/stat_tree.php
/usr/share/amule/webserver/chicane/transparent.gif
/usr/share/amule/webserver/chicane/tree-closed.gif
/usr/share/amule/webserver/chicane/tree-leaf.gif
/usr/share/amule/webserver/chicane/tree-open.gif
/usr/share/amule/webserver/chicane/yellow.gif
/usr/share/amule/webserver/default/aMule.tmpl
/usr/share/amule/webserver/default/add_server.gif
/usr/share/amule/webserver/default/arrow_down.gif
/usr/share/amule/webserver/default/arrow_right.gif
/usr/share/amule/webserver/default/arrow_up.gif
/usr/share/amule/webserver/default/back.gif
/usr/share/amule/webserver/default/black.gif
/usr/share/amule/webserver/default/blue1.gif
/usr/share/amule/webserver/default/blue2.gif
/usr/share/amule/webserver/default/blue3.gif
/usr/share/amule/webserver/default/blue4.gif
/usr/share/amule/webserver/default/blue5.gif
/usr/share/amule/webserver/default/blue6.gif
/usr/share/amule/webserver/default/cp_download.gif
/usr/share/amule/webserver/default/cp_kad.gif
/usr/share/amule/webserver/default/cp_search.gif
/usr/share/amule/webserver/default/cp_servers.gif
/usr/share/amule/webserver/default/cp_settings.gif
/usr/share/amule/webserver/default/cp_shared.gif
/usr/share/amule/webserver/default/cp_stats.gif
/usr/share/amule/webserver/default/downloads.php
/usr/share/amule/webserver/default/emule.gif
/usr/share/amule/webserver/default/favicon.ico
/usr/share/amule/webserver/default/green.gif
/usr/share/amule/webserver/default/greenpercent.gif
/usr/share/amule/webserver/default/index.php
/usr/share/amule/webserver/default/l_cancel.gif
/usr/share/amule/webserver/default/l_connect.gif
/usr/share/amule/webserver/default/l_down.gif
/usr/share/amule/webserver/default/l_ed2klink.gif
/usr/share/amule/webserver/default/l_info.gif
/usr/share/amule/webserver/default/l_pause.gif
/usr/share/amule/webserver/default/l_resume.gif
/usr/share/amule/webserver/default/l_up.gif
/usr/share/amule/webserver/default/log.gif
/usr/share/amule/webserver/default/login.php
/usr/share/amule/webserver/default/logo.jpg
/usr/share/amule/webserver/default/phpamule.png
/usr/share/amule/webserver/default/preferences.php
/usr/share/amule/webserver/default/red.gif
/usr/share/amule/webserver/default/search.php
/usr/share/amule/webserver/default/servers.php
/usr/share/amule/webserver/default/shared.php
/usr/share/amule/webserver/default/stat_graphs.php
/usr/share/amule/webserver/default/stat_tree.php
/usr/share/amule/webserver/default/transparent.gif
/usr/share/amule/webserver/default/tree-closed.gif
/usr/share/amule/webserver/default/tree-leaf.gif
/usr/share/amule/webserver/default/tree-open.gif
/usr/share/amule/webserver/default/yellow.gif
/usr/share/amule/webserver/litoral/amuleweb-main-dload.php
/usr/share/amule/webserver/litoral/amuleweb-main-kad.php
/usr/share/amule/webserver/litoral/amuleweb-main-log.php
/usr/share/amule/webserver/litoral/amuleweb-main-prefs.php
/usr/share/amule/webserver/litoral/amuleweb-main-search.php
/usr/share/amule/webserver/litoral/amuleweb-main-servers.php
/usr/share/amule/webserver/litoral/amuleweb-main-shared.php
/usr/share/amule/webserver/litoral/amuleweb-main-stats.php
/usr/share/amule/webserver/litoral/black.gif
/usr/share/amule/webserver/litoral/blank1x1.gif
/usr/share/amule/webserver/litoral/blue1.gif
/usr/share/amule/webserver/litoral/blue2.gif
/usr/share/amule/webserver/litoral/blue3.gif
/usr/share/amule/webserver/litoral/blue4.gif
/usr/share/amule/webserver/litoral/blue5.gif
/usr/share/amule/webserver/litoral/blue6.gif
/usr/share/amule/webserver/litoral/cancel.gif
/usr/share/amule/webserver/litoral/close.png
/usr/share/amule/webserver/litoral/col.png
/usr/share/amule/webserver/litoral/connect.gif
/usr/share/amule/webserver/litoral/down.png
/usr/share/amule/webserver/litoral/edkserv_0.png
/usr/share/amule/webserver/litoral/edkserv_1.png
/usr/share/amule/webserver/litoral/favicon.ico
/usr/share/amule/webserver/litoral/filter.png
/usr/share/amule/webserver/litoral/fond.gif
/usr/share/amule/webserver/litoral/fond_haut.png
/usr/share/amule/webserver/litoral/footer.php
/usr/share/amule/webserver/litoral/index.html
/usr/share/amule/webserver/litoral/kitty.gif
/usr/share/amule/webserver/litoral/log.php
/usr/share/amule/webserver/litoral/login.php
/usr/share/amule/webserver/litoral/loginfond.gif
/usr/share/amule/webserver/litoral/loginfond_haut.png
/usr/share/amule/webserver/litoral/loginlogo.jpg
/usr/share/amule/webserver/litoral/loginlogo.png
/usr/share/amule/webserver/litoral/logo.png
/usr/share/amule/webserver/litoral/maquette.dwt
/usr/share/amule/webserver/litoral/ok.png
/usr/share/amule/webserver/litoral/pause.png
/usr/share/amule/webserver/litoral/play.png
/usr/share/amule/webserver/litoral/red.gif
/usr/share/amule/webserver/litoral/refresh.png
/usr/share/amule/webserver/litoral/search_0.png
/usr/share/amule/webserver/litoral/search_1.png
/usr/share/amule/webserver/litoral/shared_0.png
/usr/share/amule/webserver/litoral/shared_1.png
/usr/share/amule/webserver/litoral/sheserv_0.png
/usr/share/amule/webserver/litoral/sheserv_1.png
/usr/share/amule/webserver/litoral/stats.php
/usr/share/amule/webserver/litoral/stats_0.png
/usr/share/amule/webserver/litoral/stats_1.png
/usr/share/amule/webserver/litoral/stats_tree.php
/usr/share/amule/webserver/litoral/style.css
/usr/share/amule/webserver/litoral/tab_bottom.png
/usr/share/amule/webserver/litoral/tab_bottom_left.png
/usr/share/amule/webserver/litoral/tab_bottom_right.png
/usr/share/amule/webserver/litoral/tab_left.png
/usr/share/amule/webserver/litoral/tab_right.png
/usr/share/amule/webserver/litoral/tab_top.png
/usr/share/amule/webserver/litoral/tab_top_left.png
/usr/share/amule/webserver/litoral/tab_top_right.png
/usr/share/amule/webserver/litoral/transf_0.png
/usr/share/amule/webserver/litoral/transf_1.png
/usr/share/amule/webserver/litoral/tree-closed.gif
/usr/share/amule/webserver/litoral/tree-leaf.gif
/usr/share/amule/webserver/litoral/tree-open.gif
/usr/share/amule/webserver/litoral/up.png
/usr/share/amule/webserver/litoral/yellow.gif
/usr/share/amule/webserver/php-default/amuleweb-main-dload.php
/usr/share/amule/webserver/php-default/amuleweb-main-kad.php
/usr/share/amule/webserver/php-default/amuleweb-main-prefs.php
/usr/share/amule/webserver/php-default/amuleweb-main-search.php
/usr/share/amule/webserver/php-default/amuleweb-main-servers.php
/usr/share/amule/webserver/php-default/amuleweb-main-shared.php
/usr/share/amule/webserver/php-default/amuleweb-main-stats.php
/usr/share/amule/webserver/php-default/apply.jpeg
/usr/share/amule/webserver/php-default/arrow-r.png
/usr/share/amule/webserver/php-default/cancel.gif
/usr/share/amule/webserver/php-default/connect.gif
/usr/share/amule/webserver/php-default/delete.jpeg
/usr/share/amule/webserver/php-default/down.jpeg
/usr/share/amule/webserver/php-default/favicon.ico
/usr/share/amule/webserver/php-default/footer.php
/usr/share/amule/webserver/php-default/index.html
/usr/share/amule/webserver/php-default/login.php
/usr/share/amule/webserver/php-default/pause.jpeg
/usr/share/amule/webserver/php-default/phpamule.png
/usr/share/amule/webserver/php-default/resume.jpeg
/usr/share/amule/webserver/php-default/stats.php
/usr/share/amule/webserver/php-default/stats_tree.php
/usr/share/amule/webserver/php-default/toolbutton-connect.jpeg
/usr/share/amule/webserver/php-default/toolbutton-download-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-download.jpeg
/usr/share/amule/webserver/php-default/toolbutton-filter.jpeg
/usr/share/amule/webserver/php-default/toolbutton-kad-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-kad.jpeg
/usr/share/amule/webserver/php-default/toolbutton-logout-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-logout.jpeg
/usr/share/amule/webserver/php-default/toolbutton-reload.jpeg
/usr/share/amule/webserver/php-default/toolbutton-search-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-search.jpeg
/usr/share/amule/webserver/php-default/toolbutton-servers-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-servers.jpeg
/usr/share/amule/webserver/php-default/toolbutton-settings-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-settings.jpeg
/usr/share/amule/webserver/php-default/toolbutton-shared-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-shared.jpeg
/usr/share/amule/webserver/php-default/toolbutton-stats-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-stats.jpeg
/usr/share/amule/webserver/php-default/top.html
/usr/share/amule/webserver/php-default/tree-closed.gif
/usr/share/amule/webserver/php-default/tree-leaf.gif
/usr/share/amule/webserver/php-default/tree-open.gif
/usr/share/amule/webserver/php-default/up.jpeg
/usr/share/applications/alc.desktop
/usr/share/applications/amule.desktop
/usr/share/applications/wxcas.desktop
/usr/share/cas/stat.png
/usr/share/cas/tmp.html
/usr/share/doc/aMule-2.2.6/ABOUT-NLS
/usr/share/doc/aMule-2.2.6/Changelog
/usr/share/doc/aMule-2.2.6/EC_Protocol.txt
/usr/share/doc/aMule-2.2.6/ED2K-Links.HOWTO
/usr/share/doc/aMule-2.2.6/INSTALL
/usr/share/doc/aMule-2.2.6/README
/usr/share/doc/aMule-2.2.6/TODO
/usr/share/doc/aMule-2.2.6/amule-win32.HOWTO.txt
/usr/share/doc/aMule-2.2.6/amulesig.txt
/usr/share/doc/aMule-2.2.6/license.txt
/usr/share/doc/aMule-2.2.6/socks4.protocol
/usr/share/locale/ar/LC_MESSAGES/amule.mo
/usr/share/locale/ast/LC_MESSAGES/amule.mo
/usr/share/locale/bg/LC_MESSAGES/amule.mo
/usr/share/locale/ca/LC_MESSAGES/amule.mo
/usr/share/locale/cs/LC_MESSAGES/amule.mo
/usr/share/locale/da/LC_MESSAGES/amule.mo
/usr/share/locale/de/LC_MESSAGES/amule.mo
/usr/share/locale/el/LC_MESSAGES/amule.mo
/usr/share/locale/en_GB/LC_MESSAGES/amule.mo
/usr/share/locale/es/LC_MESSAGES/amule.mo
/usr/share/locale/et_EE/LC_MESSAGES/amule.mo
/usr/share/locale/eu/LC_MESSAGES/amule.mo
/usr/share/locale/fi/LC_MESSAGES/amule.mo
/usr/share/locale/fr/LC_MESSAGES/amule.mo
/usr/share/locale/gl/LC_MESSAGES/amule.mo
/usr/share/locale/he/LC_MESSAGES/amule.mo
/usr/share/locale/hr/LC_MESSAGES/amule.mo
/usr/share/locale/hu/LC_MESSAGES/amule.mo
/usr/share/locale/it/LC_MESSAGES/amule.mo
/usr/share/locale/it_CH/LC_MESSAGES/amule.mo
/usr/share/locale/ja/LC_MESSAGES/amule.mo
/usr/share/locale/ko_KR/LC_MESSAGES/amule.mo
/usr/share/locale/lt/LC_MESSAGES/amule.mo
/usr/share/locale/nl/LC_MESSAGES/amule.mo
/usr/share/locale/nn/LC_MESSAGES/amule.mo
/usr/share/locale/pl/LC_MESSAGES/amule.mo
/usr/share/locale/pt_BR/LC_MESSAGES/amule.mo
/usr/share/locale/pt_PT/LC_MESSAGES/amule.mo
/usr/share/locale/ru/LC_MESSAGES/amule.mo
/usr/share/locale/sl/LC_MESSAGES/amule.mo
/usr/share/locale/sq/LC_MESSAGES/amule.mo
/usr/share/locale/sv/LC_MESSAGES/amule.mo
/usr/share/locale/tr/LC_MESSAGES/amule.mo
/usr/share/locale/uk/LC_MESSAGES/amule.mo
/usr/share/locale/zh_CN/LC_MESSAGES/amule.mo
/usr/share/locale/zh_TW/LC_MESSAGES/amule.mo
/usr/share/man/de/man1/alc.1
/usr/share/man/de/man1/alcc.1
/usr/share/man/de/man1/amule.1
/usr/share/man/de/man1/amulecmd.1
/usr/share/man/de/man1/amuled.1
/usr/share/man/de/man1/amuleweb.1
/usr/share/man/de/man1/cas.1
/usr/share/man/de/man1/ed2k.1
/usr/share/man/de/man1/wxcas.1
/usr/share/man/de/man1/xas.1
/usr/share/man/es/man1/alc.1
/usr/share/man/es/man1/alcc.1
/usr/share/man/es/man1/amule.1
/usr/share/man/es/man1/amulecmd.1
/usr/share/man/es/man1/amuled.1
/usr/share/man/es/man1/amuleweb.1
/usr/share/man/es/man1/cas.1
/usr/share/man/es/man1/ed2k.1
/usr/share/man/es/man1/wxcas.1
/usr/share/man/es/man1/xas.1
/usr/share/man/eu/man1/alc.1
/usr/share/man/eu/man1/alcc.1
/usr/share/man/eu/man1/amule.1
/usr/share/man/eu/man1/amulecmd.1
/usr/share/man/eu/man1/amuled.1
/usr/share/man/eu/man1/amuleweb.1
/usr/share/man/eu/man1/cas.1
/usr/share/man/eu/man1/ed2k.1
/usr/share/man/eu/man1/wxcas.1
/usr/share/man/eu/man1/xas.1
/usr/share/man/fr/man1/alcc.1
/usr/share/man/fr/man1/amule.1
/usr/share/man/fr/man1/amulecmd.1
/usr/share/man/fr/man1/amuled.1
/usr/share/man/fr/man1/amuleweb.1
/usr/share/man/fr/man1/ed2k.1
/usr/share/man/hu/man1/alc.1
/usr/share/man/hu/man1/alcc.1
/usr/share/man/hu/man1/amule.1
/usr/share/man/hu/man1/amulecmd.1
/usr/share/man/hu/man1/amuled.1
/usr/share/man/hu/man1/amuleweb.1
/usr/share/man/hu/man1/cas.1
/usr/share/man/hu/man1/ed2k.1
/usr/share/man/hu/man1/wxcas.1
/usr/share/man/hu/man1/xas.1
/usr/share/man/it/man1/amule.1
/usr/share/man/it/man1/amulecmd.1
/usr/share/man/it/man1/amuled.1
/usr/share/man/it/man1/amuleweb.1
/usr/share/man/it/man1/ed2k.1
/usr/share/man/man1/alc.1
/usr/share/man/man1/alcc.1
/usr/share/man/man1/amule.1
/usr/share/man/man1/amulecmd.1
/usr/share/man/man1/amuled.1
/usr/share/man/man1/amuleweb.1
/usr/share/man/man1/cas.1
/usr/share/man/man1/ed2k.1
/usr/share/man/man1/wxcas.1
/usr/share/man/man1/xas.1
/usr/share/pixmaps/alc.xpm
/usr/share/pixmaps/amule.xpm
/usr/share/pixmaps/wxcas.xpm

Saturday, August 22, 2009

Using Hex Editor to Make aMule work on Windows 9x/ME

I successfully compiled aMule for Windows. My own aMule binary worked fine on Windows XP and Windows Vista. But it failed on Windows ME with an error pop-up:


The AMULE.EXE file is linked to missing export
KERNEL32.DLL:SetFilePointerEx.

I searched Yahoo! for a solution to this problem using these keywords: missing export kernel32.dll setfilepointerex. I was led to this webpage. It is said that SetFilePointerEx can be replaced with SetFilePointer on Windows 98/ME. Rather than fixing it from the source level, I resorted to a hex editor to quickly fix the problem.


I downloaded XVI and opened amule.exe. I searched for the text string "SetFilePointerEx" and overwrote the ending "Ex" with hex strings "00 00".


aMule started alright. I hope it functions without a problem.


Related Links


Tuesday, August 18, 2009

MinGW: Building aMule for Windows

aMule is a peer-to-peer file-sharing program for Windows, Linux, Mac and *BSD. aMule can be used to share files with users of eMule. This post describes the steps I took in building aMule for Windows.


  1. First, install MinGW as shown in this post. Download pkg-config.exe and save it in /mingw/bin:



  2. Install Strawberry Perl or ActivePerl. If you've already unpacked aMule source, open src/libs/ec/file_generator.perl with a text editor and modify the first line. If ActivePerl is installed:
    #!/c/Perl/bin/perl

    If Strawberry Perl is installed:


    #!/c/strawberry/perl/bin/perl


  3. Download the Zlib source (zlib125.zip) and unpack it with unzip or 7zip. Then, compile Zlib like this:


    cd zlib-1.2.5/ 
    make -f win32/Makefile.gcc

    Manually copy the files as follows:


    cp -iv zlib1.dll /mingw/bin
    cp -iv zconf.h zlib.h /mingw/include
    cp -iv libz.a /mingw/lib
    cp -iv libzdll.a /mingw/lib/libz.dll.a


  4. Build wxMSW statically and monolithically as shown in this post. Alternatively, you can also build wxMSW as shared library.



  5. Download Crypto++ source (cryptopp560.zip) and extract it into a new folder:
    mkdir cryptopp
    cd cryptopp
    unzip ../cryptopp560.zip

    Prior to compiling Crypto++, I changed the line that define PREFIX at the beginning of GNUmakefile:


    # Default prefix for make install

    ifeq ($(PREFIX),)

    PREFIX = /mingw

    endif

    Then, I compiled Crypto++ with this command:


    make -f GNUmakefile

    Compile stopped on rijndael.cpp with the error: 'alloca' was not declared in this scope. So I added #include <malloc.h> to the beginning of rijndael.cpp and resumed make -f GNUmakefile. After make finished, I installed Crypto++ by typing:


    make -f GNUmakefile install

    The following files are installed under /mingw:


    bin/cryptest.exe

    include/cryptopp/

    lib/libcryptopp.a

  6. Download GeoIP source from here. Compile GeoIP like this:

    ./configure --prefix=/mingw LDFLAGS="-L/mingw/lib -lws2_32 -lz"

    make

    make install

    The following files are installed.


    include/GeoIP.h
    include/GeoIPCity.h
    /include/GeoIPUpdate.h
    lib/libGeoIP.a
    lib/libGeoIP.la
    lib/libGeoIPUpdate.a
    lib/libGeoIPUpdate.la

    I created GeoIP.dll as follows:


    cd libGeoIP/.libs

    mkdir ws2_32

    cd ws2_32

    ar x /mingw/lib/libws2_32.a

    cd ..

    dllwrap --export-all-symbols --add-stdcall-alias -o GEOIP.DLL --dllname
    GEOIP.DLL GeoIP.o GeoIPCity.o regionName.o timeZone.o ws2_32/dkrgs00086.o ws2_32/dkrgs00082.o ws2_32/dkrgs00081.o -L/mingw/lib -lws2_32 -lz

    Then, I created an import library for GeoIP.dll like this:


    echo EXPORTS > geoip.def

    nm GEOIP.DLL | grep ' T _' | sed 's/.* T _//' | grep -i geoip >> geoip.def

    dlltool --def geoip.def --dllname GEOIP.DLL --output-lib libgeoip.dll.a

    Move GEOIP.DLL to /mingw/bin and libgeoip.dll.a to /mingw/lib. Then, modify /mingw/lib/libGeoIP.la as necessary.



    # The name that we can dlopen(3).
    dlname='../bin/GEOIP.DLL'

    # Names of this library.
    library_names='libgeoip.dll.a'


  7. Build GNU regex library as shown in this post.



  8. Get the latest libiconv source (libiconv-1.13.1.tar.gz) and compile it like this:
    ./configure --prefix=/mingw --disable-shared
    make
    make install

    Then, get the latest gettext source (gettext-0.17.tar.gz) and compile it as follows:


    ./configure --prefix=/mingw --enable-threads=win32 --enable-relocatable --disable-shared

    cd gettext-runtime

    make

    make install


  9. Get the aMule source and unpack it. I compiled aMule like this:


    ./configure --prefix=/mingw --enable-geoip --enable-amulecmd --enable-alc --enable-alcc --enable-nls --enable-rpath --enable-optimize --disable-debug

    make

    make install

    aMule installs the following files under /mingw:


    bin/amule.exe
    bin/autostart-xas
    bin/ed2k.exe
    lib/xchat/plugins/xas.pl
    man/de/man1/amule.1
    man/de/man1/ed2k.1
    man/de/man1/xas.1
    man/es/man1/amule.1
    man/es/man1/ed2k.1
    man/es/man1/xas.1
    man/eu/man1/amule.1
    man/eu/man1/ed2k.1
    man/eu/man1/xas.1
    man/fr/man1/amule.1
    man/fr/man1/ed2k.1
    man/hu/man1/amule.1
    man/hu/man1/ed2k.1
    man/hu/man1/xas.1
    man/man1/amule.1
    man/man1/ed2k.1
    man/man1/xas.1
    share/amule/skins/gnome.zip
    share/amule/skins/kde4.zip
    share/amule/skins/tango.zip
    share/amule/skins/xfce.zip
    share/applications/amule.desktop
    share/doc/aMule-2.2.5/ABOUT-NLS
    share/doc/aMule-2.2.5/Changelog
    share/doc/aMule-2.2.5/EC_Protocol.txt
    share/doc/aMule-2.2.5/ED2K-Links.HOWTO
    share/doc/aMule-2.2.5/INSTALL
    share/doc/aMule-2.2.5/README
    share/doc/aMule-2.2.5/TODO
    share/doc/aMule-2.2.5/amule-win32.HOWTO.txt
    share/doc/aMule-2.2.5/amulesig.txt
    share/doc/aMule-2.2.5/license.txt
    share/doc/aMule-2.2.5/socks4.protocol
    share/locale/ar/LC_MESSAGES/amule.mo
    share/locale/ast/LC_MESSAGES/amule.mo
    share/locale/bg/LC_MESSAGES/amule.mo
    share/locale/ca/LC_MESSAGES/amule.mo
    share/locale/cs/LC_MESSAGES/amule.mo
    share/locale/da/LC_MESSAGES/amule.mo
    share/locale/de/LC_MESSAGES/amule.mo
    share/locale/el/LC_MESSAGES/amule.mo
    share/locale/en_GB/LC_MESSAGES/amule.mo
    share/locale/es/LC_MESSAGES/amule.mo
    share/locale/et_EE/LC_MESSAGES/amule.mo
    share/locale/eu/LC_MESSAGES/amule.mo
    share/locale/fi/LC_MESSAGES/amule.mo
    share/locale/fr/LC_MESSAGES/amule.mo
    share/locale/gl/LC_MESSAGES/amule.mo
    share/locale/he/LC_MESSAGES/amule.mo
    share/locale/hr/LC_MESSAGES/amule.mo
    share/locale/hu/LC_MESSAGES/amule.mo
    share/locale/it/LC_MESSAGES/amule.mo
    share/locale/it_CH/LC_MESSAGES/amule.mo
    share/locale/ja/LC_MESSAGES/amule.mo
    share/locale/ko_KR/LC_MESSAGES/amule.mo
    share/locale/lt/LC_MESSAGES/amule.mo
    share/locale/nl/LC_MESSAGES/amule.mo
    share/locale/nn/LC_MESSAGES/amule.mo
    share/locale/pl/LC_MESSAGES/amule.mo
    share/locale/pt_BR/LC_MESSAGES/amule.mo
    share/locale/pt_PT/LC_MESSAGES/amule.mo
    share/locale/ru/LC_MESSAGES/amule.mo
    share/locale/sl/LC_MESSAGES/amule.mo
    share/locale/sq/LC_MESSAGES/amule.mo
    share/locale/sv/LC_MESSAGES/amule.mo
    share/locale/tr/LC_MESSAGES/amule.mo
    share/locale/uk/LC_MESSAGES/amule.mo
    share/locale/zh_CN/LC_MESSAGES/amule.mo
    share/locale/zh_TW/LC_MESSAGES/amule.mo
    share/pixmaps/amule.xpm

    To save disk space, you may choose to make the executable files smaller by running this command: strip *.exe


  10. aMule uses GeoIP data if it is built with GeoIP support. You can copy GeoIP.dat from the GeoIP source package to the aMule folder.
  11. Installing aMule is easy even without an installer. Just copy aMule and its files into a new folder, for example C:\Program Files\aMule. To create a shortcut in the Start menu, go to %APPDATA%\Microsoft\Windows\Start Menu and create a shortcut there.


Related Posts


About This Blog

KBlog logo This blog is about current events and issues concerning general population. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

icon
Powered By Blogger