Solved the problem by downgrading to libstlport 4.6, apparently 5.1 dropped some symbols needed by DRAWEXE.
Share and enjoy,
Author
Archived discussion
Greetings,
Thanks to this Forum and the patches at http://homepages.cae.wisc.edu/~kraftche/OCC/patches.html I've been able to come pretty far with compiling OpenCASCADE. This is on Debian lenny (testing) with gcc 4.2.1 and libstlport5.1 5.1.4-1. I get stuck when trying to link DRAWEXE:
/bin/sh ../../../libtool --tag=CXX --mode=link g++ -ffriend-injection -fpermissive -DCSFDB -DOCC_CONVERT_SIGNALS -DLIN -DLININTEL -D_GNU_SOURCE=1 -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/include -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/include/linux -g -DDEB -D_DEBUG -o DRAWEXE DRAWEXE.o ../TKDraw/libTKDraw.la ../TKMesh/libTKMesh.la ../TKGeomAlgo/libTKGeomAlgo.la ../TKTopAlgo/libTKTopAlgo.la ../TKHLR/libTKHLR.la ../TKGeomBase/libTKGeomBase.la ../TKG2d/libTKG2d.la ../TKBRep/libTKBRep.la ../TKMath/libTKMath.la ../TKG3d/libTKG3d.la ../TKernel/libTKernel.la -L/usr/lib -lstlport -L/usr/lib -ltcl8.4 -L/usr/lib -ltk8.4 -ldl -lpthread -lieee -lm
mkdir .libs
g++ -ffriend-injection -fpermissive -DCSFDB -DOCC_CONVERT_SIGNALS -DLIN -DLININTEL -D_GNU_SOURCE=1 -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/include -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/include/linux -g -DDEB -D_DEBUG -o .libs/DRAWEXE DRAWEXE.o ../TKDraw/.libs/libTKDraw.so ../TKMesh/.libs/libTKMesh.so ../TKGeomAlgo/.libs/libTKGeomAlgo.so ../TKTopAlgo/.libs/libTKTopAlgo.so ../TKHLR/.libs/libTKHLR.so ../TKGeomBase/.libs/libTKGeomBase.so ../TKG2d/.libs/libTKG2d.so ../TKBRep/.libs/libTKBRep.so ../TKMath/.libs/libTKMath.so ../TKG3d/.libs/libTKG3d.so ../TKernel/.libs/libTKernel.so -L/usr/lib -lstlport -ltcl8.4 -ltk8.4 -ldl -lpthread -lieee -lm -Wl,--rpath -Wl,/home/hazelsct/x86_64-linux/lib
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_close()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::numpunct::id'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_write(char*, long)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_Filebuf_base()'
../TKernel/.libs/libTKernel.so: undefined reference to `stlpmtx_std::ios_base::app'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_file_size()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Underflow >::_M_doit(stlpmtx_std::basic_filebuf >*)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::cout'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_unmap(void*, long)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_seek(long, int)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::~locale()'
../TKGeomAlgo/.libs/libTKGeomAlgo.so: undefined reference to `stlpmtx_std::cerr'../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ctype::scan_is(stlpmtx_std::ctype_base::mask, char const*, char const*) const'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::~ios_base()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::__node_alloc::_M_allocate(unsigned long&)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::__node_alloc::_M_deallocate(void*, unsigned long)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::__stl_throw_length_error(char const*)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::ios_base()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::_M_throw_failure()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::badbit'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::_M_get_facet(stlpmtx_std::locale::id const&) const'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::cin'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ctype::scan_not(stlpmtx_std::ctype_base::mask, char const*, char const*) const'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::locale(stlpmtx_std::locale const&)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::goodbit'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_page_size'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::codecvt::id'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::operator=(stlpmtx_std::locale const&)'
../TKernel/.libs/libTKernel.so: undefined reference to `stlpmtx_std::ios_base::out'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ios_base::imbue(stlpmtx_std::locale const&)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::_Filebuf_base::_M_open(char const*, int)'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::_M_use_facet(stlpmtx_std::locale::id const&) const'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::ctype::id'
../TKDraw/.libs/libTKDraw.so: undefined reference to `stlpmtx_std::locale::locale()'
../TKDraw/.libs/libTKDraw.so: undefined reference to `typeinfo for stlpmtx_std::ios_base'
collect2: ld returned 1 exit status
make[3]: *** [DRAWEXE] Error 1
make[3]: Leaving directory `/home/hazelsct/opencascade-6.2.0/ros/adm/make/DRAWEXE'
What is this? Do I need a newer stlport library?
Thanks in advance for any help you can provide.
-Adam
Discussion
Posts are displayed in their archived order.
Solved the problem by downgrading to libstlport 4.6, apparently 5.1 dropped some symbols needed by DRAWEXE.
Share and enjoy,
Author