Page 1 of 1

libcdvd iop

Posted: Mon Oct 09, 2006 1:23 pm
by kenshin
Hi, I downloded libcdvd 1.15 from ps2dev website but I had quite a headach trying to build it ... at least the iop part
I get these errors

Code: Select all

cdvd_iop.c: In function `CDVD_init':
cdvd_iop.c:292: dereferencing pointer to incomplete type
cdvd_iop.c: In function `CDVD_open':
cdvd_iop.c:322: `O_RDONLY' undeclared (first use in this function)
cdvd_iop.c:322: (Each undeclared identifier is reported only once
cdvd_iop.c:322: for each function it appears in.)
cdvd_iop.c: In function `CDVD_lseek':
cdvd_iop.c:386: `SEEK_SET' undeclared (first use in this function)
cdvd_iop.c:390: `SEEK_CUR' undeclared (first use in this function)
cdvd_iop.c:394: `SEEK_END' undeclared (first use in this function)
cdvd_iop.c: In function `_start':
cdvd_iop.c:559: storage size of `param' isn't known
cdvd_iop.c:581: invalid use of undefined type `struct fileio_driver'
cdvd_iop.c:582: invalid use of undefined type `struct fileio_driver'
cdvd_iop.c:583: invalid use of undefined type `struct fileio_driver'
cdvd_iop.c:584: invalid use of undefined type `struct fileio_driver'
cdvd_iop.c:585: invalid use of undefined type `struct fileio_driver'
cdvd_iop.c:590: `FIO_INITIALIZE' undeclared (first use in this function)
cdvd_iop.c:591: `FIO_OPEN' undeclared (first use in this function)
cdvd_iop.c:592: `FIO_CLOSE' undeclared (first use in this function)
cdvd_iop.c:593: `FIO_READ' undeclared (first use in this function)
cdvd_iop.c:594: `FIO_WRITE' undeclared (first use in this function)
cdvd_iop.c:595: `FIO_SEEK' undeclared (first use in this function)
cdvd_iop.c: In function `FindPath':
cdvd_iop.c:1079: warning: assignment makes pointer from integer without a cast
cdvd_iop.c:1187: warning: assignment makes pointer from integer without a cast
cdvd_iop.c:1233: warning: assignment makes pointer from integer without a cast
cdvd_iop.c: In function `CDVD_GetDir_RPC':
cdvd_iop.c:1292: storage size of `dmaStruct' isn't known
cdvd_iop.c: In function `CDVDRpc_TrayReq':
cdvd_iop.c:1634: warning: passing arg 2 of `CdTrayReq' from incompatible pointer type
cdvd_iop.c: In function `_splitpath':
cdvd_iop.c:1758: warning: assignment makes pointer from integer without a cast
cdvd_iop.c:1762: warning: assignment makes pointer from integer without a cast
cdvd_iop.c: In function `TocEntryCompare':
cdvd_iop.c:1836: warning: assignment makes pointer from integer without a cast
cdvd_iop.c:1841: warning: assignment makes pointer from integer without a cast
cdvd_iop.c:1847: warning: assignment makes pointer from integer without a cast
/usr/local/ps2dev/ps2sdk/common/include/tamtypes.h: At top level:
cdvd_iop.c:162: storage size of `qd' isn't known
cdvd_iop.c:163: storage size of `sd0' isn't known
cdvd_iop.c:170: storage size of `file_driver' isn't known
make[1]: *** [cdvd_iop.o] Error 1
make[1]: Leaving directory `/home/kenshin/xbmc/ps2toolchain/libcdvd/iop'
make: *** [build-iop] Error 2
wich is normal as in the iop subdir of ps2sdk there's no kernel.h nor fileio.h
it complains about a fileio_driver structure that isn't defined exist anywhere in the ps2sdk tree --anywhere in $(PS2DEV) int fact --

from what I could understand it needs PS2Lib, But on ps2sdk replaces ps2lib, ps2drv, ps2ip, ps2hid and libhdd projects. Use ps2sdk instead of any of these projects."
Ps2dev website we can see "
so I'm wondering ....
how can possibly this lib be built ...?

Re: libcdvd iop

Posted: Tue Oct 10, 2006 5:03 pm
by dlanor
kenshin wrote:Hi, I downloded libcdvd 1.15 from ps2dev website but I had quite a headach trying to build it ... at least the iop part
I get these errors
----- snip ----- re: compilation error list

I'm not sure if the makefile you used is identical to mine, but if it is, then it contains references to $(PS2LIB) expecting to find those missing declarations there.
wich is normal as in the iop subdir of ps2sdk there's no kernel.h nor fileio.h
it complains about a fileio_driver structure that isn't defined exist anywhere in the ps2sdk tree --anywhere in $(PS2DEV) int fact --
That is both right and wrong. It is right for a pure PS2SDK type of PS2DEV installation, which is clearly what you have. But it is wrong for a PS2DEV installation with legacy compatibility. This needs both PS2LIB and PS2SDK installed in parallel, since some components have not been rewritten to use PS2SDK.

from what I could understand it needs PS2Lib, But on ps2sdk replaces ps2lib, ps2drv, ps2ip, ps2hid and libhdd projects. Use ps2sdk instead of any of these projects."
Such replacement is the general intent of PS2SDK, but that doesn't mean that it has been implemented so in all sources with older origins.

so I'm wondering ....
how can possibly this lib be built ...?
One of the programs that uses this libcdvd is uLaunchELF, of which I am one of the developers. We have simply accepted the need to use PS2LIB for this component of the project. To us that is a minor concession, as it doesn't affect other parts of our project. We simply drop the compiled "cdvd.irx" into a folder of IOP modules to be embedded in the main ELF, and do all the rest of the project with PS2SDK.

For the long term, it would be better if this component too was fully adapted to PS2SDK, but it's a pretty big job with little in the way of direct motivation, so I don't expect it to get done anytime soon :(

Best regards: dlanor

Re: libcdvd iop

Posted: Tue Oct 10, 2006 5:15 pm
by kenshin
hi,
thnx for the reply.
I got the EE part compiled :) (it didn't complain at least, didn't check if there are missing symboles ... )
as for the iop part I was thinking of getting PS2LIB to test ... but it's nowhere to be found (sf project is closed I think, searched on sf.net and there's no PS2Lib project anymore). is there a cvs/svn repository where I can get it ?

Re: libcdvd iop

Posted: Wed Oct 11, 2006 2:56 am
by dlanor
kenshin wrote:hi,
thnx for the reply.
I got the EE part compiled :) (it didn't complain at least, didn't check if there are missing symboles ... )
Even so, you still can't make any real changes to the lib without full control over the IOP part too. If it were just a case of wanting the lib in its present state, then I or someone else could just email it or post it somewhere.

as for the iop part I was thinking of getting PS2LIB to test ... but it's nowhere to be found (sf project is closed I think, searched on sf.net and there's no PS2Lib project anymore). is there a cvs/svn repository where I can get it ?
Ooops. It seems someone has been a bit hasty in purging these supposedly 'obsolete' things. That was clearly not a good idea when some stuff still in use depends on it. I thought it was still alive merely because PS2Lib is still listed as available in the projects list at 'ps2dev.org/ps2/projects', but as you say the sourceforge link is dead.

I don't think there's any separate CVS/SVN repository for PS2LIB available, and I don't really think there should be, as it's no longer under development. But someone should prepare a download package with the last stable PS2LIB state, for use with legacy projects like libcdvd.

Best regards: dlanor

libcdvd iop

Posted: Wed Oct 11, 2006 1:06 pm
by kenshin
thnx again,
yeah wel it can wait for the moment, I was thinking of using it with SMS, because it can't really read DATA CD/DVDs, . thought may be libcdvd will change somyhing.

anyways I'm not really into programming anything for the moment ... just exploring the possibilities, one in particular an XLibish/GTKish something for the PS2 dev comunity could possibly be a good thing. So I'm reviewing how X works (quit a lot of info to process).

Posted: Mon Aug 25, 2008 2:00 am
by LBGSHI
I realize this is a long-dead thread, but its content is still valid, and my response is still important:

As there really was a need for PS2Lib for quite a few outdated sources, I've not only included it in my pre-built, Win32 PS2SDK, but I've also made it available as a standalone package, here:

http://ps2dev.org/ps2/Code/Miscellaneous_Code/PS2Lib

Hope it helps some people.

Posted: Mon Aug 25, 2008 6:46 am
by cosmito
LBGSHI wrote:I realize this is a long-dead thread, but its content is still valid, and my response is still important:

As there really was a need for PS2Lib for quite a few outdated sources, I've not only included it in my pre-built, Win32 PS2SDK, but I've also made it available as a standalone package, here:

http://ps2dev.org/ps2/Code/Miscellaneous_Code/PS2Lib

Hope it helps some people.
Tnx for bringing up this long-dead thread to life again. I wasn't aware ps2lib is not completely replaced by ps2sdk, so I just got a copy from the URL you gave us.