On 6 February 2012 15:13, Ken Conley <kwc@willowgarage.com> wrote:
On Sun, Feb 5, 2012 at 6:20 PM, Daniel Stonier <d.stonier@gmail.com> wrote:
> Couple of quick questions.
>
> From what I've seen, it looks like you can upgrade your stacks to catkin and
> build/release from source with catkin (releases have to be catkin enabled?).

Yes, but this toolchain is very, very immature and catkin APIs are not
officially stable yet.  Fuerte is a chance to get much more experience
with them with a limited set of stacks.

> Alternatively if your stack is not yet catkin enabled, you can still
> apt-get or catkin build/install dependencies, then use the old 'in place'
> build via rosco and rosmake to compile your sources. Am I tuned in to the
> master plan correctly?

Yes (with the addition that rosinstall will also work soon).  The
catkin-based stuff looks like a system dependency to the old 'in
place' build.  Following that logic, the rest of the rules follow,
i.e.:

 1) You must build and install the catkin-based stuff *before*
building the rosmake-based stuff
 2) You cannot mix a source tree with catkin-based stuff and
rosmake-based stuff (follows from (1))
 3) catkin-based stacks will soon become rosdep keys, i.e. instead of
<depend stack="foo"/>, you have <rosdep name="foo" />.  This is
awaiting the new version of rosdep I am working on.  It's not
necessary (nor possible yet) to port your dependencies to rosdeps in
Fuerte.

For convenience, you can have multiple catkin-based source trees in
the same workspace, and they will construct an out-of-source build
directory that you can run your code from (tools like roslaunch can
even find resources there correctly).  That said, the majority of our
regression testing is with an installed tree.

> Rospack is now using your rewrite brian? i.e.
>
> - hg:
>     uri: 'https://kforge.ros.org/rosrelease/rospack'
>     local-name: rospack

Yes, that's Brian's rewrite. rospack can be separately built and
installed, though we currently integrate it with the rest of the
catkin stuff to make our lives easier for now.

> Rosinstall - if it's a permanent feature, it would be good if it detected
> the presence of catkin and made that symbolic link 'catkin/toplevel.cmake ->
> CMakeLists.txt'.

rosinstall will have a --catkin option, which does what you describe,
plus configure your environment correctly.

> What is the situation with rx tools and ros-fuerte-swig-wx? I'm sudo
> apt-get'ing ubuntu's swig at the moment and that is sufficient to compile. I
> suspect this is in the works as mentioned on the migration page (it's a
> source rosdep?).

I'm not sure what you mean.  I can apt-get install ros-fuerte-rx just
fine -- are you seeing a problem? ros-fuerte-swig-wx is a catkin port
of the modified wxswig wrappers that rx has always used.  Dirk Thomas
has Qt replacements for most of the stuff in rx in the works, but it
won't be ready until Groovy.  At that time we will hopefully finally
cast off wx.

 
I can apt-get ros-fuerte-rx fine, however when doing a completely source based catkin build using troy's rosinstall for a catkin build, it fails when rx tries to find the ros swig binary. I have to source the /opt/ros/fuerte setup.bash I think for it to be found (haven't checked thoroughly sorry).
 
FYI: every tree we build is in this github repo:

https://github.com/wg-debs


I'm trying to go through the deb building process - we're interested in getting Yujin's closed stacks .deb'd (i.e. make my life simpler). I'm guessing the process is via the method outlined here https://github.com/willowgarage/catkin/blob/master/doc/catkin-release.rst.

Right now I'm testing with qt_ros/qt_tutorials which have been catinized and compile against the rosinstalled sources (i.e. following the walkthrough). The process goes well until it actually hits the cmake step in the build stage, i.e. when I do

git buildpackage -uc -us --git-ignore-branch --git-ignore-new   # on lucid, omit --git-ignore-new

It is fine until it hits the add_service_files macro in qt_tutorials (see error below). Which probably means I haven't got the environment set up properly. I've just been stepping into the environment via /opt/ros/fuerte/env.sh for this. What's the correct way to set it up to generate release builds like you have at the repos above? Or should I hold off on this for a bit?

I wonder if there's a better place to move this discussion too.

Cheers,
Daniel.


*************************************************************************************

make[1]: Entering directory `/home/snorri/tmp/catkin/qt_ros-release'
dh_auto_configure -- \
                -DCMAKE_INSTALL_PREFIX="/opt/ros/fuerte" \
                -DCMAKE_PREFIX_PATH="/opt/ros/fuerte"
        mkdir -p obj-i486-linux-gnu
        cd obj-i486-linux-gnu
        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/opt/ros/fuerte -DCMAKE_PREFIX_PATH=/opt/ros/fuerte
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Shell environment is defined in catkin installation at /opt/ros/fuerte/env.sh
-- Found PythonInterp: /usr/bin/python2.6
-- Using these generator languages from the installation: genpy;gencpp
-- UBUNTU is on.
-- UBUNTU_LUCID is on.
-- RT_LIBRARY: rt
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found GTest: /usr/lib/libgtest.so
TODO: implement add_roslaunch_check() in rostest-extras.cmake.
-- Shell environment is defined in catkin installation at /opt/ros/fuerte/env.sh
-- UBUNTU is on.
-- UBUNTU_LUCID is on.
-- RT_LIBRARY: rt
-- Shell environment is defined in catkin installation at /opt/ros/fuerte/env.sh
-- UBUNTU is on.
-- UBUNTU_LUCID is on.
-- RT_LIBRARY: rt
-- Shell environment is defined in catkin installation at /opt/ros/fuerte/env.sh
-- UBUNTU is on.
-- UBUNTU_LUCID is on.
-- RT_LIBRARY: rt
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.6.2 (using /usr/bin/qmake)
-- Found JPEG: /usr/lib/libjpeg.so
-- Found TIFF: /usr/lib/libtiff.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
CMake Error at qt_tutorials/CMakeLists.txt:31 (add_service_files):
  Unknown CMake command "add_service_files".


-- Configuring incomplete, errors occurred!
dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/opt/ros/fuerte -DCMAKE_PREFIX_PATH=/opt/ros/fuerte returned exit code 1
make[1]: *** [override_dh_auto_configure] Error 1
make[1]: Leaving directory `/home/snorri/tmp/catkin/qt_ros-release'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1340:
dpkg-buildpackage -rfakeroot -D -us -uc -i -I failed
debuild -i -I returned 29
Couldn't run 'debuild -i -I -uc -us'

 

> I'm going to hit the cross-compiling over the next couple of days, so I'll
> hit the tracker with patches for you.

Cross compiling working great (arm shared + mingw static compiles) with only minimal updates.
 
Great!

thanks,
Ken

>
> Cheers,
> Daniel.
>
>
> On 4 February 2012 01:55, Jack O'Quin <jack.oquin@gmail.com> wrote:
>>
>> On Fri, Feb 3, 2012 at 1:47 AM, Tully Foote <tfoote@willowgarage.com>
>> wrote:
>> > On Thu, Feb 2, 2012 at 5:56 PM, Tully Foote <tfoote@willowgarage.com>
>> > wrote:
>> >> I'm working on rosinstall at the moment.  This works fine except for
>> >> the
>> >> case where rospack hasn't been built yet.  I'll work in some helpful
>> >> message.
>> >
>> > rosinstall 0.5.25  is released and does the above.  Please give it a
>> > whirl
>> > and let me know if it works.
>>
>> Another problem: setup.sh creates a broken $PATH entry for Fuerte:
>>
>> export ROS_ROOT=/opt/ros/fuerte/share/ros
>> export PATH=$ROS_ROOT/bin:$PATH
>>
>> There is no /opt/ros/fuerte/share/ros/bin. Apparently,
>> /opt/ros/fuerte/bin is the correct directory (but only for Fuerte).
>> --
>>  joq
>> _______________________________________________
>> Ros-release mailing list
>> Ros-release@code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-release
>
>
>
>
>
> _______________________________________________
> Ros-release mailing list
> Ros-release@code.ros.org
> https://code.ros.org/mailman/listinfo/ros-release
>