Problem beim Kompilieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Problem beim Kompilieren

Beitrag von g-henna » 12.11.2003 17:41:57

Hi!

Ich habe folgendes Problem: Ich habe das Programm Polymake (http://www.math.tu-berlin.de/polymake) in Quellcodeform und möchte es gerne kompilieren. Das hab ich auch angefangen, nach knapp 30 Stunden hat mein PC aber abgebrochen (bis dahin hat er es aber anständig getan), und er schmeißt mir folgende Fehlermeldung an den Kopf: [siehe unten] Beim Gegoogel nach "conflicts with previous declaration" finde ich nen Links auf die gcc-Bug-Datenbank (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11713), kann aber irgendwie mit dem, was da steht nicht firchtbar viel anfangen. Mein System ist ein Sarge mit gcc-Version 3.3.1 20030626 (Debian prerelease). Was muss ich denn mit den Patches da machen auf der Seite oder ist das Problem woanders?

Bye
g-henna



// Log: //
root@~/sources/polymake-2.0 # make
make[1]: Entering directory `/root/sources/polymake-2.0/build.i686/apps/polytope'
make[2]: Entering directory `/root/sources/polymake-2.0/build.i686/lib'
make[2]: Leaving directory `/root/sources/polymake-2.0/build.i686/lib'
make[2]: Entering directory `/root/sources/polymake-2.0/build.i686/external/cdd'
make[2]: Leaving directory `/root/sources/polymake-2.0/build.i686/external/cdd'
make[2]: Entering directory `/root/sources/polymake-2.0/build.i686/external/lrs'
make[2]: Leaving directory `/root/sources/polymake-2.0/build.i686/external/lrs'
make[2]: Entering directory `/root/sources/polymake-2.0/build.i686/modules/graph'
make[2]: Leaving directory `/root/sources/polymake-2.0/build.i686/modules/graph'
g++ -c -o rand_vert.o -I../../../apps/polytope/include -I../../../modules/graph/include -I../../../lib/poly_client/include -I../../../lib/PTL/include -I../../../lib/PTL/include/std -I../../../lib/gmp_wrapper/include -march=pentium3 -Wall -ftemplate-depth-200 -DALL_PLAUSIBLE_CHECKS=0 -O3 -MD ../../../apps/polytope/src/rand_vert.cc
../../../lib/PTL/include/type_manip.h: In constructor `
pm::RandomSubset<ContainerRef>::RandomSubset(typename pm::alias<Eref,
(pm::attrib<C>::is_reference && (!pm::object_traits<typename
pm::deref<C>::type, typename pm::generic_object_traits<typename
pm::deref<C>::type, pm::derived_from_instance<typename pm::deref<C>::type,
pm::Generic>::answer>::model>::is_temporary)), (!pm::identical<typename
pm::attrib<C>::type, typename pm::deref<C>::type>::answer)>::arg_type, int,
long unsigned int) [with ContainerRef = const pm::sequence&]':
../../../lib/PTL/include/type_manip.h:1196: instantiated from `pm::alias<ObjectRef, _is_ref, _is_masqueraded>::alias(ObjectRef) [with ObjectRef = const pm::sequence&, bool _is_ref = true, bool _is_masqueraded = false]'
../../../lib/PTL/include/RandomSubset.h:121: instantiated from `pm::RandomSubset<ContainerRef>::RandomSubset(typename pm::alias<Eref, (pm::attrib<C>::is_reference && (!pm::object_traits<typename pm::deref<C>::type, typename pm::generic_object_traits<typename pm::deref<C>::type, pm::derived_from_instance<typename pm::deref<C>::type, pm::Generic>::answer>::model>::is_temporary)), (!pm::identical<typename pm::attrib<C>::type, typename pm::deref<C>::type>::answer)>::arg_type, int, long unsigned int) [with ContainerRef = const pm::sequence&]'
../../../lib/PTL/include/RandomSubset.h:270: instantiated from `pm::RandomSubset<const Container&> pm::select_random_subset(const Container&, int, long unsigned int) [with Container = pm::sequence]'
../../../apps/polytope/src/rand_vert.cc:84: instantiated from here
../../../lib/PTL/include/type_manip.h:1196: error: declaration of `
pm::alias<ObjectRef, _is_ref, _is_masqueraded>::operator ObjectRef() [with
ObjectRef = const pm::sequence&, bool _is_ref = true, bool _is_masqueraded =
false]'

(Hier ist noch ne Menge Code, der aussieht wie die letzten vier Zeilen. Ende:)

../../../lib/PTL/include/type_manip.h:1200: error: conflicts with previous
declaration `pm::alias<ObjectRef, _is_ref, _is_masqueraded>::operator
ObjectRef() [with ObjectRef = const pm::sequence&, bool _is_ref = true, bool
_is_masqueraded = false]'
make[2]: *** [rand_vert.o] Fehler 1
make[1]: *** [do_all] Fehler 2
make[1]: Leaving directory `/root/sources/polymake-2.0/build.i686/apps/polytope'
make: *** [all] Fehler 2

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.11.2003 18:16:53

Code: Alles auswählen

pm::alias<ObjectRef, _is_ref, _is_masqueraded>::operator ObjectRef() [with 
 ObjectRef = const pm::sequence&, bool _is_ref = true, bool _is_masqueraded = 
 false]' 
Die eigentliche Fehlermeldung hast Du geschickterweise unvollständig gepostet (ist in dem Wust aber aber auch nicht ganz einfach)...

Ich würde auf eine Compilerinkompatibilität oder auf einen echten Bug in der Software tippen...

BTW: falsches Forum, verschoben

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 12.11.2003 18:51:56

Hi!

OK, ich hab jetzt folgende Pakete installiert, d.h. aktualisiert.
cpp-3.3_3.3.2-1_i386.deb
gcc-3.3-base_3.3.2-1_i386.deb
libgcc1_3.3.2-1_i386.deb
gcc-3.3_3.3.2-1_i386.deb
libc6_2.3.2-9_i386.deb
Problem: jetzt bekomm ich folgende Fehler:

Code: Alles auswählen

g++ -c -o rand_vert.o  -I../../../apps/polytope/include -I../../../modules/graph/include
 -I../../../lib/poly_client/include -I../../../lib/PTL/include -I../../../lib/PTL/includ
e/std -I../../../lib/gmp_wrapper/include -march=pentium3 -Wall -ftemplate-depth-200 -DAL
L_PLAUSIBLE_CHECKS=0 -O3 -MD  ../../../apps/polytope/src/rand_vert.cc
In file included from /usr/include/c++/3.3/cstdlib:50,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/c++/3.3/cstddef:48:20: stddef.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/include/c++/3.3/cstdlib:50,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/c++/3.3/cstddef:52: error: `ptrdiff_t' not declared
/usr/include/c++/3.3/cstddef:53: error: `size_t' not declared
In file included from /usr/include/c++/3.3/cstdlib:52,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/stdlib.h:33:20: stddef.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/include/c++/3.3/cstdlib:52,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/stdlib.h:137: error: Syntaxfehler before `(' token
In file included from /usr/include/c++/3.3/cstdlib:52,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/stdlib.h: In function `double atof(const char*)':
/usr/include/stdlib.h:378: error: `NULL' undeclared (first use this function)
/usr/include/stdlib.h:378: error: (Each undeclared identifier is reported only
   once for each function it appears in.)
In file included from /usr/include/sys/types.h:31,
                 from /usr/include/stdlib.h:414,
                 from /usr/include/c++/3.3/cstdlib:52,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/bits/types.h:31:20: stddef.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/include/stdlib.h:414,
                 from /usr/include/c++/3.3/cstdlib:52,
                 from ../../../apps/polytope/src/rand_vert.cc:24:
/usr/include/sys/types.h:147:20: stddef.h: Datei oder Verzeichnis nicht gefunden
...

Code: Alles auswählen

/usr/include/c++/3.3/bits/char_traits.h:145: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h:146: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h: In function `int* std::find(...)':
/usr/include/c++/3.3/bits/char_traits.h:147: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h: At global scope:
/usr/include/c++/3.3/bits/char_traits.h:149: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h:153: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h:157: error: Syntaxfehler before `*'
   token
/usr/include/c++/3.3/bits/char_traits.h:162: error: Syntaxfehler before `('
   token
/usr/include/c++/3.3/bits/char_traits.h:168: error: Syntaxfehler before `('
   token
/usr/include/c++/3.3/bits/char_traits.h:172: error: Syntaxfehler before `&'
   token
/usr/include/c++/3.3/bits/char_traits.h: In function `bool eq_int_type(...)':
/usr/include/c++/3.3/bits/char_traits.h:173: error: `__c1' undeclared (first
   use this function)
/usr/include/c++/3.3/bits/char_traits.h:173: error: `__c2' undeclared (first
   use this function)
/usr/include/c++/3.3/bits/char_traits.h: At global scope:
/usr/include/c++/3.3/bits/char_traits.h:176: error: Syntaxfehler before `('
   token
/usr/include/c++/3.3/bits/char_traits.h:179: error: Syntaxfehler before `('
   token
/usr/include/c++/3.3/bits/char_traits.h:188: error: `char_traits' is not a
   template
/usr/include/c++/3.3/bits/char_traits.h:189: confused by earlier errors, bailing out
make[2]: *** [rand_vert.o] Fehler 1
make[1]: *** [do_all] Fehler 2
make[1]: Leaving directory `/root/sources/polymake-2.0/build.i686/apps/polytope'
make: *** [all] Fehler 2
Was ist das nun wieder?

Bye
g-henna

Antworten