[ros-users] can't install electric from source

Ken Conley kwc at willowgarage.com
Thu Sep 1 19:20:28 UTC 2011


On Thu, Sep 1, 2011 at 11:47 AM, Tom Temple <tom.temple at vecna.com> wrote:
> Of course, sorry.
> This is on Ubuntu 10.04 kernel 2.6.32-30-generic.  I'm using lucid sources with apt.
>
> I'm trying to install from source as described on the wiki,
> http://www.ros.org/wiki/electric/Installation/Ubuntu/Source
> i.e.,
> rosinstall /other/ros
> "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=desktop-full&overlay=no"
> (today: Sept 1 2011)
>
> More details about the apt installation: I did this first before trying to build
> from source.  I had linker errors when building my own nodes.  If I removed the
> NOBUILD file from laser_geometry, it would not build either.  I purged this
> installation before issuing the rosinstall command above.

I'd rather debug your apt installation than try to debug the source
errors -- some of the actions you describe of modifying read-only
binary installs and mixing in source builds can put your tree into a
weird state.

For example, I would expect your laser_geometry build to fail because
the apt method of installation creates a binary install as root that
isn't meant to be re-installed (i.e. you shouldn't remove a NOBUILD
file there).  Also, if you installed via apt-get, there is no need to
rebuild laser_geometry as it is already built.

Basically, my advice is to please do an apt installation and send the
linker errors from your nodes.   This way we can address the issue of
compiling your nodes.

NOTE: if your own nodes use eigen or tinyxml, you will have to update
them per these guides:
http://www.ros.org/wiki/eigen
http://www.ros.org/wiki/tinyxml

Also, if you have issues linking eigen, please include the output of:
pkg-config  --cflags eigen3

 - Ken

> Let me know if there's any other information you'd find helpful.  I'll also
> append the complete make output of which I only sent (what I considered to be)
> the interesting part.
>
> /other/ros/ros/tools/rospack>VERBOSE=1 make
> mkdir -p bin
> Re-run cmake no build system arguments
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /other/ros/ros/tools/rospack/build
> cd build && make
> make[1]: Entering directory `/other/ros/ros/tools/rospack/build'
> /usr/bin/cmake -H/other/ros/ros/tools/rospack
> -B/other/ros/ros/tools/rospack/build --check-build-system
> CMakeFiles/Makefile.cmake 0
> /usr/bin/cmake -E cmake_progress_start
> /other/ros/ros/tools/rospack/build/CMakeFiles
> /other/ros/ros/tools/rospack/build/CMakeFiles/progress.marks
> make -f CMakeFiles/Makefile2 all
> make[2]: Entering directory `/other/ros/ros/tools/rospack/build'
> make -f CMakeFiles/rospack.dir/build.make CMakeFiles/rospack.dir/depend
> make[3]: Entering directory `/other/ros/ros/tools/rospack/build'
> cd /other/ros/ros/tools/rospack/build && /usr/bin/cmake -E cmake_depends "Unix
> Makefiles" /other/ros/ros/tools/rospack /other/ros/ros/tools/rospack
> /other/ros/ros/tools/rospack/build /other/ros/ros/tools/rospack/build
> /other/ros/ros/tools/rospack/build/CMakeFiles/rospack.dir/DependInfo.cmake --color=
> make[3]: Leaving directory `/other/ros/ros/tools/rospack/build'
> make -f CMakeFiles/rospack.dir/build.make CMakeFiles/rospack.dir/build
> make[3]: Entering directory `/other/ros/ros/tools/rospack/build'
> Linking CXX shared library ../lib/librospack.so
> /usr/bin/cmake -E cmake_link_script CMakeFiles/rospack.dir/link.txt --verbose=1
>
>
> /usr/bin/c++  -fPIC -O3 -DNDEBUG  -shared -Wl,-soname,librospack.so -o
> ../lib/librospack.so CMakeFiles/rospack.dir/rospack.o
> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinystr.o
> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxml.o
> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlparser.o
> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlerror.o
> /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a(functexcept.o):
> relocation R_X86_64_32 against `std::bad_typeid::~bad_typeid()' can not be used
> when making a shared object; recompile with -fPIC
> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[3]: *** [../lib/librospack.so] Error 1
> make[3]: Leaving directory `/other/ros/ros/tools/rospack/build'
> make[2]: *** [CMakeFiles/rospack.dir/all] Error 2
> make[2]: Leaving directory `/other/ros/ros/tools/rospack/build'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/other/ros/ros/tools/rospack/build'
> make: *** [all] Error 2
>
> On 09/01/2011 02:24 PM, Ken Conley wrote:
>> Hi Tom,
>>
>> Please include much more information about your system:
>>
>> http://www.ros.org/wiki/Support#Guidelines_for_asking_a_question_.28Please_read_before_posting.29
>>
>> e.g. your OS version, how you installed ROS (e.g. /opt/ros/ros doesn't
>> make much sense to me, nor does the fact that you mention apt-get but
>> then talk about building rospack).
>>
>> thanks,
>> Ken
>>
>> On Thu, Sep 1, 2011 at 11:00 AM, Tom Temple<tom.temple at vecna.com>  wrote:
>>> rosinstall fails with "rospack failed to build"
>>>
>>> Issuing VERBOSE=1 make against rospack directly it looks like it can't link to
>>> tinyxml. (output below)
>>>
>>> I had libtinyxml-dev and libtinyxml-2.6.2 installed via apt-get.  I purged them
>>> and tried rosinstall again and got the same error.
>>>
>>> Potential clue: I was able to install electric-desktop-full with apt-get
>>> successfully, but I would get similar errors with rosmake, e.g., when making
>>> laser_geometry I was getting an error related to linking to eigen.  This
>>> suggests to me that I'm not installing the system dependencies in a ros friendly
>>> way.
>>>
>>> I'm basically stumped and would really appreciate any suggestions for what to try.
>>>
>>> Thanks!
>>>
>>> make output follows.
>>>
>>> wolverine at x-mansion:/opt/ros/ros/tools/rospack>VERBOSE=1 make
>>> ...
>>> Linking CXX shared library ../lib/librospack.so
>>> /usr/bin/cmake -E cmake_link_script CMakeFiles/rospack.dir/link.txt --verbose=1
>>>
>>>
>>> /usr/bin/c++  -fPIC -O3 -DNDEBUG  -shared -Wl,-soname,librospack.so -o
>>> ../lib/librospack.so CMakeFiles/rospack.dir/rospack.o
>>> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinystr.o
>>> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxml.o
>>> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlparser.o
>>> CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlerror.o
>>> /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a(functexcept.o):
>>> relocation R_X86_64_32 against `std::bad_typeid::~bad_typeid()' can not be used
>>> when making a shared object; recompile with -fPIC
>>> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a: could not read symbols: Bad value
>>> collect2: ld returned 1 exit status
>>> ...
>>>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



More information about the ros-users mailing list