[MacPorts] #27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable.
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: -------------------------------+-------------------------------------------- I just tried to run port upgrade outdated. libdc1394 now seems to depend on libusb. libusb is notoriously buggy and out of date, and there has been a lot of active, recent development in libusb-devel. If libdc1394 requires usb support, it should use libusb-devel, at least for now. Attaching a patch. -- Ticket URL: <https://trac.macports.org/ticket/27979> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Changes (by jmr@…): * owner: macports-tickets@… => mail@… * port: => libdc1394 Comment: Please remember to fill in the Port field and cc the maintainer. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by jmr@…): Could you point out specific problems that are caused by not using libusb- devel? -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by njbutko@…): libusb has been under a lot of active development lately, because of interest in the kinect. It turns out that libusb was not widely used or well tested until suddenly everybody wanted to use kinects. Then many problems were found. They have been patched, but only in the development port. For example, http://www.kinect-hacks.com/kinect-guides/12-17-10/install-openkinect- using-libfreenect-and-libusb-mac-osx http://www.freenect.com/how-to-get-the-kinect-working-on-mac-os-x -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by mail@…): Patch works fine :), thanks. BTW: would it be better to change all Ports to libusb-devel? Or to use the name libusb instead of libusb-devel? -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by jmr@…): Replying to [comment:3 njbutko@…]:
libusb has been under a lot of active development lately, because of interest in the kinect. It turns out that libusb was not widely used or well tested until suddenly everybody wanted to use kinects. Then many problems were found. They have been patched, but only in the development port.
OK, so "problems with the kinect" is a little less vague. But can you point out the specific problems? -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by njbutko@…): Replying to [comment:5 jmr@…]:
OK, so "problems with the kinect" is a little less vague. But can you point out the specific problems?
Unfortunately, I don't really know the specifics of the problems. I only have a vague idea based on talking to the developers of libfreenect a few months ago. Their opinion was that libusb was buggy in many of its more advanced features. Specifically, they were finding that Apple's IOKit had a lot of poorly documented specifications that were difficult to follow correctly, and that libusb didn't follow them correctly. So, they patched up the parts of libusb that needed patching to get the Kinect to work. They submitted the patches, and then were frustrated by libusb's slow release schedule. They got the patches pushed into the development branch, and the development branch is currently required for anyone working with a kinect. There is a lot of overlap with people using kinect and libdc1394 (basically anyone doing computer vision), and it would be nice for them to be compatible. I'm not sure what a good general policy for this sort of thing is. On the one hand, development versions are inherently unstable, because new features are being added. However, it sucks when the "stable" version has bugs that make it unusable. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by mail@…): So basically i see 3 possible solutions: 1. We remove the dependency to libusb: everyone can build libdc1394 with some features turned off when there is no libusb installed before libdc1394.The user has the choice of installing either libusb or libusb- devel before libdc1394. 2. We set the dependency to libusb: all users of the kinect will be very unhappy and have to build ouside macports. 3. We set the dependency to libusb-devel: kinect users will be happy, all people which use a port depending on libusb will be unhappy. I personally favor solution 1 :). If that is OK for everyone, i will change the port to this setting... :q! Uwe -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by njbutko@…):
I personally favor solution 1 :). If that is OK for everyone, i will change the port to this setting...
Uwe, solution 1 is acceptable for me, but I would propose a 4th option. Just have a "libusbdevel" variant for libdc1394. This will let users decide between stable and unstable, and in the future, when the fixes get propagated to the main branch, we won't really have to fix anything. So to be clear, what I am proposing is that I would install lib1394 in the following way: {{{ sudo port install lib1394 +libusbdevel }}} and someone not using kinect could install lib1394 as before. I'll attach a new patch for this solution. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by njbutko@…): Alright, I attached a patch which implements my proposal, and seems to work on my computer. Just a correction to the command before, of course this is the command: {{{ sudo port install libdc1394 +libusbdevel }}} -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: libdc1394 requires libusb, conflicts with libusb-devel, which is more stable. -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libdc1394 -------------------------------+-------------------------------------------- Comment(by mail@…): That is also possible :) Thanks for your solution. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Changes (by ryandesign@…): * cc: al-libnfcport@…, brett@…, ecronin@…, jt.burgess@…, jtomshine@…, mail@…, michaelld@…, ricci@…, rmstonecipher@…, ryandesign@…, toby@…, tomldavis@… (added) * port: libdc1394 => libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut Comment: The correct solution is not to add variants or add new ports, but to declare the dependency in such a way that either libusb or libusb-devel could satisfy it. This is how all ports should declare dependencies on all ports having -devel versions. That is, the dependency should not be "port:libusb" (nor "port:libusb-devel") but instead "path:lib/pkgconfig/libusb-1.0.pc:libusb". See #14540 for further documentation. Cc'ing maintainers of all ports that depend on libusb. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Comment(by ryandesign@…): Replying to [comment:11 ryandesign@…]:
That is, the dependency should not be "port:libusb" (nor "port:libusb- devel") but instead "path:lib/pkgconfig/libusb-1.0.pc:libusb".
Or alternately, if it is decided that libusb-devel should be the default for now until a new release of libusb is made, then it should be "path:lib/pkgconfig/libusb-1.0.pc:libusb-devel". -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: mail@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Comment(by mail@…): Added a Portfile depending on the installed libusb/libusb-devel in pkgconfig. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Changes (by jmr@…): * owner: mail@… => macports-tickets@… Comment: Committed the change to libdc1394 in r86996. All the other ports have yet to be done (if you're getting this in an email, that probably means one or more of them is your responsibility). -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:15> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Comment(by ecronin@…): py{26,27}-pyusb-devel taken care of in r86997 -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:16> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency -------------------------------+-------------------------------------------- Reporter: njbutko@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut -------------------------------+-------------------------------------------- Comment(by adfernandes@…): Just FYI, `libusb-devel` will be going away shortly, replaced by an updated version of `libusb`. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:17> MacPorts <http://www.macports.org/> Ports system for Mac OS
#27979: ports requiring libusb should allow libusb-devel to satisfy the dependency ----------------------------------------------------------------------------------------------------------------------------------------+ Reporter: njbutko@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Resolution: fixed | Keywords: Port: libnfc libdc1394 libfreespace libusb-compat usbmuxd libgpod gpsd py26-pyusb-devel py27-pyusb-devel indi usrp iguanaIR nut | ----------------------------------------------------------------------------------------------------------------------------------------+ Changes (by adfernandes@…): * status: new => closed * resolution: => fixed Comment: I just committed a major revision to `libusb` and friends in #34338 (r92944). The `libusb-devel` was replaced by `libusb`, so `libusb-devel` is no longer needed. At the pace if `libusb` development, I doubt we'll need another `-devel` branch soon. I think this ticket can be closed. -- Ticket URL: <https://trac.macports.org/ticket/27979#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts