Package Details: libsurvive-git 2232.4fb6d88-1

Git Clone URL: https://aur.archlinux.org/libsurvive-git.git (read-only, click to copy)
Package Base: libsurvive-git
Description: Open-Source tool for working with lighthouse-based tracking data, including support for the HTC Vive, Vive Pro and Valve Index.
Upstream URL: https://github.com/cntools/libsurvive
Licenses: MIT
Conflicts: libsurvive
Provides: libsurvive
Submitter: haagch
Maintainer: haagch
Last Packager: haagch
Votes: 0
Popularity: 0.000000
First Submitted: 2020-05-08 00:06 (UTC)
Last Updated: 2025-03-06 01:53 (UTC)

Required by (4)

Sources (3)

Latest Comments

1 2 Next › Last »

dreieck commented on 2025-03-06 21:55 (UTC)

Another thing:

According to the Arch Linux VCS packaging guidelines, "revision" package version should be prefixed by r, so:

echo r$revision.$hash instead of the current echo $revision.$hash.

But if you parse git describe --tags you can additionally add the proper release version number as first part (1.01), and so generate a version number like e.g. 1.01+31.r2232.4fb6d88 (see for example this PKGBUILD). (That then would also allow to add =${pkgver} to the provides entry, allowing for packages that might have versioned dependency to resolve correctly.)

Since changing the versioning scheme this way logically decreases the version number, $epoch should be incremented, i.e. epoch=1.

Regards!

dreieck commented on 2025-03-06 21:48 (UTC)

Thanks for the cnmatrix fix.

Currently when I run namcap, it tells me that openvr should be a dependency:

libsurvive-git E: Dependency openvr detected and not included (libraries ['usr/lib/libopenvr_api.so'] needed in files ['usr/lib/libsurvive/plugins/driver_openvr.so'])

Regards!

haagch commented on 2025-03-05 16:28 (UTC)

Ok I see that someone else packaged those separately. libsurvive links them statically, and if there are separate packages I don't think the libsurvive package should be the one to insist on providing them so I just manually delete those now.

dreieck commented on 2025-03-04 20:14 (UTC) (edited on 2025-03-04 20:31 (UTC) by dreieck)

This conflicts with cnmatrix:

error: failed to commit transaction (conflicting files)
cnmatrix: /usr/include/cnmatrix/cn_flt.h exists in filesystem (owned by libsurvive-git)
cnmatrix: /usr/include/cnmatrix/cn_matrix.blas.h exists in filesystem (owned by libsurvive-git)
cnmatrix: /usr/include/cnmatrix/cn_matrix.eigen.h exists in filesystem (owned by libsurvive-git)
cnmatrix: /usr/include/cnmatrix/cn_matrix.h exists in filesystem (owned by libsurvive-git)
cnmatrix: /usr/lib/libcnmatrix.a exists in filesystem (owned by libsurvive-git)
cnmatrix: /usr/lib/pkgconfig/cnmatrix.pc exists in filesystem (owned by libsurvive-git)

Please check if you either need to remove the conflicting files from the package, or add conflicts=("cnmatrix") and maybe also provides=("cnmatrix").

The package libsurvive does not have this issue.

Regards and thanks for maintaining!

dreieck commented on 2024-02-09 09:53 (UTC)

Fails to build for me with ModelPlot.cc:66:18: error: ‘class sciplot::Plot’ has no member named ‘show’:

In file included from /tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:1:
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/../include/cnkalman/ModelPlot.h:16:23: error: cannot declare field ‘cnkalman::ModelPlot::plot’ to be of abstract type ‘sciplot::Plot’
   16 |         sciplot::Plot plot;
      |                       ^~~~
In file included from /usr/include/sciplot/Plot2D.hpp:37,
                 from /usr/include/sciplot/Figure.hpp:34,
                 from /usr/include/sciplot/Canvas.hpp:33,
                 from /usr/include/sciplot/sciplot.hpp:38,
                 from /tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/../include/cnkalman/ModelPlot.h:6:
/usr/include/sciplot/Plot.hpp:56:7: note:   because the following virtual functions are pure within ‘sciplot::Plot’:
   56 | class Plot
      |       ^~~~
/usr/include/sciplot/Plot.hpp:204:18: note:     ‘virtual std::string sciplot::Plot::repr() const’
  204 |     virtual auto repr() const -> std::string = 0;
      |                  ^~~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/../include/cnkalman/ModelPlot.h:17:23: error: cannot declare field ‘cnkalman::ModelPlot::map’ to be of abstract type ‘sciplot::Plot’
   17 |         sciplot::Plot map;
      |                       ^~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc: In destructor ‘cnkalman::ModelPlot::~ModelPlot()’:
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:66:18: error: ‘class sciplot::Plot’ has no member named ‘show’
   66 |             plot.show();
      |                  ^~~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:67:17: error: ‘class sciplot::Plot’ has no member named ‘show’
   67 |             map.show();
      |                 ^~~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:69:14: error: ‘class sciplot::Plot’ has no member named ‘save’
   69 |         plot.save(name + "-plot.svg");
      |              ^~~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:70:13: error: ‘class sciplot::Plot’ has no member named ‘save’
   70 |         map.save(name + ".svg");
      |             ^~~~
/tmp/makepkg/build/libsurvive-git/src/libsurvive/libs/cnkalman/src/ModelPlot.cc:71:13: error: ‘class sciplot::Plot’ has no member named ‘save’
   71 |         map.save(name + ".png");
      |             ^~~~
[69/95] Building CXX object libs/cnkalman/libs/cnmatrix/src/CMakeFiles/cnmatrix.dir/eigen/svd.cpp.o
ninja: build stopped: subcommand failed.

Regards!

vsTerminus commented on 2024-01-22 00:58 (UTC) (edited on 2024-01-22 00:59 (UTC) by vsTerminus)

So in December there was a commit which broke hand tracking on Linux:

https://github.com/cntools/libsurvive/issues/294#issuecomment-1815183220
https://github.com/cntools/libsurvive/commit/464dd9734a8de20df818fd83e7c1b016b068bb52

It's easy enough to temporarily correct this by adding the following to PKGBUILD to the end of the "prepare()" function:

git revert --no-commit 464dd9734a8de20df818fd83e7c1b016b068bb52

In case anyone is having trouble getting the controller tracking to work on current builds.

haagch commented on 2021-04-06 09:01 (UTC)

@s-ol The xr-hardware (xr-hardware-git) dependency should take care of the udev rules. If those are missing some USB device we need to add them to xr-hardware.

I know we have missed something in the past because we had the rules shipped by the steam package installed /usr/lib/udev/rules.d/70-steam-vr.rules that has the rules for all the Vive/Index devices.

s-ol commented on 2021-04-06 08:15 (UTC)

Unlike libsurvive proper, this doesn't currently install the udev rules as per the "Getting Started" guide. I think that would be a good addition:

install -D -m644 "${pkgname}-${pkgver}/useful_files/81-vive.rules" -t "${pkgdir}/usr/lib/udev/rules.d"

dbermond commented on 2021-02-16 03:25 (UTC)

@haagch Thank you. If you build the package in a clean chroot with devtools (as Arch Linux packagers do with repository packages), you will see the namcap message indicating libusb as a missing dependency.

haagch commented on 2021-02-16 03:14 (UTC)

Interesting, namcap isn't showing libusb here. Still added it because I guess it really is a dependency.