Home Help Center

Ice2.0 compile error on linux!

rc_hzrc_hz Member Eric RCOrganization: www.genband.comProject: No project yet ✭✭✭
I have just updated my gcc compiler from 2.9.6 to 3.4.3 and then compiled Ice 2.0 under the new compiler. But it failed:
=====================================================
...
rm -f ../../bin/slice2cpp
c++ -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -L../../lib -o ../../bin/slice2cpp Gen.o Main.o -lSlice -lIceUtil -lpthread
Gen.o: In function `IceUtil::HandleBase<Slice::Unit>::operator->() const':
/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../include/c++/3.4.3/bits/locale_facets.tcc:2448: undefined reference to `IceUtil::NullHandleException::NullHandleException(char const*, int)'
/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../include/c++/3.4.3/bits/locale_facets.tcc:2455: undefined reference to `typeinfo for IceUtil::NullHandleException'
Gen.o: In function `IceUtil::NullHandleException::~NullHandleException()':
...
../../lib/libIceUtil.so: undefined reference to `cerr'
../../lib/libIceUtil.so: undefined reference to `__cp_push_exception'
../../lib/libIceUtil.so: undefined reference to `endl(ostream &)'
../../lib/libIceUtil.so: undefined reference to `ostream::operator<<(char)'
../../lib/libIceUtil.so: undefined reference to `IceUtil::Exception::Exception(char const*, int)'
../../lib/libIceUtil.so: undefined reference to `string_char_traits<char>::copy(char *, char const *, unsigned int)'
../../lib/libIceUtil.so: undefined reference to `vtable for IceUtil::Exception'
../../lib/libIceUtil.so: undefined reference to `__out_of_range(char const *)'
../../lib/libIceUtil.so: undefined reference to `__rtti_user'
../../lib/libIceUtil.so: undefined reference to `ostream::operator<<(ostream &(*)(ostream &))'
../../lib/libIceUtil.so: undefined reference to `IceUtil::Exception::~Exception()'
../../lib/libIceUtil.so: undefined reference to `IceUtil::Exception::Exception(char const*, int)'
../../lib/libIceUtil.so: undefined reference to `__rtti_si'
../../lib/libIceUtil.so: undefined reference to `IceUtil::Exception::ice_print(std::basic_ostream<char, std::char_traits<char> >&) const'
../../lib/libIceUtil.so: undefined reference to `__rethrow'
../../lib/libIceUtil.so: undefined reference to `__throw'
../../lib/libIceUtil.so: undefined reference to `ostream::operator<<(char const *)'
../../lib/libIceUtil.so: undefined reference to `terminate(void)'
../../lib/libIceUtil.so: undefined reference to `IceUtil::operator<<(std::basic_ostream<char, std::char_traits<char> >&, IceUtil::Exception const&)'
../../lib/libIceUtil.so: undefined reference to `typeinfo for IceUtil::Exception'
../../lib/libIceUtil.so: undefined reference to `ostream::operator<<(int)'
../../lib/libIceUtil.so: undefined reference to `string_char_traits<char>::move(char *, char const *, unsigned int)'
../../lib/libIceUtil.so: undefined reference to `string_char_traits<char>::length(char const *)'
../../lib/libIceUtil.so: undefined reference to `__length_error(char const *)'
../../lib/libIceUtil.so: undefined reference to `ostream::write(char const *, int)'
../../lib/libIceUtil.so: undefined reference to `__builtin_delete'
../../lib/libIceUtil.so: undefined reference to `__builtin_new'
../../lib/libIceUtil.so: undefined reference to `__eh_alloc'
collect2: ld returned 1 exit status
gmake[2]: *** [../../bin/slice2cpp] Error 1
gmake[2]: Leaving directory `/home/raocheng/work/products/opensource/Ice-2.0.0/src/slice2cpp'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/home/raocheng/work/products/opensource/Ice-2.0.0/src'
gmake: *** [all] Error 1
=====================================================

What's the problem? I have tested the new compiler and found it's ok!

Other information:
1)my OS is red hat 9.0!
2)I don't use STLport


Thank you!

Comments

  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    Ice 2.0 does not support gcc 2.9.6 anymore. I recommend to update your gcc version. See this page for a list of supported platforms.

    If you want to try gcc 2.9.6 even though it is not supported, then at the very least you require STLport. The STL library that is included in gcc 2.9.6 will not work. However, if you run into any problems, we will not be able to help you, so I think upgrading your gcc version is the better option.
Sign In or Register to comment.