aMule Forum

Deutsch => aMule Hilfe => Topic started by: Zappa on May 15, 2005, 01:56:27 PM

Title: amuled kompilieren
Post by: Zappa on May 15, 2005, 01:56:27 PM
Hi,

was mache ich beim kompilieren falsch?

Code: [Select]
amule-cvs$ ./configure --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether make sets $(MAKE)... (cached) yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for bison... bison -y
checking whether ln -s works... yes
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for ar... ar
checking for ld... ld
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for zlib >= 1.1.4... yes (version 1.2.2)
checking for libpng-config... /usr/bin/libpng-config
checking for libpng version >= 1.2.0... yes (version 1.2.8)
checking gd.h usability... no
checking gd.h presence... no
checking for gd.h... no
configure:
        WARNING: libpng-devel >= 1.2.0 is needed for amuleweb

checking whether we need the GUI... no
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 2.4.2... yes (version 2.6.0)
configure: WARNING: wxWidgets >=2.5.0: Using wx-config --libs base,net
configure: WARNING: Disabling taskbar icon support as we have no GUI.
checking whether to use embedded Crypto... yes
checking for bfd headers... no
configure: WARNING: bfd.h not found, please install binutils development package if you are a developer or want to help testing aMule
checking for autopoint... ./configure: line 1: autopoint: command not found
no ()
configure: error: You need to install GNU gettext/gettext-tools to compile aMule

WXbase hab ich schon installiert. gettext und binutils waren schon von anfang an installiert. Trotzdem funktioniert wie man oben sieht, das kompilieren des amuled net wirklich. wer kann mir weiter helfen?
Title: Re: amuled kompilieren
Post by: deltaHF on May 16, 2005, 11:02:38 AM
tjo.. gettext magst du zwar da haben, aber vielleicht nicht das -devel package? k.a wie das bei debian heisst.
ausserdem fehlt dir noch gd bzw. libgd und ebenfalls die dazugehörigen -devels

gruss
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 12:09:07 PM
könntet ihr mir mal die sachen auflisten, die ich fürs kompilieren benötige?
Title: Re: amuled kompilieren
Post by: deltaHF on May 16, 2005, 12:11:40 PM
was für wx hast du denn jetzt genau compiliert? wxgtk mit wxbase oder nur wxgtk oder nur wxbase? und welche version
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 02:08:03 PM
hab nur wxbase 2.6.0
Title: Re: amuled kompilieren
Post by: stefanero on May 16, 2005, 03:04:53 PM
passt ;)
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 07:17:07 PM
Ich hab als erstes das wxbase Paket entpackt. Dann hab ich die wxbase mit dem Befehl "./configure --prefix=/usr && make " kompiliert. Als root hab ich dann "make install
ln -sf /usr/bin/wxgtk-2.4-config /usr/bin/wx-config
ln -sf /usr/bin/wxbase-2.4-config /usr/bin/wxbase-config
ldconfig" eingetippt. Soweit läuft ja alles ganz gut. Dann geh ich ins amule CVS Verzeichnis und kompiliere es mit "./configure --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon" den Deamon. So und da sagt er mir das etwas fehlt. Welche sachen brauch ich denn um amule zu kompilieren. Nur wxbase?!?!?!
Title: Re: amuled kompilieren
Post by: deltaHF on May 16, 2005, 07:20:04 PM
die musst du dir dann zusammensuchen und installieren..
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 07:26:55 PM
So wie es aussieht werd ich wohl auch wxwidgets brauchen
Code: [Select]
configure:
        WARNING: libpng-devel >= 1.2.0 is needed for amuleweb

checking whether we need the GUI... no
checking for wx-config... no
configure: error:
        You need wxWidgets ([URL]http://www.wxwidgets.org/[/URL]) to compile aMule. If you
        have wxWidgets installed, please check that wx-config is in path, and
        the directory where wxWidgets libraries are installed is in
        LD_LIBRARY_PATH or equivalent variable. If you have wx-config in a
        non-standard location please use the --with-wx-config=/path/to/wx-config
        configure option.
oder?
Title: Re: amuled kompilieren
Post by: stefanero on May 16, 2005, 07:36:12 PM
ln -sf /usr/bin/wxgtk-2.4-config /usr/bin/wx-config
ln -sf /usr/bin/wxbase-2.4-config /usr/bin/wxbase-config

huh???

nix nix nix :))

das is ja für 2.4.2 nicht wx-2.6

wenn du daemon willst einfach nur das confiugre  und make && make install bei wxbase und fertig...
so steht auch auf
http://wiki.amule.org

stefanero
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 07:44:49 PM
Ja ok aber was ist hiermit?
Code: [Select]
configure: error:
        You need wxWidgets ([URL]http://www.wxwidgets.org/[/URL]) to compile aMule. If you
        have wxWidgets installed, please check that wx-config is in path, and
        the directory where wxWidgets libraries are installed is in
        LD_LIBRARY_PATH or equivalent variable. If you have wx-config in a
        non-standard location please use the --with-wx-config=/path/to/wx-config
        configure option.
Title: Re: amuled kompilieren
Post by: stefanero on May 16, 2005, 07:45:42 PM
yo, da deine links FALSCH sind, findet er wxWidgets nicht..
Title: Re: amuled kompilieren
Post by: Zappa on May 16, 2005, 07:46:35 PM
mmh ja aber ich hab doch nur wxBase installiert und net WxWidgets
Title: Re: amuled kompilieren
Post by: stefanero on May 16, 2005, 07:48:28 PM
wxWidgets ist wxBase UND wxGTK, es sind nur unterschiedliche versionen der gleichen sache...

wxBase is für console apps, wie amuled und amuleweb
und
wxGTk is für amule-gui

alle BEIDE kommen aber von wxWidgets...

stefanero

PS. zum fixen der links, lösche beide als root, und mache in deinem wxBase ordner einfach nochmal "make install"
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 02:34:32 PM
alles klar hat geklappt. Hab aber noch eine Frage. Wie kann ich amule per cronjob bei reboot automatisch starten lassen?
Title: Re: amuled kompilieren
Post by: stefanero on May 17, 2005, 03:15:18 PM
huh warum cronjob? mach doch ein init script...
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 05:15:11 PM
ok wie mach ich das? :))
Title: Re: amuled kompilieren
Post by: stefanero on May 17, 2005, 06:13:57 PM
zum einen search im forum benutzen:

zB
http://forum.amule.org/thread.php?threadid=6113

oder acuh
http://forum.amule.org/thread.php?threadid=4927

musst halt immer ein wenig anpassen....

stefanero
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 06:19:22 PM
da muss ich aber für den daemon ne menge abändern   :(
Title: Re: amuled kompilieren
Post by: stefanero on May 17, 2005, 06:27:44 PM
so ist das leben, vor allem kannst viel rauslassen....
das erste is wohl das bessere von beiden...

such dir einfach raus was du brauhst (amuled und amuleweb) und schreib es halt schnell in ein neues script
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 07:50:28 PM
ich hab diesen Code in die datei rcamule(befindet sich in /etc/init.d) eingefügt:

Code: [Select]
#!/bin/sh
#
# Startup script for aMuled
#
# chkconfig: 345 80 30
#
# description: Starts the aMule deamon. The service is available \
#              via [URL]http://localhost:4711.[/URL] The deamon runs under \
#              the amule account
#
# processname: amule
USER=amule
RETVAL=0

# Source function library.
if [ -f /etc/init.d/functions ] ; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
 . /etc/rc.d/init.d/functions
else
 exit 0
fi      

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/bin/amuled -o -f /usr/local/bin/amuled  ] || exit 0

  start() {
         gprintf "Starting the aMule daemon: "
         daemon  --user $USER amuled &
         #RETVAL is never returned by aMule?
         RETVAL=0
         echo
         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/amuled || \
          RETVAL=1
         return $RETVAL
  }
  stop() {
         gprintf "Shutting down the aMule daemon: "
         killproc amuled
         RETVAL=$?
         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/amuled
         echo
         return $RETVAL
         
 }
  status() {
         status amuled
         RETVAL=$?
  }
  restart() {
         $0 stop
         $0 start
 }
  mdkstatus() {
        status amuled
  }

case "$1" in
  start)
        start
        ;;
  stop)
       stop                                        
       ;;
  restart)
       restart
       ;;
  status)
       mdkstatus
       ;;
  *)
      gprintf "Usage: %s {start|stop|restart|status}\n" "$0"
      exit 1
esac
     
exit $?

Wenn ich das Script dann mit chmod 777 ausführbar mache und dann starten will. passiert nichts  ?(
Title: Re: amuled kompilieren
Post by: stefanero on May 17, 2005, 08:07:54 PM
hast du einen user amule?

dann sind zb die dinge:

 mdkstatus() {
        status amuled
  }

mandrake spezifisch...vielleicht rausnehmen, dann sind dinge wie:

# Source function library.
if [ -f /etc/init.d/functions ] ; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
 . /etc/rc.d/init.d/functions
else
 exit 0
fi      

acuh net so wild...auch raus..

gibt es bei dir den pfad : /var/lock/subsys/
wenn nicht entweder im scrupt den pfad ändern oder anlegen...

und sonst, hmm rest sollte passen, amule ist im pfad oder?

wenn du als root!! (weil das script wird als root gestartet, aber mti dem user "amule" in diesem fall) kommt da amule acuh? (das is nur für testzecke!! nie amule als root laufen lassen)

stefanero
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 08:46:46 PM
Ok habs so abgeändert:
Code: [Select]
#!/bin/sh
#
# Startup script for aMuled
#
# chkconfig: 345 80 30
#
# description: Starts the aMule deamon. The service is available \
#              via [URL]http://localhost:4711.[/URL] The deamon runs under \
#              the amule account
#
# processname: amule
USER=chris
RETVAL=0

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/bin/amuled -o -f /usr/local/bin/amuled  ] || exit 0

  start() {
         gprintf "Starting the aMule daemon: "
         daemon  --user $USER amuled &
         #RETVAL is never returned by aMule?
         RETVAL=0
         echo
         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/amuled || \
          RETVAL=1
         return $RETVAL
  }
  stop() {
         gprintf "Shutting down the aMule daemon: "
         killproc amuled
         RETVAL=$?
         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/amuled
         echo
         return $RETVAL
         
 }
  status() {
         status amuled
         RETVAL=$?
  }
  restart() {
         $0 stop
         $0 start
 }
 

case "$1" in
  start)
        start
        ;;
  stop)
       stop                                        
       ;;
  restart)
       restart
       ;;

  *)
      gprintf "Usage: %s {start|stop|restart|status}\n" "$0"
      exit 1
esac
     
exit $?

Is das so OK? Und was ist mit dem Teil
Code: [Select]
# Get config.
. /etc/sysconfig/network
kann ich den raus lassen?
Title: Re: amuled kompilieren
Post by: Zappa on May 17, 2005, 09:02:47 PM
Es hat nicht zufällig jemand nen fertiges debian init startscript zur hand oder   :(
Title: Re: amuled kompilieren
Post by: stefanero on May 17, 2005, 09:11:33 PM
das mit

# Get config.
. /etc/sysconfig/network

kannst auch raus packen...

was sasgt er dann wenn du machst

/etc/init.d/rcamule start

??
Title: auch ein Problem beim Compilieren von amuled
Post by: qwertz2wal on May 17, 2005, 10:33:33 PM
Hallo Ihr,

ich habe Eure Diskussion verfolgt und versucht parallel selber klarzukommen. Ich will amuled auf einem alten separaten Server im Keller laufen lassen und ihn vom Arbeitsplatz aus steuern. Beide laufen unter SuSE 8.2

Leider stoße ich beim Compilieren von amuled auf cryptische Fehler (ganz am Ende), axBase klappt vorher

===>1.) wxBase-2.6.0
uwe@IDEFIX:~/aMule> cd wxBase-2.6.0
uwe@IDEFIX:~/aMule/wxBase-2.6.0> ./configure --prefix=/usr/
...
config.status: executing wx-config commands
Configured wxWidgets 2.6.0 for `i586-pc-linux-gnu'

  Which GUI toolkit should wxWidgets use?                 base only
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be compiled in debug mode?             no
  Should wxWidgets be linked as a shared library?         yes
  Should wxWidgets be compiled in Unicode mode?           no
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.2      no
                                       wxWidgets 2.4      yes
  Which libraries should wxWidgets use?
                                       jpeg               none
                                       png                none
                                       regex              sys
                                       tiff               none
                                       zlib               sys
                                       odbc               no
                                       expat              sys
                                       libmspack          no
                                       sdl                no
                                       gnomeprint         none

uwe@IDEFIX:~/aMule/wxBase-2.6.0> make
uwe@IDEFIX:~/aMule/wxBase-2.6.0> su
Password:
IDEFIX:/home/uwe/aMule/wxBase-2.6.0 # make install
done

 ------------------------------------------------------

 The installation of wxWidgets is finished.  On certain
 platforms (e.g. Linux) you'll now have to run ldconfig
 if you installed a shared library and also modify the
 LD_LIBRARY_PATH (or equivalent) environment variable.

 wxWidgets comes with no guarantees and doesn't claim
 to be suitable for any purpose.

 Read the wxWidgets Licence on licencing conditions.

 ------------------------------------------------------

IDEFIX:/home/uwe/aMule/wxBase-2.6.0 # ldconfig
IDEFIX:/home/uwe/aMule/wxBase-2.6.0 # exit
exit

===>2. amule:
uwe@IDEFIX:~/aMule/wxBase-2.6.0> cd ../amule-cvs
uwe@IDEFIX:~/aMule/amule-cvs> ./configure --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon
checking build system type... i586-pc-linux-gnu
...

  **** aMule TextClient ****
  Should aMule Command Line Client be built?                 yes
  Should aMule GUI Client be built?                          no

  **** aMule WebServer ****
  Should aMule WebServer be built?                           yes
  Should aMule WebServer GUI be built?                       no

  **** aMule ED2K Links Handler ****
  Should aMule ED2K Links Handler be built?                  yes

  **** aMuleLinkCreator ****
  Should aMuleLinkCreator GUI version (alc) be built?        no
  Should aMuleLinkCreator for console (alcc) be built?       no

  **** aMule Statistics ****
  Should C aMule Statistics (CAS) be built?                  no
  Should aMule GUI Statistics (wxCas) be built?              no

  **** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                                       wxWidgets             2.6.0
                                       crypto++              embedded
                                       libpng                1.2.5
                                       zlib                  1.1.4

uwe@IDEFIX:~/aMule/amule-cvs> make
...
WebServer.cpp: In member function `wxString CWebServer::_GetHeader(ThreadData, long int)':
WebServer.cpp:793: error: ambiguous overload for `wxString& = CFormat&' operator
/usr/include/wx-2.6/wx/string.h:843: error: candidates are: wxString& wxString::operator=(const wxStringBase&)
/usr/include/wx-2.6/wx/string.h:915: error:                 wxString& wxString::operator=(const wxString&)
make[3]: *** [amuleweb-WebServer.o] Fehler 1
make[3]: Leaving directory `/home/uwe/aMule/amule-cvs/src'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/uwe/aMule/amule-cvs/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/uwe/aMule/amule-cvs'
make: *** [all] Fehler 2
uwe@IDEFIX:~/aMule/amule-cvs>


knurps

Kann jemand helfen?
Title: Re: amuled kompilieren
Post by: deltaHF on May 17, 2005, 10:40:17 PM
der gcc is zu alt unter 8.2 .. heute kann ich dir nicht mehr helfen, werde aber morgen abend sagen was zu ändern ist

gruss
Title: Re: amuled kompilieren
Post by: deltaHF on May 18, 2005, 11:15:04 AM
also, du musst 2 sachen ändern und zwar einmal in Format.cpp und Format.h

beide files findest du im src verzeichnis.

Format.cpp line 105

Code: [Select]
#if GCC_VERSION > 30203
auf

Code: [Select]
#if GCC_VERSION > 31000
Format.h line 124

Code: [Select]
#if GCC_VERSION > 30203
auf

Code: [Select]
#if GCC_VERSION > 31000
abspeichern und rekompilieren.

und ja.. kannst ja gleich das neue 2.0.1 release nehmen

gruss
Title: Re: amuled kompilieren
Post by: Zappa on May 18, 2005, 12:01:25 PM
Das sagt er mir
Code: [Select]
/etc/init.d/rcamule: line 19: [: =: unary operator expected
/etc/init.d/rcamule: line 24: gprintf: command not found
/etc/init.d/rcamule: line 25: daemon: command not found
Title: Re: amuled kompilieren
Post by: stefanero on May 18, 2005, 12:30:08 PM
ok zu

19: nimm mal das netzwerkzeug raus...

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

24: ersetze mal gprintf mit echo

25: lösche mal das daemon weg
Title: Re: amuled kompilieren
Post by: stefanero on May 18, 2005, 12:33:32 PM
btw besser ist vielleicht sogar

in zeile 25
/bin/su - $USER -c "amuled &"
Title: Re: amuled kompilieren
Post by: Zappa on May 18, 2005, 04:37:12 PM
mmh irgendwie gefällt mir das script net... Hat wirklich noch niemand sowas auf debian gemacht?
Title: Danke jetzt läuft es
Post by: qwertz2wal on May 18, 2005, 11:06:06 PM
Hallo deltaHF,

Dein Hinweis hat es gebracht. Jetzt läuft amuled. Ich muß ihn noch configurieren, damit ich ihn vom Desktop steuern kann und er im Keller still vor sich hin grast. Kannst Du mir sagen, wo dazu nachlesen muß? Ich denke amule.conf ist die Schaltzentrale. Muß ich die Parameter händisch eintragen? Welche müssen geändert werden?
Title: Re: amuled kompilieren
Post by: stefanero on May 19, 2005, 08:07:42 AM
hi
ließ mal dazu:
http://www.amule.org/wiki/index.php/Webserver

diese grundeinstellungen (external connections) ist für jedes extern programm wichtig.
einfach lesen, und wenn du probleme hast sagst bescheid ;)

stefanero
Title: Re: amuled kompilieren
Post by: Zappa on May 19, 2005, 12:38:10 PM
hat keiner nen fertiges script für debian?  :(
Title: Re: amuled kompilieren
Post by: stefanero on May 19, 2005, 01:01:24 PM
das script was du hast is ja nun nicht soo falsch.... es sind 2-3 zeilen wo nicht stimmen, das zu fixen würde 10min dauern, wenn überhaupt.

was passiert denn nun wenn du dsa editierte script startest? also mit den fixes

in zeile 25
/bin/su - $USER -c "amuled &"

und die andern sachen draussen..

stefanero
Title: Re: amuled kompilieren
Post by: Zappa on May 22, 2005, 12:19:06 AM
wenn ich das script per runlevel beim boot starten lasse, dann hängt er sich auf.

Code: [Select]
Starting aMule : amuledInitialising aMule
Checking if there is an instance already running...
Loading temp files from /home/chr/.aMule/Temp.
Loading PartFile 6 of 6
All PartFiles Loaded.
ListenSocket: Ok.

*** TCP socket (ECServer) listening on 0.0.0.0:42344
*** Server UDP socket (TCP+3) at 0.0.0.0:44423
*** TCP socket (TCP) listening on 0.0.0.0:429232348380
*** Client UDP socket (extended eMule) at 0.0.0.3244294948480
Empty dir /home/chr/.aMule/Incoming/ shared

weiter kommt er net -.-
Title: Re: amuled kompilieren
Post by: stefanero on May 22, 2005, 08:18:49 AM
Quote
Originally posted by Zappa
wenn ich das script per runlevel beim boot starten lasse, dann hängt er sich auf.

Code: [Select]
Starting aMule : amuledInitialising aMule
Checking if there is an instance already running...
Loading temp files from /home/chr/.aMule/Temp.
Loading PartFile 6 of 6
All PartFiles Loaded.
ListenSocket: Ok.

*** TCP socket (ECServer) listening on 0.0.0.0:42344
*** Server UDP socket (TCP+3) at 0.0.0.0:44423
*** TCP socket (TCP) listening on 0.0.0.0:429232348380
*** Client UDP socket (extended eMule) at 0.0.0.3244294948480
Empty dir /home/chr/.aMule/Incoming/ shared

weiter kommt er net -.-

hum check mal die ports die du in der amule.conf datei hast, die sehen mir sehr merkwürdig aus...da würde ich als daemon auch net starten wollen ;)
Title: Re: amuled kompilieren
Post by: Zappa on May 22, 2005, 04:44:44 PM
nene die hab ich da nur so eingetragen, weil der nur die hälfte aus der console kopiert hat. Das stimmt schon so.