Git Product home page Git Product logo

Comments (4)

andypugh avatar andypugh commented on June 1, 2024

This was something that I knew was coming, and that I don't really know how to solve.

libgpiod is a mess, for example libgpiod2 is still v1.6, not 2.

There are no packages in Debian for libgpiod v2, with the new API, so I decided this was a problem that can be kicked down the road until at least after Trixie (which still has v1.6) https://packages.debian.org/search?suite=trixie&searchon=names&keywords=libgpiod

There is probably something horribly messy that can be done with conditional compilation, or a wrapper API.

I am not even 100% sure that libgpiod has a 1:1 mapping between v1.x and v2.x functions.

The libgpiod developers were keen that I should code for v2, but with no packages available from Debian, how would our users get it? We can host the packages on our own repository, but that isn't a fix for folk installing LinuxCNC from the main Debian mirrors.

from linuxcnc.

FabioLolix avatar FabioLolix commented on June 1, 2024

Hello, on the AUR making a pkgbuild for libgpiod v1.6.4 installed in /opt/libgpiod-1.6.4 (or something similar) so it doesn't conflicts with the system's one isn't a problem

How I could pass that to autogen.sh or ./configure ?

from linuxcnc.

andypugh avatar andypugh commented on June 1, 2024

As I knew this was coming somewhere down the line, ./configure does set an environment variable containing the version:
https://github.com/LinuxCNC/linuxcnc/blob/master/src/configure.ac#L535
Currently it is only used to detect the presence of the library:
https://github.com/LinuxCNC/linuxcnc/blob/master/src/Makefile#L1006
But I suppose, in theory, it could be used to compile a completely different source file into the same module (with the same Linuxcnc-side API)

from linuxcnc.

FabioLolix avatar FabioLolix commented on June 1, 2024

btw https://github.com/pikvm/ustreamer updated to build with libgpiod 2.0.x while also working with the older version seems, the 2 relevant commits:

from linuxcnc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.