Hallo, ich habe seit meinem neuen Linux 9.1 Probleme, mein Projekt zu kompilieren. Folgende Fehlermeldung bekomme ich: #include nested too deeply Wenn ich mir die Datei ansehe (/usr/include/sys/errno.h), inkludiert die sich selbst. Ich habe auf meinem alten System nachgeschaut. Da ist die gleiche Datei, aber es kompiliert. Ich verstehe das nicht. Was ist da anders ? Danke Lothar
lothar.behrens@lollisoft.de [Sun, 23 Jan 2005 07:12:14 +0100]:
#include nested too deeply
Wenn ich mir die Datei ansehe (/usr/include/sys/errno.h), inkludiert die sich selbst.
Das tut sie mit Sicherheit nicht! /usr/include/sys/errno.h enthält:
#include
- welcher Compiler (gcc --version)?
3.3.3
- mit welchen Optionen wird der Compiler aufgerufen?
-c -DLINUX -DUNIX
- warum wird überhaupt sys/errno.h eingebunden?
Habe eine Weile gesucht und dann mal richtig überlegt. Der Includepfad /usr/include/sys musste entfernt werden. Danke Lothar PS: Werde heute noch eine neue Release rausgeben (0.4.0) (www.lollisoft.de)
lothar.behrens@lollisoft.de [Sun, 23 Jan 2005 14:28:37 +0100]:
- mit welchen Optionen wird der Compiler aufgerufen?
-c -DLINUX -DUNIX
- warum wird überhaupt sys/errno.h eingebunden?
Habe eine Weile gesucht und dann mal richtig überlegt.
Der Includepfad /usr/include/sys musste entfernt werden.
Dann hast du oben nicht alle Compileroptionen angegeben. Ich hatte schon ein -I/usr/include/sys vermutet, konnte mir aber nicht vorstellen, dass jemand diesen Fehler macht. Philipp
Dann hast du oben nicht alle Compileroptionen angegeben. Ich hatte schon ein -I/usr/include/sys vermutet, konnte mir aber nicht vorstellen, dass jemand diesen Fehler macht.
Naja, ich arbeite schon 4 jahre an meinem Multiplatform Code. Komme eher aus der Windows Liga, aber da wird auch noch einiges im Argen sein. Aber es läuft wenigstens - Mein Ziel ist damit schon zum Teil erreicht. Ich hatte soga schon an automake und Konsorten gedacht, probiert, ist aber nicht leicht, da ein zu steigen. Würde mich freuen, wenn mir da mal jemand unter die Arme greift :-) Themen sind: automake et al, RPM Packete erstellen und Dokumentation Ich habe mir ein anderes Make System ausgesucht. Es basiert auf einem Tool von Louis Crespo (MKMK), welches ich erweitert habe und nun auch unter Linux läuft. Problem für mich war, dass ich unter Windows MSVC oder OpenWatcom verwende und unter Linux eben GCC. Trotzdem habe ich jetzt ein Make System für alles. Das Thema Fehler machen in Linux: Habe nur zwei Bücher für die Linux Programmierung: Unux/Linux Systemprogrammierung von Helmut Herold und das Professional Linux Programming von Matthew/Stomes et al. Vielleicht habe ich was übersehen. Zur Zeit habe ich unter Linux ein Problem mit dem ODBC Wrapper. Versuche die Quellen des PostgreSQL ODBC Treiber zu verstehen. Da klappts mit SQL_ROW_COUNT in SQLSetStmtOption nicht. Naja, bis denn Lothar
On Sunday 23 January 2005 19:47, lothar.behrens@lollisoft.de wrote:
Ich hatte soga schon an automake und Konsorten gedacht, probiert, ist aber nicht leicht, da ein zu steigen.
Würde mich freuen, wenn mir da mal jemand unter die Arme greift :-)
Als Einstieg zu empfehlen:
http://www.amazon.de/exec/obidos/ASIN/1578701902/
(die Leserbewertung dort von "shshsh" ist von mir)
Das Buch gibt es auch online (im Web) zu lesen:
http://sources.redhat.com/autobook/
Referenz-Doku gibt's online (auf Deinem lokalen Rechner):
info automake
info autoconf
info libtool
Das liest sich aber recht zäh.
Zu RPM gibt es AFAIK nur ein Buch:
http://www.amazon.de/exec/obidos/ASIN/0672311054/
Dieses Buch ist sehr geschwätzig, aber leider eben das einzige zu diesem
Thema. Es hat in etwa den Stil von:
"Es wäre doch sehr schön, wenn RPM auch Pakete wieder löschen könnte. Und,
siehe da, es kann das. Dazu dient die Kommandozeilenoption "-e" des
"rpm"-Kommandos. Um ein Paket zu löschen, rufen Sie also auf:
rpm -e mypackage.rpm
"
Und das seitenlang. ;-)
Es ist aber auch erklärt, wie man .spec-Files schreibt, wie man Diffs macht,
Original-Sourcen und Diffs einpackt u.s.w. - also das, was Du hier suchst.
Das alles ist mit Aufwand verbunden, aber der zahlt sich früher oder später
aus - Du gewinnst damit eine stabile Bau-Umgebung, die Du nicht alle naselang
komplett wegwerfen mußt, weil "xymake" nicht mehr gepflegt wird oder gerade
das nicht unterstützt, was Du brauchst oder so. Ich würde Dir das dringend
ans Herz legen.
Die Umgebung mit Automake, Autoconf und Libtool kann man übrigens auch mit
KDevelop erstellen lassen, aber auch dort muß man natürlich irgendwann
wissen, was man wie anfassen muß, wenn sich etwas ändert - d.h. es hilft nur
initial wirklich, vor allem, weil KDevelop natürlich jeglichen Schnickschnack
in die Makefile.am, configure.in, ... -Files schreibt, d.h. die sind dann
wesentlich komplexer als etwas, das man auf der Basis des Automake-Buchs
selber schreiben würde.
CU
--
Stefan Hundhammer
participants (3)
-
lothar.behrens@lollisoft.de
-
Philipp Thomas
-
Stefan Hundhammer