Bug 244129
Summary: | Support for old iso API removed, breaks other libs like libdc1394 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Kyle <heathbar82> |
Component: | libraw1394 | Assignee: | Jarod Wilson <jarod> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | mefoster, stefan-r-rhbz |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-07-18 17:35:33 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Kyle
2007-06-14 00:21:33 UTC
AFAIK libdc1394 v1 can use either this deprecated 1st generation isochronous API of libraw1394 or the video1394 driver ABI. Neither of these is directly supported by the new fw-core driver. But the libdc1394 v2 prerelease has been adapted to fw-core. See also bug 239043 and bug 239184. BTW, we plan for upstream linux kernel to remove runtime support of libraw1349's deprecated API parts from the old FireWire stack. Given that the old API is going away entirely anyhow, and libdc1394 v2 works with the new stack, I don't think committing time and effort to the old libdc1394 is particularly wise. Such time would be better spent on v2 and other improvements to the new stack and interfaces. Sorry, jumping in late -- the issue is, the header files still indicate that the library provides the deprecated functions, while the functions themselves aren't defined in the .so file. So instead of nice errors like "no such function", you instead get obscure link-time errors like this (while I tried to compile libdc1394 version 1 just now): ../libdc1394/.libs/libdc1394_control.so: undefined reference to `raw1394_set_iso_handler' ../libdc1394/.libs/libdc1394_control.so: undefined reference to `raw1394_stop_iso_rcv' ../libdc1394/.libs/libdc1394_control.so: undefined reference to `raw1394_start_iso_rcv' It might be best to remove the function headers from the .h file as well if the functions have actually truly been removed. These declarations do not exist in the header files of vanilla libraw1394 v2.0.0. (This is the first upstream version which does not provide these functions anymore.) Check if you have the latest Fedora libraw1394 (-devel, I presume) package installed. I'm running Fedora 9, and I have libraw1394-devel-1.3.0-7.fc9.i386 (and the corresponding non-devel package). Is 2.0 only in Rawhide, or is my computer messed up somehow? My guess is that libraw1394 v2 is only in rawhide and in the F10 preview. (I don't have Fedora installed myself.) Jarod, if you think this header bug should still be fixed in F9, then I think a straight diff from F9's raw1394.h to v2's raw1394.h should be safe to apply to F9's libraw1394-devel package. This diff contains the removal of the old iso functions and a few documentation fixes. Or only take the src/raw1394.h part of http://dennedy.org/cgi-bin/gitweb.cgi?p=dennedy.org/libraw1394.git;a=commit;h=0ea462ae9895ca903c8d3134910c06e1869560c4 i.e. http://dennedy.org/cgi-bin/gitweb.cgi?p=dennedy.org/libraw1394.git;a=blobdiff_plain;f=src/raw1394.h;fp=src/raw1394.h;h=d59b1b2210f3c45ab860d017585f9d7134453913;hp=89e601f33a644ffaa47486557d109227fae25258;hb=0ea462ae9895ca903c8d3134910c06e1869560c4;hpb=919e3999366a8a69f0ad706247004b1568d86841 Gah. No, this never got fixed in F9, which is still libraw1394 1.3.0-based. Yeah, I suppose I should fix that header up. |