Package Details: gtsam 4.1.1-1

Git Clone URL: (read-only, click to copy)
Package Base: gtsam
Description: A library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
Upstream URL:
Licenses: BSD
Conflicts: gtsam-git, gtsam-mkl
Provides: gtsam
Submitter: kartikmohta
Maintainer: kartikmohta
Last Packager: kartikmohta
Votes: 1
Popularity: 0.000000
First Submitted: 2013-12-06 18:38 (UTC)
Last Updated: 2021-12-31 08:02 (UTC)

Dependencies (5)

Sources (1)

Latest Comments

acxz commented on 2020-05-08 02:30 (UTC) (edited on 2020-05-08 02:34 (UTC) by acxz)

@kartikmohta thanks for the offer, means a lot! However, my time with gtsam might end soon, besides, having someone else look at the changes is definitely better for quality. If you could set up a github mirror for you PKGBUILDs using aurpublish( that would be even better tho. Then I could submit PRs directly.

Right now I'm just trying to vet out warnings and seeing if some of these 3rdParty codebases can be vendored out.

acxz commented on 2020-05-08 02:25 (UTC) (edited on 2020-05-08 02:26 (UTC) by acxz)

/> It's only used for some tests which we don't build anyway.

Ah yes it seems like you are right. There is the following line:

gtsam/navigation/GPSFactor.h:58:   * Use GeographicLib to convert from geographic (latitude and longitude) coordinates

that mentions GepgraphiLib but nothing from GeographLib is required for the *.cpp version of that file. The rest of the mentions (and includes) are in the navigation/tests.

kartikmohta commented on 2020-05-08 01:29 (UTC)

@acxz I can add you as a co-maintainer of this and the other gtsam-* packages if you are willing to help and are also regularly using it. I don't really use gtsam these days.

kartikmohta commented on 2020-05-08 01:27 (UTC)

As far as I can see, geographiclib is not really a dependency. It's only used for some tests which we don't build anyway.

acxz commented on 2020-05-08 01:20 (UTC)

@kartikmohta Even though geographiclib is vendored in the GTSAM codebase, they check to see if a system level package is installed before installing their own copy. For example this is what I see in my cmake output with the geographiclib package installed: -- Found GeographicLib: /usr/lib Can you add geographiclib as dep?

acxz commented on 2020-05-08 01:11 (UTC)

Sweet thank you!

kartikmohta commented on 2020-05-07 19:16 (UTC)

@acxz Added a separate gtsam-mkl package with MKL enabled. I was not sure of enabling MKL in this package even if it's installed since the official docs say, "best performance is usually achieved with MKL disabled. We therefore advise you to benchmark your problem before using MKL."

acxz commented on 2020-05-07 12:00 (UTC) (edited on 2020-05-07 13:23 (UTC) by acxz)

@kartikmohta I have intel-mkl installed however, when I build this pakcage, I see the following message during the cmake stage:

-- Could NOT find MKL (missing: MKL_LIBRARIES) 

This patch resolved the issue for me:

acxz commented on 2020-05-02 15:24 (UTC)

@kartikmohta, I submitted a request to have this package be on the arch4edu repositories so that it is easier and faster for users to install it.

This means that "optional" dependencies like intel-tbb and intel-mkl need to included in the makedepends for the binary package to work correctly.

If you could create a package called gtsam-mkl, then @petronny can package that one (with intel accelerations built) as well as regular gtsam without the intel accelerations.

I have also submitted a PR to update the GTSAM Arch Linux install documentation. See:

Thank you for maintaining this package and if you could this one thing that would really help the community out in terms of binary installs vs source installs. Thanks!

kartikmohta commented on 2020-04-26 19:31 (UTC)

@petronny Do you want a version which disables MKL? Currently this would automatically use MKL if it's installed.

petronny commented on 2020-04-24 05:26 (UTC) (edited on 2020-04-24 05:29 (UTC) by petronny)

Also could you split it into 2 packages, gtsam and gtsam-mkl, building without and with the intel accelerations?

petronny commented on 2020-04-24 05:22 (UTC) (edited on 2020-04-24 05:24 (UTC) by petronny)

Missing eigen in depends:

-- Could NOT find TBB (missing: TBB_INCLUDE_DIRS TBB_LIBRARIES tbb tbbmalloc) (Required is at least version "4.4")
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
CMake Error at /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
  Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
  (Required is at least version "2.91.0")
Call Stack (most recent call first):
  /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindEigen3.cmake:76 (find_package_handle_standard_args)
  CMakeLists.txt:292 (find_package)

-- Configuring incomplete, errors occurred!
See also "/build/gtsam/src/gtsam-4.0.2/build/CMakeFiles/CMakeOutput.log".
See also "/build/gtsam/src/gtsam-4.0.2/build/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().

m-pilia commented on 2020-01-10 08:32 (UTC) (edited on 2020-01-10 08:32 (UTC) by m-pilia)

Hi! I see you patched the build to provide a copy of metis under a different name (/usr/lib/ It looks like this binary is compiled differently than the system metis (/usr/lib/ provided by the metis package, the latter seems to not use thread-local storage. This can cause linking errors in other packages that have both metis and gtsam as dependencies if the two libraries get mixed.

acxz commented on 2019-10-13 00:45 (UTC)

As always, thanks for your quick response!

kartikmohta commented on 2019-10-13 00:29 (UTC)

@acxz Yes, looks like they re-tagged the release. Thanks for the heads-up.

acxz commented on 2019-10-12 17:36 (UTC)

@kartikmohta I am trying to install this package but the validity check is failing. I think the gtsam group may have released another package under the same version name. Can you confirm and if needed fix the checksum? Thank you!

acxz commented on 2019-07-07 07:00 (UTC) (edited on 2019-07-07 07:05 (UTC) by acxz)

hmm I see, maybe they can be makedepends as well as optdepends? One example of this is the opencv package ( They have multiple packages listed under both make and optional dependencies. But I can see that being annoying for users who do not want to install intel-mkl/intel-tbb in the first place. As of now, the solution you have proposed is just fine tho.

kartikmohta commented on 2019-07-07 06:22 (UTC)

I'll add cmake to the makedepends, good catch! It's a bit tricky to just put intel-mkl/intel-tbb on the optdepends line since they need to be installed before building the package and if found at build time, then they are not optional anymore. I guess I'll put them in optdepends with a note that the package needs to be rebuilt to use them.

acxz commented on 2019-07-07 03:07 (UTC)

As seen on the following page can you also add intel-mkl as an optional dependency and change intel-tbb to an optional dependency? cmake should also be a make dependency.

acxz commented on 2019-07-02 14:35 (UTC) (edited on 2019-07-07 03:03 (UTC) by acxz)

Upstream has changed to and their development is on github now ( with release 4.0.0. Can this information be reflected on this package?

EDIT: Thank you!

acxz commented on 2019-05-03 00:32 (UTC) (edited on 2019-05-06 19:18 (UTC) by acxz)

A new version has been released, can this package be updated?

Edit: Thank you!