New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #27819 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

cdrdao @1.2.3 Cannot setup device IODVDServices

Reported by: awaters@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: jagerman@…
Port: cdrdao

Description (last modified by ryandesign@…) (diff)

When running cdrdao with device set to IODVDServices the following output appears:

ERROR: init: no object
ERROR: init: no plugin
ERROR: init: no mmc
ERROR: init: no scsi
ERROR: init: failed
ERROR: Please use option '--device {[proto:]bus,id,lun}|device', e.g. --device 0,6,0, --device ATA:0,0,0 or --device /dev/cdrom
ERROR: Cannot setup device IODVDServices.

Tested on a Mac upgraded from cdrdao 1.2.2, and a Mac with a fresh install of 1.2.3. Both on 10.6.5.

Downgrading to 1.2.2 (revision 74246) resolves this issue.

Attachments

cdrdao-device-default-bufsize.patch (577 bytes) - added by jagerman@… 3 years ago.
Portfile (1.4 KB) - added by jagerman@… 3 years ago.

Change History

comment:1 follow-up: ↓ 2 Changed 4 years ago by jmr@…

Did you confirm that it works on 10.5? If not, the snowleopard keyword is not warranted.

comment:2 in reply to: ↑ 1 Changed 4 years ago by awaters@…

Replying to jmr@…:

Did you confirm that it works on 10.5? If not, the snowleopard keyword is not warranted.

No, sorry. Saw another report for cdrdao had snowleopard as a keyword and thought I was being helpful. :)

Only tested on 10.6.5. No 10.5 Mac available at the moment.

comment:3 Changed 4 years ago by ryandesign@…

  • Keywords snowleopard removed
  • Description modified (diff)

comment:4 Changed 4 years ago by ryandesign@…

You may wish to report this problem to the developers of cdrdao directly. We don't have anyone maintaining this port in MacPorts at this time.

comment:5 Changed 4 years ago by s.t.smith@…

+1 on 10.6.6.

Downgrading to @1.2.2 works on 10.6.6 for me, following the downgrade instructions here.

$ cd ~/Downloads
$ svn co -r 74246 http://svn.macports.org/repository/macports/trunk/dports/sysutils/cdrdao
$ cd cdrdao
$ sudo port install

Changed 3 years ago by jagerman@…

Changed 3 years ago by jagerman@…

comment:6 Changed 3 years ago by jagerman@…

The attached Portfile and patch fix this:

IODVDServices doesn't appear to work anymore--perhaps this is an OS X change? The actual device needed--which cdrdao will try to use by default if --device is not specified--is something like:

IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI/PRT1@1/IOAHCIDevice@0/IOAHCISerialATAPI/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices

That varies depending on your system, of course. But there's another bug, which is that while cdrdao has code to get the default device from the system, it copies it into a 128-length char array, but the above is longer than 128, so it gets truncated and fails. The attached patch doubles the length of the buffer, which fixes the problem.

I also dropped the patch-libscgscsi-mac-iokit.c patch from the Portfile, because as of 1.2.3, libscg isn't used; 1.2.3 adds and uses a native OS X interface instead.

comment:7 Changed 3 years ago by awaters@…

Thanks to jagerman. Confirmed the new Portfile and dao patch works on 10.6.8 by ripping a CD and then burning the rip.

comment:8 Changed 3 years ago by jmr@…

  • Status changed from new to closed
  • Cc jagerman@… added
  • Resolution set to fixed

Applied in r86712, thanks.

Please report this upstream if you haven't already done so. The buffer should really be dynamically allocated, or at least set to the maximum possible length for a device name.

Also note that it's preferable to provide changes to an existing Portfile in the form of a unified diff, rather than attaching the complete file. This makes it much easier to see what actually changed.

Note: See TracTickets for help on using tickets.