-
Notifications
You must be signed in to change notification settings - Fork 807
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
Not installing the libgtsam-unstable-dev package causes build failures #881
Comments
Maybe this could be added to #824 |
Pinging @jlblancoc who is the expert on packaging. |
@mantkiew can you try setting the CMake flag |
Thank you, I'll try that. However, I suggest making this option to be |
It seems a real CMake exports bug:
There should be two export files, one for I have no time for full testing now, but I think the error is the repeated
The latter should be |
Finally got down to examining this in detail. @jlblancoc's findings are spot-on, though I am actually wondering if we should have two versions of the GTSAM package, one with @berndpfrommer thoughts? Should be pretty straightforward I believe? |
That being said, I played around with the CMake to get a different export file working called |
From what I understand we currently have, due to what looks like a cmake bug, the following actual dependency: Yes, I can make two different source packages, one with GTSAM_BUILD_UNSTABLE=ON, the other =OFF, and then have one provide the unstable only, the other the stable only. Getting the packaging to work can be quite tedious though (this will probably take me a full day to get working) and it will make an even greater mess out of an already complicated build process. I'm also not too keen on doing that because it will now require maintaining at least 3, maybe 4 different packaging repos (with TBB/without TBB) * (with unstable/without unstable). I know of no good way to maintain these 3 or 4 source packages in parallel. I'm also not sure how kindly the Ubuntu folks will look at such work-arounds when we ask them to sponsor gtsam as an official ubuntu package. So sorry, from a packaging perspective I need to push back. Alternatively, I could add a package dependency: [libgtsam-dev depends on libgtsam-unstable] until the proper cmake fix is available. |
@berndpfrommer that's a fair point, thanks for your comments. 🙂 Can you please wait on the package dependency part? I have the changes ready and will push them first thing in the morning so that you won't have to create and then undo the dependency. |
BTW, under what scenario do you have to do find_package(GTSAM_UNSTABLE)? If it's only when you are actually using libgtsam_unstable, then that's perfectly fine, and in fact the expected behavior. |
@berndpfrommer for some reason I can't add you as a reviewer, but can you please take a look at #906? |
OK, will do so Monday. I guess I should test that this PR indeed removes the dependencies such that libgtsam-dev can be used without libgtsam-unstable. |
Yup, this should be the expected behavior as per my changes.
I've currently set it |
Description
On Ubuntu, when a user installs only
libgtsam-dev
package and then tries to use the library using CMake, the following error is produced:That is, the cmake file references
libgtsam_unstable.so.4.0.3
file which belongs to thelibgtsam-unstable-dev
package.Consequently, it is not possible to only install
libgtsam-dev
without installinglibgtsam-unstable-dev
.Steps to reproduce
apt-get install libgtsam-dev
Expected behavior
When the user installs only
libgtsam-dev
package, the CMake files installed should not refer to the files from thelibgtsam-unstable-dev
package.Environment
Ubuntu 18.04 Bionic
The text was updated successfully, but these errors were encountered: