Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI failure with GTSAM related to boost headers [Windows] [Ubuntu&MacOS- solved] #19

Open
prashanthr05 opened this issue Jul 25, 2021 · 15 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@prashanthr05
Copy link
Collaborator

While trying to setup a CI with GTSAM as dependency and trying to build it from source, GTSAM fails to compile due to boost dependencies.
See the list of failures in,

https://github.com/dic-iit/kindyn-vio/actions?query=is%3Afailure+branch%3Afeature%2Fsetup-workflow

I have tried different combinations of boost versions with GTSAM to try and fix the compilation.

Looks like Github Actions stopped supporting boost? https://github.com/actions/boost-versions
and GTSAM devs have fixed boost CI installation using custom scripts. https://github.com/borglab/gtsam/pull/720/files

For windows, they started to use https://github.com/MarkusJx/install-boost (can be configured for both windows and ubuntu but not macOS).

I tried using the same action for both Ubuntu and Windows, in vain, unable to reach a fix.

@prashanthr05 prashanthr05 added the help wanted Extra attention is needed label Jul 25, 2021
@prashanthr05 prashanthr05 self-assigned this Jul 25, 2021
@prashanthr05
Copy link
Collaborator Author

prashanthr05 commented Jul 25, 2021

Looks like, the boost installed using the custom action is not being used in Ubuntu. Instead, a pre-existing boost of version 1.74 is used. See here. Apparently v1.67.0 is used in GTSAM CI, while for Windows v1.72.0 is used.

@prashanthr05
Copy link
Collaborator Author

Looks like GTSAM installation passed in macOS here

@prashanthr05
Copy link
Collaborator Author

macOS CI is in place. Windows and Linux, not yet.

@prashanthr05
Copy link
Collaborator Author

cc @traversaro would you have any suggestions?

@prashanthr05
Copy link
Collaborator Author

prashanthr05 commented Jul 26, 2021

Both Windows and Linux CI's GTSAM is not getting the boost from the configured cmake variable Boost_DIR.

@traversaro
Copy link
Collaborator

traversaro commented Jul 26, 2021

On Windows/conda, why you don't just install boost via conda?

@prashanthr05
Copy link
Collaborator Author

On Windows/conda, why you don't just install boost via conda?

I had tried that here. It didn't seem to work.

@prashanthr05
Copy link
Collaborator Author

prashanthr05 commented Jul 26, 2021

On Windows/conda, why you don't just install boost via conda?

I had tried that here. It didn't seem to work.

Ah, you mean via conda channel? instead of using robotology channel? I shall try that. (Sorry quite new to conda environment and still haven't taken the training program completely. ;D)

mamba install -c conda boost

something like this?

@prashanthr05
Copy link
Collaborator Author

Both Windows and Linux CI's GTSAM is not getting the boost from the configured cmake variable Boost_DIR.

Replaced Boost_DIR with BOOST_ROOT, BOOST_INCLUDEDIR and BOOST_LIBRARYDIR similar to https://github.com/borglab/gtsam/blob/43e8f1e5aeaf11890262722c1e5e04a11dbf9d75/.github/workflows/build-windows.yml#L81

However, manually configured cmake variables are not being used, in Ubuntu CI.
https://github.com/dic-iit/kindyn-vio/runs/3159717172?check_suite_focus=true#step:8:139

@traversaro
Copy link
Collaborator

something like this?

You just need to add the boost-cpp package to all the packages that are already installed via mamba , this comes (like pcl , libmatio , etc etc) from the conda-forge channel but you can avoid to explicitly specify it as it is set as default channel.

@prashanthr05
Copy link
Collaborator Author

prashanthr05 commented Jul 26, 2021

At the moment, I am unable to reach a solution for both Windows and Ubuntu, and I prefer to handle this later.

Last trace error: Boost version 1.58 (tested with ubuntu) or 1.67 (tested with windows) cannot be found with python 3.9.6, while trying to install with conda-force channel.

One CI is better than no CI. Currently MacOS CI is working. We can merge the branch with macOS CI to master.

@prashanthr05 prashanthr05 changed the title CI failure with GTSAM related to boost headers CI failure with GTSAM related to boost headers [Windows and Linux] Jul 26, 2021
@prashanthr05
Copy link
Collaborator Author

prashanthr05 commented Jul 26, 2021

@traversaro For ubuntu, I found a packaging for gtsam. Do you think we could use this directly?
https://anaconda.org/s_pillai/gtsam

But version seems quite old.

@traversaro
Copy link
Collaborator

traversaro commented Jul 26, 2021

@traversaro For ubuntu, I found a packaging for gtsam. Do you think we could use this directly?
https://anaconda.org/s_pillai/gtsam

No, I strongly suggest not to use any conda channel outside of conda-forge, robotology or robostack, or at least double check before using it. The chances that they are doing stuff correctly unless the library has no dependency is quite low. For gtsam, a packaging effort is ongoing in conda-forge/staged-recipes#14339 (comment), but I think for the moment it may be blocked for several reasons. For the time being compiling gtsam from source seems to be the best options.

@prashanthr05
Copy link
Collaborator Author

@traversaro For ubuntu, I found a packaging for gtsam. Do you think we could use this directly?
https://anaconda.org/s_pillai/gtsam

No, I strongly suggest not to use any conda channel outside of conda-forge, robotology or robostack, or at least double check before using it. The chances that they are doing stuff correctly unless the library has no dependency is quite low. For gtsam, a packaging effort is ongoing in conda-forge/staged-recipes#14339 (comment), but I think for the moment it may be blocked for several reasons. For the time being compiling gtsam from source seems to be the best options.

Noted!!

@prashanthr05
Copy link
Collaborator Author

Thanks to @traversaro, Ubuntu CI is functional now. See #22.

@prashanthr05 prashanthr05 changed the title CI failure with GTSAM related to boost headers [Windows and Linux] CI failure with GTSAM related to boost headers [Windows] Jul 26, 2021
@prashanthr05 prashanthr05 changed the title CI failure with GTSAM related to boost headers [Windows] CI failure with GTSAM related to boost headers [Windows] [Ubuntu&MacOS- solved] Jul 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants