Hallo,
ich habe erstmalig versucht ein Programm selber zu kompilieren, und bin grandios gescheitert.
./configure in der einfachen Version oder in der unten gelisteten Version scheint mir ok zu sein.
make produziert aber hauptsächlich Fehlermeldungen, von denen ich nur die ersten unten aufgelistet habe. (make check läuft garnicht)
Betriebssystem ist SUSE9.3
kann mir jemand sagen, ob der Fehler einfach zu beheben ist, oder ob ich als Nicht-Programmierer keine Chancen habe ?
Gruß, heriL
amd-h:/usr/local/src/gpasman-1.3.0 # env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc -s) works... yes
checking whether the C compiler (gcc -s) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for a BSD compatible install... /usr/bin/install -c
checking for strip... /usr/bin/strip
checking for gtk-config... no
checking whether byte ordering is bigendian... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for unistd.h... yes
checking for working const... yes
checking for mode_t... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating src/Makefile
creating src/config.h
amd-h:/usr/local/src/gpasman-1.3.0 # make
make[1]: --cflags: Command not found
make[1]: Entering directory `/usr/local/src/gpasman-1.3.0/src'
gcc -O2 -Wall -DHAVE_CONFIG_H -g -O2 -c -o librc2.o librc2.c
make[1]: --cflags: Command not found
gcc -O2 -Wall -DHAVE_CONFIG_H -g -O2 -c -o file.o file.c
make[1]: --cflags: Command not found
...
Linux 15.070 Themen, 107.540 Beiträge
So autf den ersten Blick würde ich mal sagen das du die Entwicklerbibliotheken libgtk????-dev noch nicht installiert hast:
checking for gtk-config... no
gtk-config ist ein kleines Programm , welches die Versionsnummer der installierten gtk-Bibliothek überprüfen soll. Es wird meistens unterschieden zwischen den normalen Bibliotheken, die ein Programm braucht um zu funktionieren , weil es dynamisch gelinkt ist.
Diese Bibliotheken kannst du mit dem befehl "ldd Programmsoundso" üerprüfen , ob sie auch installiert sind und die version stimmt.
Dann werden zum Kompilieren aber noch die Entwicklerbibliotheken gebraucht. Diese Bibliothene werden mit lib????-dev meistens bezeichnet, wie beispielsweise:
apt-cache search libgtk*-dev
libgtk1.2-dev - Development files for the GIMP Toolkit
Du mußt mal überprüfen ob so eine Entwicklungsbibliothek auf deinem Rechner schon installiert ist.
Und danach nochmal das Shellscript ./configure laufen lassen und überprüfen ob die fehlermeldung "checking for gtk-config... no" weg ist.
Eventuell mußt du dich noch mal genau informieren welche Bibliotheken dein Programm braucht , um richtig übersetzt zu werden.
Ich hoffe ich liege nicht total falsch mit meiner Fehleranalyse ;-).
PS: gtk-config ist ein Shellscript , welches dem Compiler gcc die richtigen Optionen zum Hinzulinken der gtk-Bibliothek übergibt.
Es ist bei mir unter /usr/bin/gtk-config installiert und wird wahrscheinlich automatisch mit installiert, wenn du "libgtk1.2-dev - Development files for the GIMPbild Toolkit" installierst. Ich weiß jetzt nicht zum welchem dev-Paket dieses Shellscript gehört, weil ich mit der gtk-Bibliothek nicht viel am Hut hab. Ich benutze nur die QT-Bibliothek.
Deshalb erscheint auch die Fehlermeldung:amd-h:/usr/local/src/gpasman-1.3.0 # make
make[1]: --cflags: Command not found
make[1]: Entering directory `/usr/local/src/gpasman-1.3.0/src'
gcc -O2 -Wall -DHAVE_CONFIG_H -g -O2 -c -o librc2.o librc2.c
make[1]: --cflags: Command not found
gcc -O2 -Wall -DHAVE_CONFIG_H -g -O2 -c -o file.o file.c
make[1]: --cflags: Command not found
...
Da werden dem gcc nicht alle notwendigen Optionen automatisch übergeben, um die richtige Bibliothek hinzuzulinken.
Ein Teil des Programmcodes ist in solchen Bibliotheken enthalten und muß vom Programmierer nicht selbst programmiert werden.
Dieser Programmteil muß aber zur Laufzeit nach dem Programmstart hinzugeladen werden , da sonst das Programm nicht funktioniert.
Diese Bibliotheken kann man mit dem "ldd Programm" Befehl überprüfen:
ldd amule
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7f6b000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7f56000)
libcrypto++5.2.so.0 => /usr/lib/libcrypto++5.2.so.0 (0xb7a90000)
libwx_gtk2u_adv-2.6.so.0 => /usr/lib/libwx_gtk2u_adv-2.6.so.0 (0xb79f8000)
libwx_gtk2u_core-2.6.so.0 => /usr/lib/libwx_gtk2u_core-2.6.so.0 (0xb7725000)
libwx_baseu_net-2.6.so.0 => /usr/lib/libwx_baseu_net-2.6.so.0 (0xb76fa000)
libwx_baseu-2.6.so.0 => /usr/lib/libwx_baseu-2.6.so.0 (0xb75cd000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb74f0000)
libm.so.6 => /lib/tls/libm.so.6 (0xb74cb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb74c0000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7389000)
/lib/ld-linux.so.2 (0xb7f8a000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7385000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb70b1000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7031000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7018000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7003000)
libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb6ffd000)
libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb6ff2000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6fcd000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb6f95000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb6f5d000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb6f5a000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb6f56000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb6ed2000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6ead000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb6e8c000)
libtiff.so.4 => /usr/lib/libtiff.so.4 (0xb6e3a000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb6e36000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6e2d000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0xb6e25000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb6e21000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb6e13000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb6d48000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb6d42000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6cf9000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6cc9000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6cc0000)
libXft.so.2 => /usr/lib/libXft.so.2 (0xb6cad000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6c40000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6c1f000)
Wenn dich nun das Programmieren interessiert, dann kannst du von Markt und Technik das Buch "C Programmierung in 21 Tagen unter Linux bestellen.
http://www.amazon.de/exec/obidos/ASIN/3827257425/qid=1137407827/sr=8-5/ref=sr_8_xs_ap_i5_xgl/302-8116672-5153647
