Building kdl

Hi,

I'm trying to pack the kdl as a debian package. Looking on the code I have
found some points that I would like to comment:

- first of all the dependencies. Please, could you confirm the dependencies
list of libkdl:

- orocos-rtt gnulinux target (the default)
- python-sip4-dev (works at least for me with 4.4.5-4)
nothing more specific that orocos-rtt didn't have.

- second, the library itself has a little problem. It hasn't the soname
definitions. Do you have thought about it? In rtt, Peter told me:
- ABI version 1.4 (rtt_major.rtt_minor)
- Version (rtt_major.rtt_minor.rtt_pachlevel)

where all the versions of the lib are binary compatible (same ABI) with the
major.minor numbers. A same procedure with kdl would be
soname 1.0
version 1.0.0

but you are the authors, so please tell something.

Regards,

Leo

KDL compiling

Hi! Could anyone tell me how to compile the kdl sources? I am running Dev-c++ under windows,and I have added the source files to a project,but when I tried to compile the whole,several error messages was dropped e.g.
255 D:\Orocos-KDL-1.0.0-beta1-Source\src\utilities\utility.h `double KDL::hypot(double, double)' conflicts with previous using declaration `double hypot(double, double)'. Or if there is no way to use this under windows, could anyone tell meg how to do that under linux? (I have built all nessecery libraries,also kdl).Thanks for your help! Zoli

Re: KDL compiling

Hi Zoli,

I know that older versions of KDL compiled on windows as well, but probably only in visual studio. I'm guessing you're using gcc/g++.

Looking at utility.h, it looks like both __GNUC__ and __WIN32__ are defined, which leads to conflicts in that file. You could for example fix this by editing src\utilities\utility.h at line 254 and change

#ifdef __WIN32__
to:
#if defined(__WIN32__) && !defined(__GNUC__)

See if this improves your situation. You could create a bug report on Orocos Bugzilla (https://www.fmtc.be/orocos-bugzilla/) with the complete error log as attachment, such that the developers can see what's causing the problems.

Peter

Thanks for your answer,

Thanks for your answer, Peter!
Dev-cpp: "It uses GCC, Mingw or Cygwin as compiler and libraries set". I made the changes in the utility.h, but the same error message remained. Maybe I should get a visual studio.Which version do you suggest to use?
I know this is a rookie quiestion but when I want to build the kdl,do I need to put all the cpps and hpps in the src (and its sub-)dir to a project,or are some of them useless for me?(I would like to write a tree structure,and kinematic algorithyms for that)

Thanks for your answer,

A Dilluns 05 Novembre 2007, z01ee va escriure:
> Thanks for your answer, Peter!
> Dev-cpp: "It uses GCC, Mingw or Cygwin as compiler and libraries set". I
> made the changes in the utility.h, but the same error message remained.
> Maybe I should get a visual studio.Which version do you suggest to use? I
> know this is a rookie quiestion but when I want to build the kdl,do I need
> to put all the cpps and hpps in the src (and its sub-)dir to a project,or
> are some of them useless for me?(I would like to write a tree structure,and
> kinematic algorithyms for that)

I recommend you to not create a new project for dev-cpp to compile it in
windoes. If you have the cygwin installed try to compile kdl with normale
makefiles. Also, you can try to use http://www.codeblocks.org/ that cmake
has a generator in the cvs try that could help.

Regards,

Leo

Building kdl

A Dimecres 31 Octubre 2007, Leopold Palomo Avellaneda va escriure:
> Hi,
>
> I'm trying to pack the kdl as a debian package. Looking on the code I have
> found some points that I would like to comment:
>
> - first of all the dependencies. Please, could you confirm the dependencies
> list of libkdl:
>
> - orocos-rtt gnulinux target (the default)
> - python-sip4-dev (works at least for me with 4.4.5-4)
> nothing more specific that orocos-rtt didn't have.
>
> - second, the library itself has a little problem. It hasn't the soname
> definitions. Do you have thought about it? In rtt, Peter told me:
> - ABI version 1.4 (rtt_major.rtt_minor)
> - Version (rtt_major.rtt_minor.rtt_pachlevel)
>
> where all the versions of the lib are binary compatible (same ABI) with the
> major.minor numbers. A same procedure with kdl would be
> soname 1.0
> version 1.0.0
>
> but you are the authors, so please tell something.
>
> Regards,
>
> Leo

also, I add that i got this messages:

/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘q_init’
/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘v_in’
/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘q_out’
sipPyKDLcmodule.cpp:1348: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1349: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1350: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1351: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1352: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1353: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1354: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1355: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1356: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1357: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1358: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1371: warning: dereferencing type-punned pointer will
break strict-aliasing rules
sipPyKDLcmodule.cpp:1372: warning: dereferencing type-punned pointer will
break strict-aliasing rules
/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘q_init’
/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘v_in’
/usr/src/orocos/kdl-1.0.0/src/chainiksolvervel_pinv.hpp:62: warning: unused
parameter ‘q_out’

and, the kdl doesn't need the orocos lib, no?

Regards,

Leo

Building kdl

Quoting Leopold Palomo Avellaneda <lepalom [..] ...>:
>
> and, the kdl doesn't need the orocos lib, no?

'libkdl' does not require a single header from the RTT. only the libkdltk
(if its still named like that) provides the bindings KDL->RTT for the
scripting and XML languages.
So you could say that liborocos-rtt-gnulinux-dev is a build dependency
of orocos-kdl source, but only the libkdltk package depends on the
liborocos-rtt package, not the main libkdl package.

Peter