eProsima / Integration-Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to colcon build soss-dds

destkk opened this issue · comments

Ubuntu: 20.04

Hi there. I have followed the intial method to install SOSS. After which I have git clone the SOSS-DDS into the soss-workspace.
I have received the following error below thus uanble to colcon build it.

Does anyone have a solution for this issue?

Starting >>> soss-core
Finished <<< soss-core [0.13s]                     
Starting >>> soss-dds
--- stderr: soss-dds                         
CMake Error at CMakeLists.txt:35 (add_subdirectory):
  The source directory

    /home/soss-workspace/src/soss-dds/dds/thirdparty/fastrtps

  does not contain a CMakeLists.txt file.


---
Failed   <<< soss-dds [0.34s, exited with code 1]

Summary: 1 package finished [0.60s]
  1 package failed: soss-dds
  1 package had stderr output: soss-dds

Good morning @destkk ,
Sorry, the project has been mainly following its development on a branch aside from master, that is, the feature/xtypes-dds branch. You should switch to that branch if you want to use the latest version of soss-dds. In that branch, fastrtps is not a thirdparty anymore, but a dependency; therefore, you should place a clone of the Fast-DDS repository there too.
We are preparing a new release of the whole SOSS tooling, which will also be renamed and hosted under eProsima's GitHub organization; among other things, the latest developments will be merged to main branch. Stay tuned!

Good morning @destkk ,
Sorry, the project has been mainly following its development on a branch aside from master, that is, the feature/xtypes-dds branch. You should switch to that branch if you want to use the latest version of soss-dds. In that branch, fastrtps is not a thirdparty anymore, but a dependency; therefore, you should place a clone of the Fast-DDS repository there too.
We are preparing a new release of the whole SOSS tooling, which will also be renamed and hosted under eProsima's GitHub organization; among other things, the latest developments will be merged to main branch. Stay tuned!

Hi there. Thank you for the prompt reply. May I have the link to the feature/xtypes-dds branch? Sorry I could not navigate around here.

Sure! Here it is: https://github.com/eProsima/SOSS-DDS/tree/feature/xtypes-dds

You may clone it using the following console command:
git clone https://github.com/eProsima/SOSS-DDS.git -b feature/xtypes-dds

Sure! Here it is: https://github.com/eProsima/SOSS-DDS/tree/feature/xtypes-dds

You may clone it using the following console command:
git clone https://github.com/eProsima/SOSS-DDS.git -b feature/xtypes-dds

Hi there. I have followed the steps below,
$ cd
$ git clone https://github.com/eProsima/SOSS-DDS/tree/feature/xtypes-dds
$ colcon build --packages-up-to soss-dds

and I have received the following errors

Starting >>> soss-core
Finished <<< soss-core [10.2s]                       
Starting >>> soss-dds
--- stderr: soss-dds                          
CMake Error at CMakeLists.txt:24 (find_package):
  By not providing "Findxtypes.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "xtypes", but
  CMake did not find one.

  Could not find a package configuration file provided by "xtypes" with any
  of the following names:

    xtypesConfig.cmake
    xtypes-config.cmake

  Add the installation prefix of "xtypes" to CMAKE_PREFIX_PATH or set
  "xtypes_DIR" to a directory containing one of the above files.  If "xtypes"
  provides a separate development package or SDK, be sure it has been
  installed.

Am i missing out any steps?

P.S. I have followed the steps here to create SOSS workspace first https://github.com/eProsima/soss before cloning this DDS.

I am not too sure which steps should I follow first in all these branches/repos

Oh yes, sorry. This is all very messed up, but we are preparing a new release and it will be all properly documented. In the meantime:

The reason it is not compiling is because you also need to place eProsima xtypes implementation in your colcon workspace. XTypes is our Dynamic Typed library and it is the common language used by SOSS. You can find it here: https://github.com/eProsima/xtypes

Oh yes, sorry. This is all very messed up, but we are preparing a new release and it will be all properly documented. In the meantime:

The reason it is not compiling is because you also need to place eProsima xtypes implementation in your colcon workspace. XTypes is our Dynamic Typed library and it is the common language used by SOSS. You can find it here: https://github.com/eProsima/xtypes

Step 1: I have included soss and soss-ros1 via https://github.com/eProsima/soss and colcon build
Step 2: git clone https://github.com/eProsima/SOSS-DDS/tree/feature/xtypes-dds
Step 3: git clone https://github.com/eProsima/xtypes and colcon build.

All are under the same workspace/src and I have received the following error,

Starting >>> soss-core
Starting >>> xtypes
Finished <<< soss-core [0.14s]                                      
Starting >>> soss-mock
Starting >>> soss-genmsg
Starting >>> soss-json
Starting >>> soss-rosidl
Finished <<< soss-genmsg [0.09s]                            
Starting >>> soss-ros1
Finished <<< soss-rosidl [0.09s]
Starting >>> soss-ros2
Finished <<< soss-mock [0.13s]
Finished <<< soss-json [0.13s]
Starting >>> soss-websocket
Finished <<< soss-ros1 [0.12s]                              
Starting >>> soss-ros1-test
Finished <<< soss-ros2 [0.13s]
Starting >>> soss-ros2-test
Finished <<< soss-websocket [0.14s]                         
Starting >>> soss-websocket-test
Finished <<< xtypes [0.48s]
Starting >>> soss-dds
[0.752s] WARNING:colcon.colcon_cmake.task.cmake.build:Could not run installation step for package 'soss-websocket-test' because it has no 'install' target
Finished <<< soss-websocket-test [0.09s]
Finished <<< soss-ros1-test [0.31s]                                       
Finished <<< soss-ros2-test [0.42s]                                       
--- stderr: soss-dds                              
Cloning into 'foonathan_memory'...
fatal: invalid reference: master
CMake Error at /home/destkk/workspaces/build/soss-dds/foonathan_memory/tmp/foonathan_memory-gitclone.cmake:40 (message):
  Failed to checkout tag: 'master'


make[2]: *** [CMakeFiles/foonathan_memory.dir/build.make:91: foonathan_memory/src/foonathan_memory-stamp/foonathan_memory-download] Error 1
make[1]: *** [CMakeFiles/Makefile2:107: CMakeFiles/foonathan_memory.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
---
Failed   <<< soss-dds [1.07s, exited with code 2]

Summary: 12 packages finished [1.73s]
  1 package failed: soss-dds
  1 package had stderr output: soss-dds
  1 package not processed

Am I still missing out any steps or I have installed in the wrong workspace? My apologies as I am a newbie in this.

Starting from a clean environment, these are the steps:

  1. Create your colcon workspace:
    $ mkdir -p soss_ws/src && cd soss_ws
  2. Clone the required repositories in the appropriate branches:
    $ git clone https://github.com/eProsima/soss.git -b feature/xtypes-dds src/soss
    $ git clone https://github.com/eProsima/soss-dds.git -b feature/xtypes-dds src/soss-dds
    $ git clone https://github.com/eProsima/soss-ros1.git -b feature/xtypes-support
    $ git clone https://github.com/eProsima/xtypes.git --recursive src/xtypes
  3. Please, take into account that, in order to build soss-ros2 you need a ROS 2 environment sourced before running colcon build. The same goes with soss-ros1, you need a ROS 1 environment sourced. Otherwise, the build will fail.
    Also, for soss-websocket you might need to install the dependency apt install libwebsocketpp-dev if it is not already installed in your linux system. Then:
    $ colcon build

Good morning,

Closing this, since inactive for almost three months. Please, do not hesitate to reopen this issue if any problem arises again. Thank you!