Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Linux - Compile Guide and Support
#1
PCSX2 0.9.7 (trunk) - Linux Guide for Compiling

For the most up-to-date compilation guides for Linux, read the CompilationGuideForLinux page at the PCSX2 SVN @ Googlecode.

The copy here is provided for convenience, but may very well be out of date.

1) Set up a 32-bit chroot environment (needed only if you are running x64 edition of Linux). The way you do this varies depending on distribution, but if you search, you should be able to find documentation on the subject.

2) Complete list of dependencies. Depending on your Linux package, you may already have one or more of these installed:

Code:
build system:
gcc-4.3, gcc-4.3-multilib
g++-4.3, g++-4.3-multilib
cmake

32 bits libraries on x86
liba52-0.7.4-dev
libasound2-dev
libbz2-dev
libgl1-mesa-dev
libglew1.5-dev
libglu1-mesa-dev
libgtk2.0-dev
libjpeg-dev
libsdl1.2-dev
libsoundtouch1-dev
libsparsehash-dev
libwxbase2.8-dev
libwxgtk2.8-dev
libx11-dev
libxxf86vm-dev
nvidia-cg-toolkit
portaudio19-dev
zlib1g-dev

3) Obtain pcsx2:
Code:
svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only

4) From this point you can use either Code::Blocks or cmake to build PCSX2:

Using Code::Blocks (IDE)
Load the pcsx2 codeblocks workspace in the root folder of the svn checkout, and rebuild all.


Using cmake (command line)
Please refer to the CompilationGuideForLinux Page on the PCSX2 SVN @ Googlecode.
Reply

Sponsored links

#2
(10-27-2009, 01:37 PM)Montblanc Wrote: Thanks for your reply. Well, I always do a full clean before rebuilding, by the way I'm getting the same error messages after trying to link pcsx2 executable.

P.S.: I'm using gcc 4.3.3.

I added a new file, EventSource.cpp in /common/src/Utilities/ -- It should be in the codeblocks project but I think you're using your own custom build system. So check on that.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#3
(10-27-2009, 05:04 PM)Air Wrote: I added a new file, EventSource.cpp in /common/src/Utilities/ -- It should be in the codeblocks project but I think you're using your own custom build system. So check on that.

I can see the file you're talking about, but it's not listed in Code::Blocks. Can you kindly tell me how to include it?
Reply
#4
It's on SVN so I'm not sure how comes it's not in your local copy. Here's the diff: http://code.google.com/p/pcsx2/source/di...lities.cbp
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#5
You forget about wxWidgets, that should be 2.8.8 or 2.8.9
Reply
#6
(10-27-2009, 08:52 PM)Air Wrote: It's on SVN so I'm not sure how comes it's not in your local copy. Here's the diff: http://code.google.com/p/pcsx2/source/di...lities.cbp

That file is indeed in my local copy, I just thought Code::Blocks wasn't taking care of that. I should have made myself clearer!

(10-27-2009, 10:30 PM)Zeydlitz Wrote: You forget about wxWidgets, that should be 2.8.8 or 2.8.9

As it's a matter of missing headers, in my case, maybe downgrading wxWidgets from 2.8.10 to 2.8.9 would do the trick.

Thanks for the tips, guys! I'll try building it tomorrow and post here the results.
Have a good night!
Reply
#7
Just curious to go Offtopic but has any body got their hands on PS2 emulator on PS3 software.
Please ReplySmile
Proud to be a Rajput Chauhan
Reply
#8
Good evening, everyone.
I tried downgrading wxWidgets to 2.8.9 and I built it with this options:
Code:
./configure --prefix=/usr --with-gtk --enable-unicode --disable-compat26 --enable-optimise --enable-std_string --enable-stb_iostreams --enable-debug
Summarizing, I can't remove the Ubuntu wx-Widgets package (which gets installed in /usr/local) so I just set the new prefix to /usr, as you can see in configure options. I always do a full workspace clean, then make sure other building options and linker settings point to /usr/bin/wx-config --blah=blah (otherwise, Code::Blocks tries to build pcsx2 against the Ubuntu package with NO unicode support), then I build bin2cpp, cd to pcsx2 svn dir, bash rebuild.sh and rebuild the whole workspace, but I still got the same error messages. I don't know where I might be doing something wrong, I even tried downgrading one more time to 2.8.8, but at no avail.
I'm not going to give up, I just can't stand the fact that I don't know what's causing this... Before I go, let me introduce my best friend once again:
Code:
Linking executable: ../..//bin/pcsx2
./.objs/release/gui/AppInit.o:(.rodata._ZTV11EventSourceIiE[vtable for EventSource<int>]+0x1c): undefined reference to `EventSource<int>::Add(EventListener<int> const&)'
./.objs/release/gui/AppInit.o:(.rodata._ZTV11EventSourceIiE[vtable for EventSource<int>]+0x20): undefined reference to `EventSource<int>::RemoveObject(void const*)'
./.objs/release/gui/AppInit.o:(.rodata._ZTV11EventSourceI14wxCommandEventE[vtable for EventSource<wxCommandEvent>]+0x1c): undefined reference to `EventSource<wxCommandEvent>::Add(EventListener<wxCommandEvent> const&)'
./.objs/release/gui/AppInit.o:(.rodata._ZTV11EventSourceI14wxCommandEventE[vtable for EventSource<wxCommandEvent>]+0x20): undefined reference to `EventSource<wxCommandEvent>::RemoveObject(void const*)'
collect2: ld returned 1 exit status
Process terminated with status 1 (6 minutes, 29 seconds)
4 errors, 37 warnings
Reply
#9
Well EventSource.cpp errors have nothing to do with wx. I have no idea why it's not being compiled or linked, but it's not and that's what you need to focus on.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#10
(10-29-2009, 01:04 AM)Air Wrote: Well EventSource.cpp errors have nothing to do with wx. I have no idea why it's not being compiled or linked, but it's not and that's what you need to focus on.

If this is not reproducible and it's just affecting my environment, the only thing that comes to my mind is that the cleaning process doesn't exactly do what I want it to do. I'll try a new svn checkout and do everything again from scratch. Thank you as always, Air, you're all very kind guys! Smile

EDIT: I did it! I had some screwed up files in various folders, so after doing everything from scratch I managed to build it! I just had to remove SPU2-X, SPU2Null (undefined references) and ZeroGS (missing PS2Edefs.h) projects from the workspace to get through it all. I just had to change the plugin directory to the latest precompiled beta one as a temporary workaround. I'm finally te(/a)sting by myself where the next release features will lead the next-level PS2 emulation! I'll keep following PCSX2 development from svn. Thanks for your precious help! You're really amazing coders! Wink
Reply




Users browsing this thread: 1 Guest(s)