Orocos git link problem.

Hi,

with the orocos-git version (2.0) (patched), boost1.42 and g++ 4.4.4 I got the
error showed below. Are you aware of it?

Regards,

Leo

-----------------------------------------------------------------
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_oarchive::save_binary(void const*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_oarchive::save_binary(void const*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`operator<< <std::vector<double, std::allocator<double> > >':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
collect2: ld returned 1 exit status
make[2]: *** [rtt/transports/mqueue/liborocos-rtt-mqueue-gnulinux.so.1.99.2]
Error 1
make[1]: ***
[rtt/transports/mqueue/CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/all]
Error 2
make: *** [all] Error 2

Orocos git link problem.

Hi,

with the orocos-git version (2.0) (patched), boost1.42 and g++ 4.4.4 I got the
error showed below. Are you aware of it?

Regards,

Leo

-----------------------------------------------------------------
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_oarchive::save_binary(void const*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_oarchive::save_binary(void const*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`operator<< <std::vector<double, std::allocator<double> > >':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:423:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code,
char const*, char const*)'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`archive_exception':
/usr/include/boost/archive/archive_exception.hpp:45: undefined reference to
`vtable for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`throw_exception<boost::archive::archive_exception>':
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `boost::archive::archive_exception::~archive_exception()'
/usr/include/boost/serialization/throw_exception.hpp:36: undefined reference
to `typeinfo for boost::archive::archive_exception'
CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/MQLib.cpp.o: In function
`RTT::mqueue::binary_data_iarchive::load_binary(void*, unsigned long)':
/home/leo/robotica/orocos/orocos-git/rtt/transports/mqueue/binary_data_archive.hpp:234:
undefined reference to
`boost::archive::archive_exception::~archive_exception()'
collect2: ld returned 1 exit status
make[2]: *** [rtt/transports/mqueue/liborocos-rtt-mqueue-gnulinux.so.1.99.2]
Error 1
make[1]: ***
[rtt/transports/mqueue/CMakeFiles/orocos-rtt-mqueue-dynamic_gnulinux.dir/all]
Error 2
make: *** [all] Error 2

Orocos git link problem.

Hi Leo,

On Wed, Jun 09, 2010 at 06:36:46PM +0200, Leopold Palomo-Avellaneda wrote:

> with the orocos-git version (2.0) (patched), boost1.42 and g++ 4.4.4 I got the
> error showed below. Are you aware of it?

I can confirm it, it appears mqueue support is not linked against
boost serialzation. The following patch fixes the problem for me.

Best regards
Markus

[PATCH] link mqueue transport against boost serialization

---
rtt/transports/mqueue/CMakeLists.txt | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/rtt/transports/mqueue/CMakeLists.txt b/rtt/transports/mqueue/CMakeLists.txt
index 341eeb3..fb04781 100644
--- a/rtt/transports/mqueue/CMakeLists.txt
+++ b/rtt/transports/mqueue/CMakeLists.txt
@@ -34,7 +34,7 @@ ENDIF( BUILD_STATIC )
ADD_LIBRARY(orocos-rtt-mqueue-dynamic_${OROCOS_TARGET} SHARED ${CPPS})
TARGET_LINK_LIBRARIES(orocos-rtt-mqueue-dynamic_${OROCOS_TARGET}
orocos-rtt-dynamic_${OROCOS_TARGET}
- ${MQ_LIBRARIES}
+ ${MQ_LIBRARIES} ${Boost_LIBRARIES}
)
SET_TARGET_PROPERTIES( orocos-rtt-mqueue-dynamic_${OROCOS_TARGET} PROPERTIES
DEFINE_SYMBOL "RTT_MQ_DLL_EXPORT"

[PATCH] link mqueue transport against boost serialization

A Dijous 10 Juny 2010, Markus Klotzbuecher va escriure:
> ---
> rtt/transports/mqueue/CMakeLists.txt | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/rtt/transports/mqueue/CMakeLists.txt
> b/rtt/transports/mqueue/CMakeLists.txt index 341eeb3..fb04781 100644
> --- a/rtt/transports/mqueue/CMakeLists.txt
> +++ b/rtt/transports/mqueue/CMakeLists.txt
> @@ -34,7 +34,7 @@ ENDIF( BUILD_STATIC )
> ADD_LIBRARY(orocos-rtt-mqueue-dynamic_${OROCOS_TARGET} SHARED ${CPPS})
> TARGET_LINK_LIBRARIES(orocos-rtt-mqueue-dynamic_${OROCOS_TARGET}
> orocos-rtt-dynamic_${OROCOS_TARGET}
> - ${MQ_LIBRARIES}
> + ${MQ_LIBRARIES} ${Boost_LIBRARIES}
> )
> SET_TARGET_PROPERTIES( orocos-rtt-mqueue-dynamic_${OROCOS_TARGET}
> PROPERTIES DEFINE_SYMBOL "RTT_MQ_DLL_EXPORT"

Ok,

perfect. Thanks I can confirm that it worked. Please, Peter, update the git
head with the boost 1.42 patch and this one.

Regards,,
Leo