Back to the Vavoom Forum Archives


Forum

[Fixed] vavoom and gcc3.2

Tue, 08 Oct 2002 02:39:59

Duke42

OK, here is my problem compiling vavoom under Gentoo-1.4 (with gcc3.2). "make" fails with:<br>---<br>In file included from constexp.cpp:28:<br>vcc.h:85: conflicting types for `enum error_t'<br>/usr/include/errno.h:69: previous declaration as `typedef int error_t'<br>make[1]: *** [constexp.o] Fehler 1<br>make[1]: Verlassen des Verzeichnisses Verzeichnis &#65533;/usr/src/vavoom/utils/vcc&#65533;<br>make: *** [utils] Fehler 2<br>---<br>now, changing "error_t" to "error_vvt" gets my past this - after deleting everything because "make clean" doesn't work. Now, there are many unresolved symbols:<br>---<br>gcc -s -o ../bin/vcc cmdlib.o constexp.o error.o expressn.o info.o name.o parse.o pcode.o token.o types.o vcc.o vcpp/libcpp.a<br>cmdlib.o: In function `__static_initialization_and_destruction_0(int, int)':<br>cmdlib.o(.text+0x110): undefined reference to `std::ios_base::Init::Init[in-charge]()'<br>cmdlib.o: In function `__tcf_0':<br>cmdlib.o(.text+0x539): undefined reference to `std::ios_base::Init::~Init [in-charge]()'<br>cmdlib.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'<br>constexp.o: In function `__static_initialization_and_destruction_0(int, int)':<br>constexp.o(.text+0x20): undefined reference to `std::ios_base::Init::Init[in-charge]()'<br>constexp.o: In function `__tcf_0':<br>constexp.o(.text+0x299): undefined reference to `std::ios_base::Init::~Init [in-charge]()'<br>constexp.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'<br>error.o: In function `__static_initialization_and_destruction_0(int, int)':<br>error.o(.text+0x20): undefined reference to `std::ios_base::Init::Init[in-charge]()'<br>error.o: In function `__tcf_0':<br>error.o(.text+0x4c9): undefined reference to `std::ios_base::Init::~Init [in-charge]()'<br>error.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'<br>expressn.o: In function `__static_initialization_and_destruction_0(int, int)':<br>expressn.o(.text+0x1f1c): undefined reference to `std::ios_base::Init::Init[in-charge]()'<br>expressn.o: In function `ParseIFunctionCall(TTree*)':<br>expressn.o(.text+0x213b): undefined reference to `operator new(unsigned)'<br>expressn.o: In function `ParseExpressionPriority14()':<br>expressn.o(.text+0x22e2): undefined reference to `operator new(unsigned)'<br>expressn.o(.text+0x2365): undefined reference to `operator new(unsigned)'<br>expressn.o(.text+0x2442): undefined reference to `operator new(unsigned)'<br>expressn.o(.text+0x24e5): undefined reference to `operator new(unsigned)'<br>expressn.o(.text+0x2574): undefined reference to `operator delete(void*)'<br>expressn.o: In function `ParseExpressionPriority10()':<br>expressn.o(.text+0x25de): undefined reference to `operator new(unsigned)'<br>--- and so on ---<br>this list is about 6x40 lines long. I don't want to paste the whole here - it's long enough already ...  plus I'm getting this before in the make (but it's only a warning):<br>---<br>/usr/include/g++-v32/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.<br>---<br>This comes about 20 times.<br>So, what now?<br><br>Duke42.
Tue, 08 Oct 2002 03:38:33

Janis Legzdinsh

The linker problem is fixed by adding -lstdc++ to the linker options.<br><br>As of iostream headers - I got rid of them already. You can remove them from cmdlib.h, but that may require some other changes, or you can replace them to the new style includes.

Back to the Vavoom Forum Archives