-lrw_simulation

66 views
Skip to first unread message

Grzegorz Zieba

unread,
Nov 18, 2009, 2:10:30 PM11/18/09
to RobWork
What steps will reproduce the problem?
1.building robwork with xerces disabled
2.buidling robwork studio

What is the expected output? What do you see instead?

Error during linking:

[ 98%] Built target rwstudio_lua
Linking CXX executable ../../../bin/Release/RobWorkStudio
/usr/bin/ld: cannot find -lrw_simulation
collect2: ld returned 1 exit status
make[2]: *** [../../bin/Release/RobWorkStudio] Error 1
make[1]: *** [src/CMakeFiles/RobWorkStudio.dir/all] Error 2
make: *** [all] Error 2

What version of the product are you using? On what operating system?

robwork 4.0 - ubuntu 9.10 linux

Please provide any additional information below.

xerces disabled, downgrade from 3.0 to 2.8 and still robwork did not
compile (with 3.0 failed on 36%, with 2.8 on 86%). After disabling
compiles, but problem of studio arised.

Jimmy Jorgensen

unread,
Nov 18, 2009, 2:41:55 PM11/18/09
to rob...@googlegroups.com
Hi,

First check if librw_simulation.a exists in RobWork/libs/release

Then add this line to the RobWorkStudio/src/CMakeList.txt

MESSAGE( ${ROBWORK_LIBRARIES} )
MESSAGE( ${ROBWORK_INCLUDE_DIR} )
MESSAGE( ${ROBWORK_LIBRARY_DIRS} )

And post the result.

/Jimmy
> --
>
> You received this message because you are subscribed to the Google
> Groups "RobWork" group.
> To post to this group, send email to rob...@googlegroups.com.
> To unsubscribe from this group, send email to
> robwork+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/robwork?hl=en.


Grzegorz Zięba

unread,
Nov 18, 2009, 3:21:30 PM11/18/09
to rob...@googlegroups.com
Ok, checked,
librw_simulation.a does not exist in RobWork/libs/release neither in
RobWorkStudio/libs/release.
(I have problem with Studio, not robwork itself)
What is interesting is, when calling cmake, it shows xerces found and
enabled, even that i disabled it.


Result of added lines:

Jimmy Jorgensen

unread,
Nov 18, 2009, 3:39:07 PM11/18/09
to rob...@googlegroups.com

Well if you don't have rw_simulation in the RobWork/libs/release folder then
that suggests that the library has not been compiled correectly. Try
compiling robwork again(no need to clean, just compile). Make sure to check
the output and see if rw_simulation is compiled.

/Jimmy

Grzegorz Zieba

unread,
Nov 18, 2009, 4:23:33 PM11/18/09
to RobWork
After compiling RobWork once more, the library is already on its
place, but other error shows up (refers to xerces 3, which in theory
should be replaced by 2.8):

Linking CXX executable ../../../bin/Release/RobWorkStudio
/home/grzegorz/Workspace/RW/workspace/RobWork/build/../libs/Release/
liblualib.a(loslib.c.o): In function `os_tmpname':
loslib.c:(.text+0x55): warning: the use of `tmpnam' is dangerous,
better use `mkstemp'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`RobWorkStudio::~RobWorkStudio()':
RobWorkStudio.cpp:(.text+0x2d5b): undefined reference to
`rw::loaders::XMLPropertySaver::save(rw::common::PropertyMap const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`RobWorkStudio::~RobWorkStudio()':
RobWorkStudio.cpp:(.text+0x375b): undefined reference to
`rw::loaders::XMLPropertySaver::save(rw::common::PropertyMap const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`RobWorkStudio::~RobWorkStudio()':
RobWorkStudio.cpp:(.text+0x494b): undefined reference to
`rw::loaders::XMLPropertySaver::save(rw::common::PropertyMap const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`RobWorkStudio::RobWorkStudio(std::vector<RobWorkStudio::PluginSetup,
std::allocator<RobWorkStudio::PluginSetup> > const&,
rw::common::PropertyMap const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)':
RobWorkStudio.cpp:(.text+0x747a): undefined reference to
`rw::loaders::XMLPropertyLoader::load(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`RobWorkStudio::RobWorkStudio(std::vector<RobWorkStudio::PluginSetup,
std::allocator<RobWorkStudio::PluginSetup> > const&,
rw::common::PropertyMap const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)':
RobWorkStudio.cpp:(.text+0x881a): undefined reference to
`rw::loaders::XMLPropertyLoader::load(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o): In function
`xercesc_3_0::XMLAttDefList::~XMLAttDefList()':
RobWorkStudio.cpp:(.text._ZN11xercesc_3_013XMLAttDefListD0Ev
[xercesc_3_0::XMLAttDefList::~XMLAttDefList()]+0x8): undefined
reference to `xercesc_3_0::XMemory::operator delete(void*)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o):
(.rodata._ZTVN11xercesc_3_013XMLAttDefListE[vtable for
xercesc_3_0::XMLAttDefList]+0x20): undefined reference to
`xercesc_3_0::XMLAttDefList::isSerializable() const'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o):
(.rodata._ZTVN11xercesc_3_013XMLAttDefListE[vtable for
xercesc_3_0::XMLAttDefList]+0x28): undefined reference to
`xercesc_3_0::XMLAttDefList::serialize
(xercesc_3_0::XSerializeEngine&)'
../../../libs/Release/librwstudio.a(RobWorkStudio.cpp.o):
(.rodata._ZTVN11xercesc_3_013XMLAttDefListE[vtable for
xercesc_3_0::XMLAttDefList]+0x30): undefined reference to
`xercesc_3_0::XMLAttDefList::getProtoType() const'

Jimmy Jorgensen

unread,
Nov 18, 2009, 4:33:30 PM11/18/09
to rob...@googlegroups.com
Ok, so the error is really that xerces3 is still around somehow...

Remove everything from build/release both in RobWork and RobWorkStudio

Then recompile robwork (use cmake first) and next RobWorkStudio.

Make sure that you don't use xerces3 anywhere...

Grzegorz Zieba

unread,
Nov 18, 2009, 4:38:05 PM11/18/09
to RobWork
If I knew how to get rid of xerces totally, I would not disable it in
config. The problem is that I removed 3.0 by apt-get, (also lib),
installed 2.8, and still got errors. After that I started to try with
xerces disabled. So if I find the way to remove 3.0 and install 2,8
properly, my problem is gone. Any ideas anyone? (I tried synaptics).
Maybe the reason why synaptics and apt-get does not downgrade to 2.8
is that I did (following instructions from xerces website) changed
system paths manually:

export PATH="$PATH:<full-path-to-xerces-c-3.0.1-{arch}-{os}-{compiler}
>/bin"
export LD_LIBRARY_PATH=<xerces-path>/lib:$LD_LIBRARY_PATH

and maybe this has messed up

Grzegorz Zieba

unread,
Nov 18, 2009, 4:44:08 PM11/18/09
to RobWork
grzegorz@grzegorz-laptop:~$ sudo apt-get remove libxerces-c3.0
[sudo] password for grzegorz:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libxerces-c3.0 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
grzegorz@grzegorz-laptop:~$ sudo apt-get remove libxerces-c-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libxerces-c-dev is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
grzegorz@grzegorz-laptop:~$ sudo apt-get install libxerces-c2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libxerces-c2-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
grzegorz@grzegorz-laptop:~$ sudo apt-get install libxerces-c28
Reading package lists... Done
Building dependency tree
Reading state information... Done
libxerces-c28 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Grzegorz Zieba

unread,
Nov 18, 2009, 5:12:59 PM11/18/09
to RobWork
to be complete, this happens when compiling with xerces enabled:

/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp:23:37: error: xercesc/dom/DOMWriter.hpp: No such file
or directory
/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp: In static member function ‘static void
rw::loaders::XercesDocumentWriter::writeDocument
(xercesc_3_0::DOMDocument*, const std::string&)’:
/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp:44: error: ‘DOMWriter’ is not a member of ‘xercesc’
/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp:44: error: ‘theSerializer’ was not declared in this
scope
/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp:44: error: ‘class xercesc_3_0::DOMImplementationLS’
has no member named ‘createDOMWriter’
/home/grzegorz/Workspace/RobWork/workspace/RobWork/src/rw/loaders/xml/
XercesUtils.cpp:70: error: type ‘<type error>’ argument given to
‘delete’, expected pointer
make[2]: *** [src/rw/CMakeFiles/rw.dir/loaders/xml/XercesUtils.cpp.o]
Error 1
make[1]: *** [src/rw/CMakeFiles/rw.dir/all] Error 2

Jimmy Jorgensen

unread,
Nov 18, 2009, 5:59:01 PM11/18/09
to rob...@googlegroups.com
Well that was kinda what i proposed in the last mail. I think perhaps xerces
3 is built in to some of the object files or cmake stuff. If you remove
everything in the folders
RobWork/build/release
RobWorkStudio/build/release

Then any reference to xerces 3.0 should be gone.

And a new build would hopefully succeed.

> -----Original Message-----
> From: Grzegorz Zieba [mailto:grz...@gmail.com]

Grzegorz Zieba

unread,
Nov 19, 2009, 4:54:15 AM11/19/09
to RobWork
Removing the content of build/release does not help, as I have tried
many times with fresh folder structure unpacked from zip.
What has helped (and now I am running RobWork finally) was removing
from the filesystem all files containing xerces in their name. As it
turned out - files of xerces3 were still hidden somewhere, and
moreover configuration files had 3.0 as current version. After that,
reinstalling 2.8, clean build and success.
Reply all
Reply to author
Forward
0 new messages