..:: PCSX2 Forums ::..

Full Version: Compile Guide
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
As far as running the binaries if they were already compiled, it's possible, but you have to have 32 bit copies of all of the libraries it depends on, and that's the tricky part.

And, yeah, for a chroot, you're basically installing a minature copy of your os in a folder, so it can be a little complicated and take up a bit of space. For me, it didn't seem that bad, but I use Gentoo, and when you initally install Gentoo, you do it through a chroot.

I've never tried to do it the Ubuntu way, though:
https://wiki.ubuntu.com/DebootstrapChroot

I've always done it this way:
http://www.gentoo.org/proj/en/base/amd64...xml?part=1&chap=2

And the disk space wasn't an issue, because I've already been known to install various oses in VirtualBox as a hobby...
I found the "dropping x64 code" thread that you pointed out just after I read LuisR14 and Krakatos' answers.
I saw that you updated the guide in the first page, that's good thanks.
And another suggestion: it would be nice to add this x64 support drop news in the homepage of the project, because there are so many out dated sites out there speaking about the project x64 bit support (like wikipedia) and also it would be glad to know which is the last working revision of the pcsx2 svn that you recommend to build for x64.
About the decision of removing x64 code, sneaking around the sources, it's very clear that there are more windows developers than Linux ones, so it is OK, I imagine the hard work of keeping it up to date. I also work with low level c programming stuff that should work in several platforms and it's a nightmare. Have you ever considered using cmake to automate the multiplatform builds?
The code was actually removed in r542 of playground. The last working build is probably somewhere near r434.

Haven't really spent much time thinking about cmake. In my mind, it got sort of associated with Kde 4.x. That and a rather good developer who's blog I follow has come down on cmake a number of times. Might be a possibility, though.

Switching to something more crossplatform then gtk++, like wxwidgets, and using it on both sides has been suggested before also, and might still happen. Lord knows I'm not happy having to use glade-2 for the depreciated code generation feature on the ui side. Pity the attempts I made to switch over to libglade weren't successful...
(02-28-2009, 06:43 PM)arcum42 Wrote: [ -> ]Haven't really spent much time thinking about cmake. In my mind, it got sort of associated with Kde 4.x. That and a rather good developer who's blog I follow has come down on cmake a number of times. Might be a possibility, though.
Well I have been checking it out last week to use it in my project and thanks to KDE4's high requirements, it has been improved a lot. What i like the most is that it transparently generates the entire build chain native to each architecture, instead of the autotools nightmare. For example in linux you get a very nice configure and Makefiles, in windows you get a visual studio project and so on.

(02-28-2009, 06:43 PM)arcum42 Wrote: [ -> ]Switching to something more crossplatform then gtk++, like wxwidgets, and using it on both sides has been suggested before also, and might still happen. Lord knows I'm not happy having to use glade-2 for the depreciated code generation feature on the ui side. Pity the attempts I made to switch over to libglade weren't successful...
You could also consider QT for this, It seems to be quite successful in several projects like Skype for example.
(02-28-2009, 06:10 PM)arcum42 Wrote: [ -> ]As far as running the binaries if they were already compiled, it's possible, but you have to have 32 bit copies of all of the libraries it depends on, and that's the tricky part.

And, yeah, for a chroot, you're basically installing a minature copy of your os in a folder, so it can be a little complicated and take up a bit of space. For me, it didn't seem that bad, but I use Gentoo, and when you initally install Gentoo, you do it through a chroot.

I've never tried to do it the Ubuntu way, though:
https://wiki.ubuntu.com/DebootstrapChroot

I've always done it this way:
http://www.gentoo.org/proj/en/base/amd64...t=1&chap=2

And the disk space wasn't an issue, because I've already been known to install various oses in VirtualBox as a hobby...

Well, i followed the guide in https://wiki.ubuntu.com/DebootstrapChroot, and it seems i have a 32 bit chroot environment running. But i have just tried to compile pcsx2 and i couldn't, is it still right the guide from page 1 in this thread?? i mean, now after the merge do i still have to download both pcsx2-playground and pcsx2 or just pcsx2?.
If i tried to follow the guide then i compile in the pcsx2-playground folder and i get the following errors: "CDVD.h:9:22: error: PS2Edefs.h: No such file or directory
CDVD.c:7: error: ‘PS2E_CDVD_VERSION’ undeclared here (not in a function)
CDVD.c:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PS2EgetLibName’
CDVD.c:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:80: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:84: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:88: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CDVDclose’
CDVD.c:91: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CDVDshutdown’
CDVD.c:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:99: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
CDVD.c:103: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:107: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:115: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:119: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:123: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:127: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:131: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
CDVD.c:135: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CDVDconfigure’
CDVD.c:139: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CDVDabout’
CDVD.c:143: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CALLBACK’
make: *** [CDVD.o] Error 1
cp: cannot stat `libCDVDnull.so': No such file or directory
Error with building plugins"


When i try it directly with the pcsx2 folder (without using the playground files) i get:
"make: *** No rule to make target `libSoundTouch.a', needed by `libZeroSPU2.so.0.1.0'. Stop.
Error with building plugins"

But i have installed the libsoundtouch-dev library...

Another thing i am wondering is: will my graphic card nvidia work in this chroot environment?? it seems it don't even run any graphic stuff, if i install emacs it opens it in text mode Sad.
Since the merge, the only source you need to download is the pcsx2 source.

All the plugins are already in the places they need to be, and they expect the file structure that is already there. The initial errors you posted basically mean that it doesn't know where the common folder is.

As far as SoundTouch goes, in order to get it working after a restructure of the directories recently, I had to do something a bit hackish. In the main directory is a 3rdparty folder with a SoundTouch directory in it. What the script is supposed to be doing is running build.sh in there, and then manually copying libSoundTouch.a into the zerospu2 directory.

Sounds like it isn't copying it automatically. I'll have to look into that, since I know I've seen another report of that happening. In the meantime, if you do that manually, it should work.
I think you fixed the problem with libSoundTouch because finally y could compile pcxs2. Still i can not run the emu because i have this problem with the plugin USBnull:

"Can't open libUSBnull.so: /home/diegoocampo/pcsx2-read-only/bin/plugins/libUSBnull.so: undefined symbol: ARRAYSIZE"

Thanks for your help!.

(03-01-2009, 02:32 PM)arcum42 Wrote: [ -> ]Since the merge, the only source you need to download is the pcsx2 source.

All the plugins are already in the places they need to be, and they expect the file structure that is already there. The initial errors you posted basically mean that it doesn't know where the common folder is.

As far as SoundTouch goes, in order to get it working after a restructure of the directories recently, I had to do something a bit hackish. In the main directory is a 3rdparty folder with a SoundTouch directory in it. What the script is supposed to be doing is running build.sh in there, and then manually copying libSoundTouch.a into the zerospu2 directory.

Sounds like it isn't copying it automatically. I'll have to look into that, since I know I've seen another report of that happening. In the meantime, if you do that manually, it should work.
(02-27-2009, 09:06 PM)Krakatos Wrote: [ -> ]
(02-27-2009, 08:21 PM)NoVaX1000 Wrote: [ -> ]
(02-27-2009, 08:09 PM)Blackclaw Wrote: [ -> ]Here is ur other solution

SVN Snapshot
Doesn't update often enough...

And you are sorely mistaken, because I update everytime there is something meaningful added to the svn.
I don't know why I wrote that. I've got to remember that like 99% of emu's I use don't even supply people with compiled SVN's >.<

"I update everytime there is something meaningful added"
This is like what I do when I create maps for a PC game as well actually (I don't upload it to other people until I feel something 'meaningful' has been added :-P)

Sorry about that.

I decided not to compile my own anyway & uninstalled Tortoise SVN when I had a sleep..
Any ideal, where should I get afxwin.h, afx.h & winres.h? I cant compile other plugins without this.
I am starting to think jake and cotton are going of the deep end with some of these commit comments.