Opened 13 years ago

Closed 12 years ago

#27819 closed defect (fixed)

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 (Ryan Carsten Schmidt))

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 (2)

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

Download all attachments as: .zip

Change History (10)

comment:1 Changed 13 years ago by jmroot (Joshua Root)

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

comment:2 in reply to:  1 Changed 13 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 13 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: snowleopard removed

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

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 13 years ago by essandess (Steve 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 13 years ago by jagerman@…

Changed 13 years ago by jagerman@…

Attachment: Portfile added

comment:6 Changed 13 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 13 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 12 years ago by jmroot (Joshua Root)

Cc: jagerman@… added
Resolution: fixed
Status: newclosed

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.