[ros-users] compile problem nodelet in OSX

Brian Gerkey gerkey at willowgarage.com
Fri Sep 2 17:07:07 UTC 2011

On Fri, Sep 2, 2011 at 9:58 AM, Nicholas Butko <nbutko at ucsd.edu> wrote:
> I had the same problem. The best way I found to fix it was to add
> to the exported cflags argument of pluginlib.

hi Nick,

My concern with that approach is that you'd have to ensure that every
package that brings in tinyxml remembers to both #define and export
TIXML_USE_STL.  And the problem doesn't present on Ubuntu, where the
libtinyxml-dev package installs tinyxml.h with TIXML_USE_STL #defined.

That's why I went for the source rosdep approach for tinyxml on OSX.

I'd prefer to use tinyxml (and every other library) from a standard
installation, but I couldn't see a good way to make the macports
installation of it work.


> On Fri, Sep 2, 2011 at 9:49 AM, Brian Gerkey <gerkey at willowgarage.com>
> wrote:
>> hi Kevin,
>> On Fri, Sep 2, 2011 at 8:06 AM, Kevin Walchko <kevin.walchko at gmail.com>
>> wrote:
>> > I am having problems compiling nodelet.
>> > ROS electric, OSX Lion 10.7 using macports and default compiler
>> > I had to define STL use in loader.cpp, otherwise the macports of tinyXML
>> > didn't make certain class members available:
>> > #define TIXML_USE_STL
>> > is there a way to define this in CMakeLists.txt?
>> Did the tinyxml source rosdep not work for you?  `rosdep install
>> nodelet` should build and install an appropriately configured version
>> of tinyxml from https://kforge.ros.org/rosrelease/sourcedeps/tinyxml.
>> I wrote that because I was having the same trouble you are (and more,
>> as I recall) with using the macports version of tinyxml.

More information about the ros-users mailing list