Hi all,
Does the 2.6 version of orocos-toolchain stable for production use? When I bootstrap the toolchain ,typelib failed with this:
autoproj: building and installing packages typelib: running cmake -DCMAKE_INSTALL_PREFIX=/media/dbh/devel/robot/install -DCMAKE_MODULE_PATH= -DRUBY_EXECUTABLE=/usr/bin/ruby1.9.1 /media/dbh/devel/robot/typelib
(output goes to /media/dbh/devel/robot/install/log/typelib-configure.log) configuring CMake for typelib-- The C compiler identification is GNU 4.8.1-- The CXX compiler identification is GNU 4.8.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") -- Found Doxygen: /usr/bin/doxygen (found version "1.8.4") -- checking for one of the modules 'Utilmm;UtilMM;utilmm' -- checking for one of the modules 'libxml-2.0;libxml2;libxml>=2' -- Boost version: 1.53.0 -- Found the following Boost libraries: -- unit_test_framework: /usr/lib/i386-linux-gnu/libboost_unit_test_framework.so -- system: /usr/lib/i386-linux-gnu/libboost_system.so -- filesystem: /usr/lib/i386-linux-gnu/libboost_filesystem.so -- lookign for config.h -- ruby-1.9.1ruby-staticruby1.9 -- Found Ruby: /usr/bin/ruby1.9.1 -- using Ruby version 1.9.3 -- lookign for config.h -- ruby-1.9.1ruby-staticruby1.9 -- Ruby: enabled dyncall support -- boost/test found ... building test suite -- Configuring done -- Generating done -- Build files have been written to: /media/dbh/devel/robot/typelib/build
configured CMake for typelibtypelib: running cmake .
(output goes to /media/dbh/devel/robot/install/log/typelib-build.log) building typelib-- lookign for config.h-- ruby-1.9.1ruby-staticruby1.9 -- using Ruby version 1.9.3 -- lookign for config.h -- ruby-1.9.1ruby-staticruby1.9 -- Ruby: enabled dyncall support -- boost/test found ... building test suite -- Configuring done -- Generating done -- Build files have been written to: /media/dbh/devel/robot/typelib/build typelib: running make --jobserver-fds=6,7 -j
(output goes to /media/dbh/devel/robot/install/log/typelib-build.log) building typelibScanning dependencies of target dyncallScanning dependencies of target typeLib [ 2%] [ 4%] Generating dyncall-0.6/ConfigVars Building CXX object typelib/CMakeFiles/typeLib.dir/registry.o
- configure package dyncall
guess operating system linux guess arch x86 guess tool gcc guess assembler as [ 7%] Generating dyncall/lib/libdyncall_s.a, dyncall/lib/libdynload_s.a make[3]: warning: -jN forced in submake: disabling jobserver mode. make[3]: warning: -jN forced in submake: disabling jobserver mode. [ 7%] Built target dyncall Scanning dependencies of target test_ruby [ 9%] Building CXX object test/ruby/CMakeFiles/test_ruby.dir/test_rb_value.o Linking CXX shared module libtest_ruby.so [ 9%] Built target test_ruby [ 11%] Building CXX object typelib/CMakeFiles/typeLib.dir/typebuilder.o [ 14%] Building CXX object typelib/CMakeFiles/typeLib.dir/typemodel.o [ 16%] Building CXX object typelib/CMakeFiles/typeLib.dir/typename.o [ 19%] Building CXX object typelib/CMakeFiles/typeLib.dir/typevisitor.o [ 21%] Building CXX object typelib/CMakeFiles/typeLib.dir/typedisplay.o [ 23%] Building CXX object typelib/CMakeFiles/typeLib.dir/exporter.o [ 26%] Building CXX object typelib/CMakeFiles/typeLib.dir/pluginmanager.o /media/dbh/devel/robot/typelib/typelib/pluginmanager.cc: In destructor ‘Typelib::PluginManager::~PluginManager()’: /media/dbh/devel/robot/typelib/typelib/pluginmanager.cc:66:17: warning: deleting object of abstract class type ‘Typelib::TypeDefinitionPlugin’ which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete *it; ^[ 28%] [ 30%] Building CXX object typelib/CMakeFiles/typeLib.dir/value.o Building CXX object typelib/CMakeFiles/typeLib.dir/importer.o [ 33%] Building CXX object typelib/CMakeFiles/typeLib.dir/csvoutput.o [ 35%] Building CXX object typelib/CMakeFiles/typeLib.dir/endianness.o [ 38%] Building CXX object typelib/CMakeFiles/typeLib.dir/memory_layout.o [ 40%] Building CXX object typelib/CMakeFiles/typeLib.dir/value_ops.o Linking CXX shared library libtypeLib.so [ 40%] Built target typeLib Scanning dependencies of target typeLang_cSupport Scanning dependencies of target typeLang_tlb [ 42%] [ 45%] Building CXX object lang/csupport/CMakeFiles/typeLang_cSupport.dir/containers.o Building CXX object lang/tlb/CMakeFiles/typeLang_tlb.dir/export.o In file included from /usr/include/c++/4.8/vector:64:0,
from /media/dbh/devel/robot/typelib/typelib/typemodel.hh:8, from /media/dbh/devel/robot/typelib/lang/csupport/containers.hh:4, from /media/dbh/devel/robot/typelib/lang/csupport/containers.cc:1:/usr/include/c++/4.8/bits/stl_vector.h: In instantiation of ‘class std::vector<Typelib::Container>’: /media/dbh/devel/robot/typelib/lang/csupport/containers.cc:15:1: required from here /usr/include/c++/4.8/bits/stl_vector.h:704:7: error: cannot allocate an object of abstract type ‘Typelib::Container’
resize(size_type __new_size, value_type __x = value_type()) ^In file included from /media/dbh/devel/robot/typelib/lang/csupport/containers.hh:4:0,
from /media/dbh/devel/robot/typelib/lang/csupport/containers.cc:1:/media/dbh/devel/robot/typelib/typelib/typemodel.hh:423:11: note: because the following virtual functions are pure within ‘Typelib::Container’:
class Container : public Indirect ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:372:29: note: virtual std::string Typelib::Indirect::getIndirectTypeName(const string&) const
virtual std::string getIndirectTypeName(std::string const& inside_name) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:434:22: note: virtual void Typelib::Container::delete_if_impl(void*, Typelib::Container::DeleteIfPredicate&) const
virtual void delete_if_impl(void* ptr, DeleteIfPredicate& pred) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:458:22: note: virtual void Typelib::Container::init(void*) const
virtual void init(void* ptr) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:459:22: note: virtual void Typelib::Container::destroy(void*) const
virtual void destroy(void* ptr) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:460:22: note: virtual bool Typelib::Container::visit(void*, Typelib::ValueVisitor&) const
virtual bool visit(void* ptr, ValueVisitor& visitor) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:491:22: note: virtual void Typelib::Container::clear(void*) const
virtual void clear(void* ptr) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:495:22: note: virtual void Typelib::Container::push(void*, Typelib::Value) const
virtual void push(void* ptr, Value v) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:501:22: note: virtual bool Typelib::Container::erase(void*, Typelib::Value) const
virtual bool erase(void* ptr, Value v) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:508:22: note: virtual bool Typelib::Container::compare(void*, void*) const
virtual bool compare(void* ptr, void* other) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:513:22: note: virtual void Typelib::Container::copy(void*, void*) const
virtual void copy(void* dst, void* src) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:519:22: note: virtual long int Typelib::Container::getNaturalSize() const
virtual long getNaturalSize() const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:528:24: note: virtual size_t Typelib::Container::getElementCount(const void*) const
virtual size_t getElementCount(void const* ptr) const = 0; ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:547:44: note: virtual std::vector<unsigned int>::const_iterator Typelib::Container::dump(const void*, size_t, Typelib::OutputStream&, std::vector<unsigned int>::const_iterator, std::vector<unsigned int>::const_iterator) const
virtual MarshalOps::const_iterator dump( ^In file included from /media/dbh/devel/robot/typelib/lang/csupport/containers.hh:4:0,
from /media/dbh/devel/robot/typelib/lang/csupport/containers.cc:1:/media/dbh/devel/robot/typelib/typelib/typemodel.hh:568:44: note: virtual std::vector<unsigned int>::const_iterator Typelib::Container::load(void*, size_t, Typelib::InputStream&, std::vector<unsigned int>::const_iterator, std::vector<unsigned int>::const_iterator) const
virtual MarshalOps::const_iterator load( ^/media/dbh/devel/robot/typelib/typelib/typemodel.hh:583:34: note: virtual const Typelib::Container& (* Typelib::Container::getFactory() const)(Typelib::Registry&, const std::list<const Typelib::Type*>&)
virtual ContainerFactory getFactory() const = 0; ^make[2]: *** [lang/csupport/CMakeFiles/typeLang_cSupport.dir/containers.o] error 1
orocos-toolchain 2.6 typelib
I got the same error. I'm running ubuntu 14.04, I suppose that the problem arise from new versions of some compilers or libraries but don't know what, since I didn't experienced this problem when I installed it on xubuntu 12.04. Does anyone know how to solve this issue?
EDIT: The problem seem to be solved in the new version of typelibe. Remove the old typelib folder and download the new one from git://gitorious.org/orocos-toolchain/typelib.git then continue to run the script typing ". env.sh" and "autoproj build"
Best regards, giuseppe