Opened 14 years ago
Closed 13 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)
Change History (10)
comment:1 follow-up: 2 Changed 14 years ago by jmroot (Joshua Root)
comment:2 Changed 14 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 14 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | snowleopard removed |
comment:4 Changed 14 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 14 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@…
Attachment: | cdrdao-device-default-bufsize.patch added |
---|
Changed 13 years ago by jagerman@…
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 13 years ago by jmroot (Joshua Root)
Cc: | jagerman@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
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.
Did you confirm that it works on 10.5? If not, the snowleopard keyword is not warranted.