Kompilierfehler bei dgtnix 1.9.1
Kompilierfehler bei dgtnix 1.9.1
Hallo,
ich versuche dgtnix 1.9.1 zu kompilieren (für mein DGT Schachbrett), erhalte jedoch folgende Fehlermeldungen wenn ich make aufrufe.
Wo bzw. wie muss ich @RELEASE_INFO@ und @VERSION_INFO@ anlegen?
mfg
Twilo
ich versuche dgtnix 1.9.1 zu kompilieren (für mein DGT Schachbrett), erhalte jedoch folgende Fehlermeldungen wenn ich make aufrufe.
Wo bzw. wie muss ich @RELEASE_INFO@ und @VERSION_INFO@ anlegen?
mfg
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
das sollte eigentlich vom "./configure" Script erledigt werdenTwilo hat geschrieben: Wo bzw. wie muss ich @RELEASE_INFO@ und @VERSION_INFO@ anlegen?
Gruß
gms
edit: bei mir wird es das auch
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
ich verwende sid.
ich sehe gerade, dass bei configure folgende Fehlermeldung erscheint.
mfg
Twilo
ich verwende sid.
ich sehe gerade, dass bei configure folgende Fehlermeldung erscheint.
Code: Alles auswählen
./configure: line 2925: AX_SET_VERSION_INFO: command not found
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
Ist deine autoconf-Version aktuell ( "autoconf --version" ) ? Ich habe es mit der Version 2.61 probiert, allerdings nicht auf einem Debian
Falls diese Einträge nicht sehr oft vorkommen, könntest du sie auch manuell anpassen
"@RELEASE_INFO@" durch "-release 1" ersetzen und "@VERSION_INFO@" durch "-version-info 9:1" ersetzen
Gruß
gms
edit:
Allerdings kommt in dem ausgelieferten configure-Script ein "AX_SET_VERSION_INFO" überhaupt nicht. Sehr eigenartig
Falls diese Einträge nicht sehr oft vorkommen, könntest du sie auch manuell anpassen
"@RELEASE_INFO@" durch "-release 1" ersetzen und "@VERSION_INFO@" durch "-version-info 9:1" ersetzen
Gruß
gms
edit:
das war natürlich ein Blödsinn, du verwendest ja das ausgelieferte configure-Script, autoconf bräuchtest du nur wenn du dieses Script neu erstellen möchtest.gms hat geschrieben: Ist deine autoconf-Version aktuell ( "autoconf --version" ) ? Ich habe es mit der Version 2.61 probiert, allerdings nicht auf einem Debian
Allerdings kommt in dem ausgelieferten configure-Script ein "AX_SET_VERSION_INFO" überhaupt nicht. Sehr eigenartig
Zuletzt geändert von gms am 18.08.2008 22:04:51, insgesamt 1-mal geändert.
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
nachdem ich das src Verzeichnis gelsöcht und neu angelegt habe, läuft configure jetzt durch, erhalte jedoch folgenden Fehler
mfg
Twilo
Code: Alles auswählen
autoconf (GNU Autoconf) 2.61
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by David J. MacKenzie and Akim Demaille.
---
Autoconf 2.50 chosen by Debian wrapper script.
For information and tuning advice see autoconf(1).
Code: Alles auswählen
[...]
dgtnixTest.cpp: In function ‘int main(int, char**)’: dgtnixTest.cpp:45: error: ‘exit’ was not declared in this scope dgtnixTest.cpp:68: error: ‘exit’ was not declared in this scope make[2]: *** [dgtnixTest-dgtnixTest.o] Fehler 1 make[2]: Leaving directory `/home/usr/src/dgtnix-1.9.1/utils' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/usr/src/dgtnix-1.9.1' make: *** [all] Fehler 2
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
ich seh gerade, dass vergessen habe hinzuschreiben, was ich für ein System habe
System: Debian sid 64bit
mfg
Twilo
ich seh gerade, dass vergessen habe hinzuschreiben, was ich für ein System habe
System: Debian sid 64bit
mfg
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
"exit" wird in der "stdlib.h" deklariert, anscheinend wird diese bei dir nicht inkludiert
schau einmal ob bei dir der Eintrag in der config.h
auf 1 steht, ansonsten setze es auf 1
schau einmal ob bei dir der Eintrag in der config.h
Code: Alles auswählen
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
Re: Kompilierfehler bei dgtnix 1.9.1
füge einfach in "utils/dgtnixTest.cpp" ein
ein ( z.B nach dem "#include <string.h>" in Zeile 25)
Code: Alles auswählen
#include <stdlib.h>
Re: Kompilierfehler bei dgtnix 1.9.1
da hast du ein Problem mit deinen Compiler-Settings, hast du diese über die Environmentvariablen CC bzw CXX spezifiziert ?
Für den gcc wird bei dir "/usr/bin/gcc-4.1" verwendet, der g++ wurde ohne Pfadangabe gesetzt, verweist aber auf eine Version 4.3.
und warum in "/home/usr/bin" ?
Für den gcc wird bei dir "/usr/bin/gcc-4.1" verwendet, der g++ wurde ohne Pfadangabe gesetzt, verweist aber auf eine Version 4.3.
Code: Alles auswählen
/home/usr/bin/../lib/gcc/../../include/c++/4.3/cstddef:48:25: error: stddef.h: Datei oder Verzeichnis nicht gefunden
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
/usr war natürlich nach einer gewissen Zeit vollgelaufen. Da ich keine Zeit hatte mein System neu zu machen oder die Partitionsgröße zu ändern und ich das System irgendwann eh neu aufsetzen wollte, hab ich /usr nach /home/usr verschoben und ann ein Symlink gesetzt. Seit dem sind jetzt schon Monate vergangen
mfg
Twilo
das Problem mit GCC sollte jetzt behoben sein, es treten aber leider immer noch Fehler aufgms hat geschrieben:da hast du ein Problem mit deinen Compiler-Settings, hast du diese über die Environmentvariablen CC bzw CXX spezifiziert ?
Für den gcc wird bei dir "/usr/bin/gcc-4.1" verwendet, der g++ wurde ohne Pfadangabe gesetzt, verweist aber auf eine Version 4.3.Code: Alles auswählen
/home/usr/bin/../lib/gcc/../../include/c++/4.3/cstddef:48:25: error: stddef.h: Datei oder Verzeichnis nicht gefunden
ich hatte damals, warum auch immer, automatisch partionieren lassen.gms hat geschrieben:und warum in "/home/usr/bin" ?
/usr war natürlich nach einer gewissen Zeit vollgelaufen. Da ich keine Zeit hatte mein System neu zu machen oder die Partitionsgröße zu ändern und ich das System irgendwann eh neu aufsetzen wollte, hab ich /usr nach /home/usr verschoben und ann ein Symlink gesetzt. Seit dem sind jetzt schon Monate vergangen
mfg
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
wo muss die Datei stddef.h existieren?
mfg
Twilo
/home/usr/bin/../lib/gcc/../../include/c++/4.3/cstddef:48:25: error: stddef.h: Datei oder Verzeichnis nicht gefunden
Code: Alles auswählen
/home/usr/include/linux/stddef.h
/home/usr/include/lsb3/stddef.h
/home/usr/share/sdcc/include/stddef.h
/home/usr/share/sdcc/include/pic16/stddef.h
/home/usr/src/linux-headers-2.6.26-1-common/include/linux/stddef.h
/home/usr/src/linux-headers-2.6.26-1-amd64/include/linux/stddef.h
/home/usr/src/linux-headers-2.6.26-1-common-openvz/include/linux/stddef.h
/home/usr/src/linux-headers-2.6.26-1-openvz-amd64/include/linux/stddef.h
/home/usr/lib/gcc/x86_64-linux-gnu/4.3/include/stddef.h
/home/usr/lib/gcc/x86_64-linux-gnu/4.1/include/stddef.h
/home/usr/lib/gcc/x86_64-linux-gnu/4.2/include/stddef.h
/home/usr/lib/gcc/x86_64-linux-gnu/3.4.6/include/stddef.h
mfg
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
ich habe das Paket jetzt auch unter Debian SID x86_64 erfolgreich gebaut.Twilo hat geschrieben: wo muss die Datei stddef.h existieren?
danach zeigt mir ein "find . -name "*.Po" -print0 | xargs -0 grep -H stddef.h" folgende Abhängigkeit an:
Code: Alles auswählen
root@csxgen2:~/tmp/dgtnix-1.9.1# find . -name "*.Po" -print0 | xargs -0 grep -H stddef.h
./utils/.deps/dgtnixTest-dgtnixTest.Po: /usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h \
./utils/.deps/dgtnixTest-dgtnixTest.Po: /usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h \
./utils/.deps/dgtnixTest-dgtnixTest.Po:/usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h:
./utils/.deps/dgtnixTest-dgtnixTest.Po:/usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h:
root@csxgen2:~/tmp/dgtnix-1.9.1#
Abgesehen von der fehlenden Headerdatei, gibts bei dir aber auch noch einen "version mismatch": gcc 4.1 <-> g++ 4.3. Da ist schon das "configure" nicht sauber gelaufen.
Gruß
gms
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Kompilierfehler bei dgtnix 1.9.1
Das liegt vermutlich daran, dass gcc-4.3 zickiger als gcc-4.1 ist:Gestern. mit dem gcc 4.1, hatte ich diesen Fehler nicht, wahrscheinlich wird dort die "stdlib.h" Headerdatei indirekt inkludiert.
http://gcc.gnu.org/gcc-4.3/porting_to.html
http://bugs.gentoo.org/show_bug.cgi?id=198121
Re: Kompilierfehler bei dgtnix 1.9.1
in diesem speziellen Fall nicht.Spasswolf hat geschrieben: Das liegt vermutlich daran, dass gcc-4.3 zickiger als gcc-4.1 ist:
Der 4.1er würde bei einer fehlenden Deklaration auch einen Fehler bringen:
Code: Alles auswählen
root@gms2:~/tmp# g++-4.1 -o x x.cpp
x.cpp: In function 'int main()':
x.cpp:1: error: 'exit' was not declared in this scope
Code: Alles auswählen
root@gms2:~/tmp/dgtnix-1.9.1# grep stdlib.h utils/.deps/dgtnixTest-dgtnixTest.Po
/usr/include/c++/4.1.3/cstdlib /usr/include/stdlib.h \
/usr/include/stdlib.h:
gms
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
ich habe das Verzeichznis /usr/src/dgtnix-1.9.1 gelöscht, neu entpackt, in der Datei utils/dgtnixTest.cpp die Zeile hinzugefügt und anschliessend ./configure und make aufgerufen. Der Fehler kommt immer noch
gcc und g++ "sollten" gleich
mfg
Twilo
ich habe das Verzeichznis /usr/src/dgtnix-1.9.1 gelöscht, neu entpackt, in der Datei utils/dgtnixTest.cpp die Zeile hinzugefügt und anschliessend ./configure und make aufgerufen. Der Fehler kommt immer noch
gcc und g++ "sollten" gleich
Code: Alles auswählen
kay-desktop:~# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.1-9' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.1 (Debian 4.3.1-9)
kay-desktop:~# g++ -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.1-9' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.1 (Debian 4.3.1-9)
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
und gibts bei dir die Datei "/usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h" ?
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
/usr/lib/gcc/x86_64-linux-gnu/4.3.1 und /usr/lib/gcc/x86_64-linux-gnu/4.3.2 zeigen auf /usr/lib/gcc/x86_64-linux-gnu/4.3
mfg
Twilo
jagms hat geschrieben:und gibts bei dir die Datei "/usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h" ?
Code: Alles auswählen
kay@kay-desktop:~$ ls -ld /usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h
-rw-r--r-- 1 root root 12695 15. Aug 00:08 /usr/lib/gcc/x86_64-linux-gnu/4.3.1/include/stddef.h
mfg
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
zwei Links sollten dort eigentlich auch nicht für die 4.3er Version sein, diese sind aber bei mir auch vorhanden
ändere einmal diese Zeile
und versuchs nochmal
ändere einmal diese Zeile
Code: Alles auswählen
root@csxgen2:~/tmp/dgtnix-1.9.1# grep ^DEFAULT_INCLUDES utils/Makefile
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I/usr/lib/gcc/x86_64-linux-gnu/4.3.1/include
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Kompilierfehler bei dgtnix 1.9.1
Oder probier mal "#include <cstddef>".
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
bei beiden Varianten erhalte ich die gleiche Fehlermeldung.
Was mich wundert, warum das bei gms klappt
mfg
Twilo
bei beiden Varianten erhalte ich die gleiche Fehlermeldung.
Was mich wundert, warum das bei gms klappt
mfg
Twilo
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Kompilierfehler bei dgtnix 1.9.1
So, jetzt hab ich's auch mal ausprobiert (mit gcc-4.3.1) und konnte das Problem mit "#include <cstdlib>" lösen.
Re: Kompilierfehler bei dgtnix 1.9.1
Hallo,
damit klappt es bei mir immer noch nicht
http://nopaste.debianforum.de/10483
in der Datei utils/dgtnixTest.cpp sind jetzt folgende Zeilen vorhanden:
mfg
Twilo
damit klappt es bei mir immer noch nicht
http://nopaste.debianforum.de/10483
in der Datei utils/dgtnixTest.cpp sind jetzt folgende Zeilen vorhanden:
Code: Alles auswählen
#include <config.h>
using namespace std;
#include <stdlib.h>
#include <cstddef>
#include <cstdlib>
#include <iostream>
#include <errno.h>
#include <dgtnix.h>
#include <string.h>
Twilo
Re: Kompilierfehler bei dgtnix 1.9.1
Wenn ich dich richtig verstehe, hattest du auch den Fehler wegen der fehlenden Deklaration der "exit"-Funktion. Ein "#include <cstdlib>", statt dem "#include <stdlib.h>" ist hier in der Tat eine schönere Lösung für dieses Problem.Spasswolf hat geschrieben:So, jetzt hab ich's auch mal ausprobiert (mit gcc-4.3.1) und konnte das Problem mit "#include <cstdlib>" lösen.
@Twilo
die C-Headerdateien werden besser nach den C++-Headerdateien inkludiert, also entweder so (dem Vorschlag von Spasswolf folgend):
Code: Alles auswählen
using namespace std;
#include <iostream>
#include <cstdlib> // Verwendung der C++ STDLIB Headerdatei
#include <errno.h>
#include <dgtnix.h>
#include <string.h>
Code: Alles auswählen
using namespace std;
#include <iostream>
#include <errno.h>
#include <dgtnix.h>
#include <stdlib.h> // Verwendung der C STDLIB Headerdatei
#include <string.h>