On 4/8/06, Petr Janda <[EMAIL PROTECTED]> wrote: > Compiling k3b gives this error: > > In file included from k3bscsicommand.cpp:187: > k3bscsicommand_bsd.cpp: In member function `int > K3bDevice::ScsiCommand::transport(K3bDevice::TransportDirection, void*, > size_t)': > k3bscsicommand_bsd.cpp:157: warning: right-hand operand of comma has no effect > In file included from k3bscsicommand.cpp:187: > k3bscsicommand_bsd.cpp: In member function `bool > K3bDevice::ScsiCommand::eject(bool)': > k3bscsicommand_bsd.cpp:196: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > k3bscsicommand_bsd.cpp:201: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > k3bscsicommand_bsd.cpp:204: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > k3bscsicommand_bsd.cpp:207: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > k3bscsicommand_bsd.cpp: In member function `bool > K3bDevice::ScsiCommand::traylock(bool)': > k3bscsicommand_bsd.cpp:215: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > k3bscsicommand_bsd.cpp:217: error: 'class K3bDevice::ScsiCommand::Private' has > no member named 'cmd' > gmake[2]: *** [k3bscsicommand.lo] Error 1 > gmake[2]: Leaving directory > `/usr/pkgsrc/sysutils/k3b/work/k3b-0.12.14/libk3bdevice' > gmake[1]: *** [all-recursive] Error 1 > gmake[1]: Leaving directory `/usr/pkgsrc/sysutils/k3b/work/k3b-0.12.14' > gmake: *** [all] Error 2 > *** Error code 2 > > Stop. > bmake: stopped in /usr/pkgsrc/sysutils/k3b > ===> > ===> There was an error during the ``build'' phase. > ===> Please investigate the following for more information: > ===> * log of the build > ===> * /usr/pkgsrc/sysutils/k3b/work/.work.log > ===> > *** Error code 1 > > Would fixing it be much of a problem?
I found the same problem and have narrowed it down. It looks as though the eject() and block() methods of K3bDevice::Device have been genericized into the K3bDevice::ScsiCommand in order to better support cross-platform. The file patch-an in pkgsrc contains the patch which adds these to k3bscsicommand_bsd.cpp. The problem is that they were ripped directly out of k3bdevice.cpp and so don't contain the proper BSD structures. I don't know enough about cam to fix this, but hopefully this will give someone who is more knowledgeable something to go on. Maybe the NetBSD patch (patch-af) has something closer to what we need? BTW this should break on FreeBSD too. Eric
