Moin,
Worin besteht der Unterschied zwischen cpp-3.0 und cpp-2.95? Ist es egal, welchen von beiden ich aufrufe, um meine Files zu prozessieren (will hinterher mit g++3.0 arbeiten)? Problem: Ich wollte mir die Livestreamlibrary mit g++3.0 neu bauen (http://live.sourceforge.net/). Es gibt kein Configure-Skript, sondern nur eine Datei config.linux, wo drinsteht, welche Programme aufgerufen werden sollen. Da steht z.B.: CPP = cpp . Das habe ich geändert auf cpp-3.0 (weil cpp ein Softlink auf cpp-2.95 ist). Danach funktionierte das Präprozessing nicht mehr. Wenn ich cpp-2.95 schreibe tut es auch nicht. Wenn ich den Softlink umbiege auf cpp-3.0 und cpp wieder reinschreibe tut es. Feature? Bug? Wäre das nicht ein Fall für /etc/alternatives (Debian stable)?
H.
Hallo Hilmar,
Am 26. März 2003 schrieb Hilmar Preusse:
Das habe ich geändert auf cpp-3.0 (weil cpp ein Softlink auf cpp-2.95 ist). Danach funktionierte das Präprozessing nicht mehr.
Was genau funktioniert nicht mehr?
Wenn ich den Softlink umbiege auf cpp-3.0 und cpp wieder reinschreibe tut es. Feature? Bug?
Ich vermute, dass das Makefile mal $(CPP) und mal direkt cpp verwendet.
Wäre das nicht ein Fall für /etc/alternatives (Debian stable)?
Nein, die Begründung bleibt dem Leser zur Übung überlassen. ;-)
Torsten
On 26.03.03 Torsten Werner (email@twerner42.de) wrote:
Am 26. März 2003 schrieb Hilmar Preusse:
Hallo Torsten,
Das habe ich geändert auf cpp-3.0 (weil cpp ein Softlink auf cpp-2.95 ist). Danach funktionierte das Präprozessing nicht mehr.
Was genau funktioniert nicht mehr?
Wenn $(CPP) auf cpp steht, sieht die folgende Compile-Zeile so aus:
g++-3.0 -c -Iinclude -I../UsageEnvironment/include \ -I../groupsock/include -I. -O -DSOCKLEN_T=socklen_t -Wall -DBSD=1 \ Media.cpp
Wenn dort cpp-3.0 steht, liest sich das so:
g++ -c -o Media.o Media.cpp
Der komplette Include-Pfad fehlt. Die durch genMakefile erzeugten Makefiles unterscheiden sich wirklich nur durch diese Zeile.
Wenn ich den Softlink umbiege auf cpp-3.0 und cpp wieder reinschreibe tut es. Feature? Bug?
Ich vermute, dass das Makefile mal $(CPP) und mal direkt cpp verwendet.
Nein.
Moment, ich sehe gerade, wo diese Variable ausgewertet wird. Dort finden sich Konstrukte, wie:
.$(CPP).$(OBJ): $(CPLUSPLUS_COMPILER) -c $(CPLUSPLUS_FLAGS) $< <snip> Media.$(CPP): include/Media.hh include/Media.hh: include/liveMedia_version.hh
Offenbar hat das nichts mit dem Präprozessor zu tun, sondern nur mit der Erweiterung der C++-Source-Files. Offenbar erzeugt er eine generische g++-Zeile, wenn in $(CPP) Blödsinn steht, die natürlich so nicht funktionieren kann. *autsch* Ist es eigentlich so, daß gcc-3.0 grundsätzlich cpp-3.0 aufruft und gcc-2.95 cpp-2.95?
Wäre das nicht ein Fall für /etc/alternatives (Debian stable)?
Nein, die Begründung bleibt dem Leser zur Übung überlassen. ;-)
Daß der Sysadmin frecherweise festlegen kann, welcher Compiler der Default ist. Wenn ich den nicht will, muß ich meine Makefiles anpassen. Was ist daran schlimm?
H.
Am 26. März 2003 schrieb Hilmar Preusse:
Daß der Sysadmin frecherweise festlegen kann, welcher Compiler der Default ist. Wenn ich den nicht will, muß ich meine Makefiles anpassen. Was ist daran schlimm?
Zuviel Flexibilität. Wenn ein Maintainer 5 verschiedene Compilerversionen auf 13 Plattformen unterstützen müsste, wäre das purer Horror. Schon der Zustand bin Anfang Januar war unangenehm (5 Versionen, aber auf jeder Plattform eine feste Standardversion). Wenn du deinen lokalen Standardcompiler dauerhaft ändern möchtest, kannst du mit dpkg-divert arbeiten.
Torsten
On Wed, Mar 26, 2003 at 02:15:56PM +0100, Hilmar Preusse wrote:
Moin,
Worin besteht der Unterschied zwischen cpp-3.0 und cpp-2.95? Ist es egal, welchen von beiden ich aufrufe, um meine Files zu prozessieren (will hinterher mit g++3.0 arbeiten)?
Nach allem was man so hoert, ist von gcc-3.0 nur abzuraten, selbst der gcc-3.2 ist noch reichlich buggy. Also solltest du zumindest auf gcc-3.2 updaten.
H.
Ulf
On 27.03.03 Ulf Lorenz (s8397076@rcs.urz.tu-dresden.de) wrote:
Moin,
Nach allem was man so hoert, ist von gcc-3.0 nur abzuraten, selbst der gcc-3.2 ist noch reichlich buggy. Also solltest du zumindest auf gcc-3.2 updaten.
man Netzanbindung. Ich will ihn eigentlich nur für den mplayer haben, weil da könnte er was bringen. Ansonsten natürlich immer noch gcc-2.95.
H.
On Thursday 27 March 2003 00:47, Ulf Lorenz wrote:
On Wed, Mar 26, 2003 at 02:15:56PM +0100, Hilmar Preusse wrote:
Worin besteht der Unterschied zwischen cpp-3.0 und cpp-2.95? Ist es egal, welchen von beiden ich aufrufe, um meine Files zu prozessieren (will hinterher mit g++3.0 arbeiten)?
Nach allem was man so hoert, ist von gcc-3.0 nur abzuraten, selbst der gcc-3.2 ist noch reichlich buggy. Also solltest du zumindest auf gcc-3.2 updaten.
3.2 ist eigentlich recht stabil (ich compiliere damit den Kernel und KDE, ein paar andere Sachen habe ich glaube ich auch schon damit compiliert). Man muss nur beachten, dass C++-Code inkompatibel zu 2.95 ist (da er seit 3.1 dem offiziellen C++-Standard entspricht (als erster Compiler), sollte es aber keine weiteren Inkompatibilitäten mehr geben (3.1 und 3.2 laufen zusammen)).
Konrad
PS.: ich brauche mehr Klammern (meine (siehe oben) sind fast alle). ;-)
Hallo Leute,
ich beschäftige mich zur Zeit mit PostgreSQL. In den Manuals finde ich zwar sehr ausführlich Erklärungen zu SQL Statements, Benutzer und Installationsfragen aber nichts darüber wie ich mir die Metadaten für eine Datenbank anzeigen kann.
Meine Frage also: Mit welchem Befehl kann ich mir die Metaddaten für eine Datenbank anzeigen lassen bzw. wo finde ich eine geeignete Referenz zu solchen Befehlen wie in MySQL bsplw. "DESCRIBE database;" oder "SHOW TABLES"?
Danke für Eure Hilfe.
Grüsse Clemens
Problem hat sich erledigt, einfach am psql prompt mal "?" eingeben und es folgt eine Auflistung sehr hilfreicher Befehle.
lug-dd@mailman.schlittermann.de