My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
ChrootAnd64bStatusLinux  
pcsx2 status on 64 bit linux
Updated Apr 27, 2012 by gregory....@gmail.com

More and more linux users have 64 bit distributions. The purpose of this wiki page is to explain the current situation and possible solutions.

It is only a DRAFT for the moment.

Status updates on the following distributions are welcome (as are others we may have overlooked): Debian / Ubuntu / Fedora / Gentoo / ArchLinux / Mandriva / Opensuse / Slackware.

Introduction

Pcsx2 does not support running as a 64 bit application for various reasons.
  • The code is architecture dependent (for performance reasons).
  • It would need a complete rewrite of the emulator core.
  • No gain in performance, actually it could be slower.
  • Lack of programmers both willing and able to write and maintain the 64-bit code and keep it up to date with the 32-bit code. (Which has been largely rewritten since the old 64 bit code was removed.)
  • ...
While it is possible to run a 32 bit program on a 64 bit operating system, you have to have 32 bit versions of all the libraries it uses as well. With the libraries Pcsx2 uses, this can be impractical, which is why we generally recommend a 32 bit chroot.
TO DO: Talk about what a 32 bit chroot is. (Well, it's really a full 32 bit copy of Linux sitting in a folder on your hard drive, which Linux can cleverly start up and run programs from, but detail might be nice to have here...)

Pcsx2 is not 64 bit compatible by design

Most software only needs to be recompiled to support a new architecture. Portability was one goal of the C language over assembly. However, some types of software do not follow this rule. For example,virtual machines, dynamic recompilers, JIT compilers, and compilers in general. These programs directly generate assembly code for the type of processor targeted. There are a few types of programs that do this:
  • In some cases, the assembly code being used is static. It will be generated once, and then will be executed at a later time. The major example is gcc. The code that generates x86 instructions is completely different from, say, the code targeting the powerpc. Each architecture has a special backend.
  • Then there are programs that dynamically generate instructions for the processor as they are running. You generate the instructions during the execution of the program, and the program executes them. In those cases, the generator could be portable, but not the instruction generated by it. Some examples are the Java virtual machine, Javascript & the flash virtual machine (Which should be well known to people trying to play flash in 64 bit browsers.), Perl's virtual machine, Python's virtual machine, etc... And, of course, Pcsx2. All these programs must be rewritten for each new architecture supported: x86, amd64, powerpc...
So, why would we go through all this hassle in the first place? The main reason is speed. A virtual machine or a JIT compiler is globally 10 to 100 times faster than a basic interpreter of the language.

Would it be faster still to code everything in assembly? Well, maybe. But there are a few reasons why that wouldn't be a good idea:

  • Sometimes it is not possible (or very difficult) to port the original code.
  • You can do optimization based on run-time values which can not be done easily otherwise.
  • Assembly is not exactly readable. Having code that is easy to read and can be debugged easily can be worth a slight speed decrease.
  • Additionally, sometimes the compiler is already doing a good job on the C code, and there is just no reason to optimize.
  • In some cases, optimization isn't even desirable. It may be that optimization over-complicates things and allows bugs to creep in for something that that may be rarely executed and is not time dependent. There is at least one piece of code in Pcsx2 that has a note by it saying not to optimize it.
  • Another reason is portability. While the code for the program itself may not be portable, it would in theory be possible to write multiple generators for different processors. We may not be doing that currently, but we don't have to rule that out for the future. That is the beauty of virtual machines, and why you can run Java programs pretty much anywhere, for example.
For more information, you may want to look up virtual machines in google or wikipedia. Other topics of interest might be Infocom, and their "Z-Machine" virtual machine, code optimization, portability, well, a lot of things, really. Talking about it too much would be beyond the scope of this document, though, however interesting...

Chroot environment

The recommended way except on Ubuntu/Debian. Chroot was superseeded by "multiarch".

Standard library

The least problematic way to install pcsx2 on a 64 bit system is to create a 32 bits chroot. Each distribution has a specific way, largely because what you really are doing is installing a small install of that distribution in a folder.

Proprietary Driver

  • NVIDIA
    • Do not know ^^ (arcum42 -- I've got an nvidia card, so I'll have to check some time...)
  • ATI/AMD (Note: library paths depend on distributions)
    1. Use the 32bits glxinfo to check that direct rendering is enabled
    2. You need to overwrite the libGL.so.* libraries provided by mesa with the 32bits version in fglrx.
    3. You must add the 32bits fglrx_dri.so

IA32 libs / Multi-arch

Some distributions give you the ability to install 32 bit libraries in an amd64 architecture. Note: it is still necessary to install the 64 bit development packages, and some distributions miss some of the required libraries:
  1. Debian / Ubuntu:
    1. ia32-libs-dev and ia32-libs-gtk. DEPRECATED, don't use them
    2. multi-arch which allow to install any architecture library in any architecture system (ease also cross-compilation). You need to add :i386 suffix when you install a package. For example apt-get install pcsx2:i386
      • Ubuntu: Upgrade to 12.04.
      • Debian: expected in Wheezy and later.
  2. Archlinux. Status, seem working for some users.
  3. Some of the required packages to build PCSX2 are available only in AUR unsupported. So, the use of an AUR helper (ex: yaourt) is highly advised! Hopefully all 32 bits package can be found.
    # update /etc/pacman.conf
    [Multilib]
    Include = /etc/pacman.d/mirrorlist
    # Refresh package
    pacman -Sy
  4. Fedora 14: Status, compile and run OK (fedora 14).
    • search for packages ending with ".i686"
    • yum install cmake bzip2.i686 bzip2-devel.i686 glew.i686 glew-devel.i686 mesa-libGL.i686 mesa-libGL-devel.i686 mesa-libGLU.i686 mesa-libGLU-devel.i686 mesa-libGLw.i686 mesa-libGLw-devel.i686 mesa-libOSMesa.i686 mesa-libOSMesa-devel.i686 alsa-lib.i686 alsa-lib-devel.i686 Cg Cg.i686 libXxf86vm.i686 libXxf86vm-devel.i686 xorg-x11-proto-devel libX11.i686 libX11-devel.i686 xorg-x11-xtrans-devel libCg.i686 SDL.i686 SDL-devel.i686 sparsehash-devel freetype.i686 freetype-devel.i686 gtk2.i686 gtk2-devel.i686 zlib.i686 zlib-devel.i686 libjpeg-devel libjpeg libjpeg-static wxGTK-devel.i686 libCg.i686 portaudio.i686 portaudio-devel.i686 glib2-devel.i686 gdk-pixbuf2-devel.i686 gdk-pixbuf gdk-pixbuf-devel gdk-pixbuf.i686 gdk-pixbuf-devel.i686 atk-devel.i686 pango-devel.i686 cairo-devel.i686 libjpeg-turbo.i686 libjpeg-turbo-devel.i686
  5. Opensuse: Status unknown
    • search for packages ending with "-32bit"
  6. TODO complete other distributions : Mandriva(still exists ?) / Gentoo / Slackware
Comment by rifter0x0000@gmail.com, Sep 26, 2010

For the Ubuntu chroot instructions, your link is to an outdated forum post. You should probably use this link instead, which is more current and accurate: https://help.ubuntu.com/community/DebootstrapChroot This link might be helpful as well: https://help.ubuntu.com/community/32bit_and_64bit#How to make 32-bit application work on a 64-bit Operating System

Comment by Evgen...@hotmail.com, Sep 30, 2010

If you have NVidia and ubuntu distro - you can try to use nvidia-glx-185 package to have 3d acceleration in your chroot. It worked for me at least. This package will also install kernel image and grub, but do not worry - you can choose not to use another grub in menu that pops up.

Before doing all this I also installed mesa (this is OpenGL implementation on Linux) and everything that was reported as missing during pcsx2 compilation process, so you might do that too.

Comment by SkyBon, Oct 9, 2010

Well, the article could use some copyediting as I did not get many things thanks to grammar and wo mistakes :(

Comment by project member gregory....@gmail.com, Oct 9, 2010

Feel free to send a patch to improve it. I could provide a french translation, but not sure it helps you ;)

Comment by gbirch...@blueyonder.co.uk, Apr 16, 2011

This method worked on svn revision 4531 of pcsx2 0.97 These instructions work on Fedora - If they seem legible then please include them in the main document:

You can make a 32-bit chroot in Fedora using the 'mock' command. I haven't tried to investigate this as there may be specific problems with this evironment (http://code.google.com/p/pcsx2/issues/detail?id=724) - I'll leave it to someone with more experience / time to check this problem out.

There are also specific problems running the pre-compiled binaries in Fedora related to the wx libraries (http://forums.pcsx2.net/archive/index.php/thread-19273.html). Because of these I have opted to create Fedora specific binaries using the svn revision. Because of my inexperience with 'mock' I used a 'real' 32-bit environment (Fedora 13) to create the pcsx2 binaries, then copied the resulting folders onto my 64-bit install (Which happens to be Fedora 14, but this caused no problems).

To compile the 32-bit version:

su -c "yum install cmake bzip2 bzip2-devel glew glew-devel mesa-libGL mesa-libGL-devel mesa-libGLU mesa-libGLU-devel mesa-libGLw mesa-libGLw-devel mesa-libOSMesa mesa-libOSMesa-devel alsa-lib alsa-lib-devel Cg libXxf86vm libXxf86vm-devel xorg-x11-proto-devel libX11 libX11-devel xorg-x11-xtrans-devel libCg SDL SDL-devel sparsehash-devel freetype freetype-devel gtk2 gtk2-devel zlib zlib-devel libjpeg-devel libjpeg libjpeg-static wxGTK wxGTK-devel portaudio portaudio-devel"

svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only

cd pcsx2-read-only mkdir my_build cd my_build cmake ../CMakeLists.txt -DCMAKE_BUILD_TYPE=Release

cd .. make make install

install dependencies to 64-bit machine:

su -c "yum install cmake bzip2-devel.i686 glew-devel.i686 mesa-libGL-devel.i686 mesa-libGLU-devel.i686 mesa-libGLw-devel.i686 mesa-libOSMesa-devel.i686 alsa-lib-devel.i686 Cg.i686 libXxf86vm-devel.i686 xorg-x11-proto-devel libX11-devel.i686 xorg-x11-xtrans-devel libCg.i686 SDL-devel.i686 sparsehash-devel freetype-devel.i686 gtk2-devel.i686 zlib-devel.i686 libjpeg-devel libjpeg libjpeg-static wxGTK-devel.i686 libCg.i686 portaudio.i686 portaudio-devel.i686"

From the 32-bit machine copy the directory .../pcsx2/bin/ over to your desired directory on the 64-bit machine - I used /usr/games/pcsx2

Now you can run the pcsx2 binary with:

/usr/games/pcsx2/launch_pcsx2_linux.sh

Comment by project member gregory....@gmail.com, Apr 16, 2011

Hum normally you can do everythings in a 64bits world. You need to install .i686 package, remove the cmake fatal error then compile it. If you have all dependencies it must be good. Can you make some test.

Comment by gbirch...@blueyonder.co.uk, Apr 20, 2011

The problem is that you can't install cmake.i686 - it says no such package when you try to yum install it. When trying to build in 64-bit you get an error saying that pcsx2 can't build in that environment.

Comment by project member gregory....@gmail.com, Apr 20, 2011

cmake is not architecture dependent so you can directly uses the amd64 cmake.

Yes I know about the error. I put it myself for newbie. Just edit CMakeLists.txt and remove it.

Comment by I.Hate.S...@gmail.com, Apr 26, 2011

I don't know if this will help at all, but I followed a full fledged copy paste solution from the ubuntu forums. http://ubuntuforums.org/showthread.php?t=1712017

Comment by project member gregory....@gmail.com, Apr 27, 2011

Thank, it is a nice step by step guide. Hopefully it would not be long until multiarch (~2 months) is properly supported (then I could provide a ppa for amd64). Here the current status of the infra-structure on Debian: http://wiki.debian.org/Multiarch/Bootstrapping We are waiting the last step ;)

Comment by gbirch...@blueyonder.co.uk, May 7, 2011

I have tried building in a Fedora 64-bit environment with no success so far

got latest version (svn 4630):

svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only

I commented out this section of CMakeLists.txt -

if(NOT PACKAGE_MODE)
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
message(FATAL_ERROR " PCSX2 does not support 64bits environment. Please install a 32bits chroot or a 32bits OS. PCSX2 have neither no plan to support the 64bits architecture in the future. It will need a complete rewrite of the core emulator and a lots of time
However when linux distribution will support properly multi-arch package, it will
be at least possible to easily compile and install PCSX2 witout too much hassle (the chroot environment)")
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
endif(NOT PACKAGE_MODE)

I then rechecked I had the up to date dependencies - note I needed the 64-bit Cg in package list to get the 32-bit version to update! -

su -c "yum install cmake bzip2.i686 bzip2-devel.i686 glew.i686 glew-devel.i686 mesa-libGL.i686 mesa-libGL-devel.i686 mesa-libGLU.i686 mesa-libGLU-devel.i686 mesa-libGLw.i686 mesa-libGLw-devel.i686 mesa-libOSMesa.i686 mesa-libOSMesa-devel.i686 alsa-lib.i686 alsa-lib-devel.i686 Cg Cg.i686 libXxf86vm.i686 libXxf86vm-devel.i686 xorg-x11-proto-devel libX11.i686 libX11-devel.i686 xorg-x11-xtrans-devel libCg.i686 SDL.i686 SDL-devel.i686 sparsehash-devel freetype.i686 freetype-devel.i686 gtk2.i686 gtk2-devel.i686 zlib.i686 zlib-devel.i686 libjpeg-devel libjpeg libjpeg-static wxGTK-devel.i686 libCg.i686 portaudio.i686 portaudio-devel.i686"

mkdir my_build cd my_build cmake ../CMakeLists.txt -DCMAKE_BUILD_TYPE=Release

-- Enable the stripping by default in Release build !!! -- Use internal version of Soundtouch by default.

Note: There have been issues in the past with sound quality depending on the version of Soundtouch Use -DFORCE_INTERNAL_SOUNDTOUCH=FALSE at your own risk
-- Install localization file in bin/Langs by default -- Found Freetype: /usr/lib/libfreetype.so -- Some or all of the gtk libraries were not found. (missing: GTK2_GLIB_LIBRARY) -- Found ALSA: /usr/lib/libasound.so -- Found BZip2: /usr/lib/libbz2.so -- Could NOT find JPEG (missing: JPEG_LIBRARY) -- Found OpenGL: /usr/lib/libGL.so -- Found Threads: TRUE -- Found Subversion: /usr/bin/svn (found version "1.6.15") -- Found wxWidgets: TRUE -- Found ZLIB: /usr/include (found version "1.2.5") -- Found Cg: /usr/lib/libCg.so;/usr/lib/libCgGL.so -- Found PortAudio?: /usr/lib/libportaudio.so -- Found SparseHash?: /usr/include -- Use internal pcsx2 SoundTouch? library -- Skip build of pcsx2 core: miss some dependencies -- check these libraries -> wxWidgets (>=2.8.10), gtk2 (>=2.16), zlib (>=1.2.4), pcsx2 common libs -- Skip build of GSdx: miss some dependencies -- check these libraries -> opengl, X11, pcsx2 SDL -- Skip build of zzogl: miss some dependencies -- check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs -- Configuring done -- Generating done -- Build files have been written to: /home/mythtv/pcsx2-read-only

I wondered if some of the common libraries were being excluded by not looking in lib64 so I then removed this section from the CMakeLists.txt:

# 64 bits specific configuration if(CMAKE_SIZEOF_VOID_P MATCHES "8")

  1. Do not search library in /usr/lib64
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF)
  1. Probably useless but it will not harm
SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m32")
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")

But this only produced the following:

cmake ../CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Enable the stripping by default in Release build !!! -- Use internal version of Soundtouch by default.

Note: There have been issues in the past with sound quality depending on the version of Soundtouch Use -DFORCE_INTERNAL_SOUNDTOUCH=FALSE at your own risk
-- Install localization file in bin/Langs by default -- Found Freetype: /usr/lib64/libfreetype.so -- Found GTK2_GTK: /usr/lib64/libgtk-x11-2.0.so -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber? in ICE -- Looking for IceConnectionNumber? in ICE - found -- Found X11: /usr/lib64/libX11.so -- Found ALSA: /usr/lib64/libasound.so -- Found BZip2: /usr/lib/libbz2.so -- Looking for BZ2_bzCompressInit in /usr/lib/libbz2.so -- Looking for BZ2_bzCompressInit in /usr/lib/libbz2.so - found -- Found JPEG: /usr/lib64/libjpeg.so -- Found OpenGL: /usr/lib64/libGL.so -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found Subversion: /usr/bin/svn (found version "1.6.15") -- Found wxWidgets: TRUE -- Found ZLIB: /usr/include (found version "1.2.5") -- Found Cg: /usr/lib64/libCg.so;/usr/lib64/libCgGL.so -- Found GLEW: /usr/lib64/libGLEW.so -- Found PortAudio?: /usr/lib/libportaudio.so -- Found SparseHash?: /usr/include -- Use internal pcsx2 SoundTouch? library -- Skip build of GSdx: miss some dependencies -- check these libraries -> opengl, X11, pcsx2 SDL -- Configuring done -- Generating done -- Build files have been written to: /home/mythtv/pcsx2-read-only

Nothing is being built and I don't know what to try next!

Comment by project member gregory....@gmail.com, May 7, 2011

Well cmake only generate makefile. After you need too call ../make and ../make install ;)

Just remove the initial FATAL_ERROR/warning and it will be fine.

Comment by gbirch...@blueyonder.co.uk, May 8, 2011

I'm an idiot embarrassed

However, I get errors on building....

Checked out revision 4631 - edited out fatal_error warning in CMakeLists.txt

$ cd pcsx2-read-only $ mkdir my_build $ cd my_build $ cmake ../CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Enable the stripping by default in Release build !!! -- Use internal version of Soundtouch by default.

Note: There have been issues in the past with sound quality depending on the version of Soundtouch Use -DFORCE_INTERNAL_SOUNDTOUCH=FALSE at your own risk
-- Install localization file in bin/Langs by default -- Found Freetype: /usr/lib/libfreetype.so -- Some or all of the gtk libraries were not found. (missing: GTK2_GLIB_LIBRARY) -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber? in ICE -- Looking for IceConnectionNumber? in ICE - found -- Found X11: /usr/lib/libX11.so -- Found ALSA: /usr/lib/libasound.so -- Found BZip2: /usr/lib/libbz2.so -- Looking for BZ2_bzCompressInit in /usr/lib/libbz2.so -- Looking for BZ2_bzCompressInit in /usr/lib/libbz2.so - found -- Could NOT find JPEG (missing: JPEG_LIBRARY) -- Found OpenGL: /usr/lib/libGL.so -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found Subversion: /usr/bin/svn (found version "1.6.15") -- Found wxWidgets: TRUE -- Found ZLIB: /usr/include (found version "1.2.5") -- Found Cg: /usr/lib/libCg.so;/usr/lib/libCgGL.so -- Found GLEW: /usr/lib/libGLEW.so -- Found PortAudio?: /usr/lib/libportaudio.so -- Found SparseHash?: /usr/include -- Use internal pcsx2 SoundTouch? library -- Skip build of pcsx2 core: miss some dependencies -- check these libraries -> wxWidgets (>=2.8.10), gtk2 (>=2.16), zlib (>=1.2.4), pcsx2 common libs -- Skip build of GSdx: miss some dependencies -- check these libraries -> opengl, X11, pcsx2 SDL -- Skip build of zzogl: miss some dependencies -- check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs -- Configuring done -- Generating done -- Build files have been written to: /home/mythtv/pcsx2-read-only

$ cd .. $ make

Scanning dependencies of target translations_pcsx2_Devel 0% Generating ru_RUpcsx2_Devel.gmo 0% Generating tr_TRpcsx2_Devel.gmo 0% Generating pt_BRpcsx2_Devel.gmo 0% Generating zh_CNpcsx2_Devel.gmo 0% Generating zh_TWpcsx2_Devel.gmo 0% Generating sv_SEpcsx2_Devel.gmo 3% Built target translations_pcsx2_Devel Scanning dependencies of target translations_pcsx2_Iconized 3% Generating ru_RUpcsx2_Iconized.gmo 3% Generating de_DEpcsx2_Iconized.gmo 3% Generating tr_TRpcsx2_Iconized.gmo 3% Generating pt_BRpcsx2_Iconized.gmo 3% Generating zh_CNpcsx2_Iconized.gmo 3% Generating zh_TWpcsx2_Iconized.gmo 3% Generating sv_SEpcsx2_Iconized.gmo 7% Built target translations_pcsx2_Iconized Scanning dependencies of target translations_pcsx2_Main 7% Generating ru_RUpcsx2_Main.gmo 7% Generating de_DEpcsx2_Main.gmo 7% Generating tr_TRpcsx2_Main.gmo 7% Generating pt_BRpcsx2_Main.gmo 7% Generating zh_CNpcsx2_Main.gmo 7% Generating zh_TWpcsx2_Main.gmo 7% Generating sv_SEpcsx2_Main.gmo 11% Built target translations_pcsx2_Main Scanning dependencies of target translations_pcsx2_Tertiary 11% Generating ru_RUpcsx2_Tertiary.gmo 11% Generating de_DEpcsx2_Tertiary.gmo 11% Generating tr_TRpcsx2_Tertiary.gmo 11% Generating pt_BRpcsx2_Tertiary.gmo 11% Generating zh_CNpcsx2_Tertiary.gmo 11% Generating zh_TWpcsx2_Tertiary.gmo 11% Generating sv_SEpcsx2_Tertiary.gmo 16% Built target translations_pcsx2_Tertiary Scanning dependencies of target pcsx2_SoundTouch? 16% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/AAFilter.cpp.o 17% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/FIFOSampleBuffer.cpp.o 17% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/FIRFilter.cpp.o /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/FIRFilter.cpp: In static member function ‘static void soundtouch::FIRFilter::operator new(size_t)’: /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/FIRFilter.cpp:226:12: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or -fcheck-new is in effect) 18% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/RateTransposer?.cpp.o /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/RateTransposer?.cpp: In static member function ‘static void soundtouch::RateTransposer?::operator new(size_t)’: /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/RateTransposer?.cpp:112:12: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or -fcheck-new is in effect) 19% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/SoundTouch?.cpp.o 19% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/TDStretch.cpp.o /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/TDStretch.cpp: In static member function ‘static void soundtouch::TDStretch::operator new(size_t)’: /home/mythtv/pcsx2-read-only/3rdparty/SoundTouch?/TDStretch.cpp:744:12: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or -fcheck-new is in effect) 20% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/cpu_detect_x86_gcc.cpp.o 20% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/mmx_optimized.cpp.o 21% Building CXX object 3rdparty/SoundTouch?/CMakeFiles/pcsx2_SoundTouch?.dir/sse_optimized.cpp.o Linking CXX static library libpcsx2_SoundTouch?.a 21% Built target pcsx2_SoundTouch? Scanning dependencies of target Utilities 22% Building CXX object common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc?.cpp.o In file included from /home/mythtv/pcsx2-read-only/common/include/Utilities/Dependencies.h:182:0,

from /home/mythtv/pcsx2-read-only/common/src/Utilities/PrecompiledHeader?.h:21, from /home/mythtv/pcsx2-read-only/common/src/Utilities/AlignedMalloc?.cpp:19:
/usr/include/wx-2.8/wx/string.h:827:13: error: ‘wxChar& wxString::operator(unsigned int)’ cannot be overloaded /usr/include/wx-2.8/wx/string.h:824:13: error: with ‘wxChar& wxString::operator(wxStringBase::size_type)’ make2?: [common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc?.cpp.o] Error 1 make1?: [common/src/Utilities/CMakeFiles/Utilities.dir/all] Error 2 make: all? Error 2

:(

Comment by project member gregory....@gmail.com, May 8, 2011

1/ It is not build everythings because you miss one dependency: -- Some or all of the gtk libraries were not found. (missing: GTK2_GLIB_LIBRARY) 2/ The compilation error is because you have an ansi build of wx not an unicode one. On my box "wx-config --list" give me this. If you does not have unicode one, enter a bug report in fedora, it seem your are the only distribution that does not support unicode in wx.

Default config is gtk2-unicode-release-2.8
Alternate matches:
base-unicode-debug-2.8 base-unicode-release-2.8 gtk2-unicode-debug-2.8

Ps print only errors otherwise you will print lots of page ;)

Comment by project member gregory....@gmail.com, May 8, 2011

Well your are not the first one with a similar issue (all have fedora ;)). From the 32 bits wiki: try also this command "wx-config --arch i386 -list" just to be sure. Anyway it would be easier for everyone if they just drop ansi.

Comment by gbirch...@blueyonder.co.uk, May 9, 2011

Unicode seems to be the default:

$ wx-config --list

Default config is gtk2-unicode-release-2.8
Default config will be used for output

$ wx-config --arch i386 --list

Default config is gtk2-unicode-release-2.8
Default config will be used for output

...not the gtk libraries afterall?

Comment by project member gregory....@gmail.com, May 9, 2011

It is wxwidget related issue not gtk. Cmake did not uses good include files. From memory wxchar is replaced by char in ansi build. However there is already a function with the type char, so you end up with big conflict. Can you check the wx include directory.

find common/src/Utilities -iname "*flag*make*"
grep -i wx <previous_file>
Comment by project member gregory....@gmail.com, May 9, 2011

Note: it might be possible to improve pcsx2 to support both wx and ansi. 1/ I do not have ansi so I cannot do it. 2/ next wx version: wx 2.9 (or final 3.0), will drop ansi/unicode selection. 3/ so far impact only fedora users. To conclude patch are welcome.

Comment by gbirch...@blueyonder.co.uk, May 9, 2011

I must be doing this wrong:

$ find common/src/Utilities -iname "flag*make"

find: `common/src/Utilities': No such file or directory

Running without specifying a directory gives the instances in dolphin-emu and pcsx2-read-only

find -iname "flag*make" ./dolphin-emu-read-only/Build/Source/Plugins/Plugin_VideoOGL/CMakeFiles/videoogl.dir/flags.make ...etc..

Comment by project member gregory....@gmail.com, May 9, 2011

Well it is the idea. After creating cmake stuff, search this file, I do not think we have same location. Just do a find . -iname "flags.make" and take the good one.

common/src/Utilities/CMakeFiles/Utilities.dir/flags.make

Comment by project member gregory....@gmail.com, May 9, 2011

Looking a way to have debug library for wx. I might found a solution for you:) Could you check revision r4638. I hope it is working now.

Comment by gbirch...@blueyonder.co.uk, May 10, 2011

You don't half work hard!

I don't know how to check out r4638 specifically: please instruct if I need to do so. I just checked out svn r4640 from trunk and this produced an error on building :(

{{{22% Building CXX object common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc??.cpp.o In file included from /home/mythtv/pcsx2-read-only/common/include/Utilities/Dependencies.h:182:0,

from /home/mythtv/pcsx2-read-only/common/src/Utilities/PrecompiledHeader??.h:21, from /home/mythtv/pcsx2-read-only/common/src/Utilities/AlignedMalloc??.cpp:19:

/usr/include/wx-2.8/wx/string.h:827:13: error: ‘wxChar& wxString::operator(unsigned int)’ cannot be overloaded /usr/include/wx-2.8/wx/string.h:824:13: error: with ‘wxChar& wxString::operator(wxStringBase::size_type)’ make2?: common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc?.cpp.o? Error 1 make1?: common/src/Utilities/CMakeFiles/Utilities.dir/all? Error 2 make: all? Error 2}}}

I checked the wx include directory:

{{{$ find -iname "flag*make" ./common/src/Utilities/CMakeFiles/Utilities.dir/flags.make ./common/src/x86emitter/CMakeFiles/x86emitter.dir/flags.make ./tools/bin2cpp/CMakeFiles/bin2cpp.dir/flags.make ./plugins/onepad/CMakeFiles/onepad.dir/flags.make}}}

and so on.

{{{$ grep -i wx ./common/src/Utilities/CMakeFiles/Utilities.dir/flags.make CXX_FLAGS = -m32 -msse -msse2 -march=i686 -pthread -pthread -I/home/mythtv/pcsx2-read-only/3rdparty/soundtouch_linux_include -I/usr/include/alsa -I/usr/include/SDL -isystem /usr/lib64/wx/include/gtk2-unicode-release-2.8 -isystem /usr/include/wx-2.8 -I/home/mythtv/pcsx2-read-only/common/include -I/home/mythtv/pcsx2-read-only/common/include/Utilities -I/home/mythtv/pcsx2-read-only/common/include/x86emitter -I/home/mythtv/pcsx2-read-only/common/src/Utilities/. -pthread -fvisibility=hidden -fno-dse -fno-guess-branch-probability -fno-strict-aliasing -fno-tree-dse -pipe -Wno-format -Wno-unused-parameter -Wno-unused-value -Wunused-variable -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcprop-registers -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelete-null-pointer-checks -fgcse -fgcse-lm -fif-conversion -fif-conversion2 -fmerge-constants -foptimize-sibling-calls -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fstrict-overflow -fthread-jumps -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-fre -ftree-lrs -ftree-pre -ftree-sra -ftree-ter -ftree-vrp -funit-at-a-time CXX_DEFINES = -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DWXGTK}}}

pcsx2 continues to build without problems in my 32-bit install of Fedora 13 - my 64-bit install is Fedora 14 - it occurs to me there could be some recent change in Fedora which is why it builds on one environment and not the other - but I'm sure you're miles ahead of me on this one... ;)

Comment by project member gregory....@gmail.com, May 10, 2011

trunk above r4638 is fine. Ok I may have found your issue. I need some info about your filesytem hierarchy. Your include this file for wx config: /usr/lib64/wx/include/gtk2-unicode-release-2.8 Do you have a /usr/lib32/wx/include/gtk2-unicode-release-2.8 ? A /usr/lib/wx/include/gtk2-unicode-release-2.8 ? What /usr/lib contains 32 or 64 bits (do a grep SIZEOF_VOID_P /usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h) ?

Comment by project member gregory....@gmail.com, May 10, 2011

I try to replace /usr/lib64 with a correct place (could you please test r4641 or later)

Comment by gbirch...@blueyonder.co.uk, May 10, 2011

I don't have /usr/lib32 I have /usr/lib/wx/include/gtk2-unicode-release-2.8/

$ grep SIZEOF_VOID_P /usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h

#define SIZEOF_VOID_P 4

$ grep SIZEOF_VOID_P /usr/lib64/wx/include/gtk2-unicode-release-2.8/wx/setup.h

#define SIZEOF_VOID_P 8

checked out svn r4642 but the build fails in the usual place:

22% Building CXX object common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc?.cpp.o In file included from /home/mythtv/pcsx2-read-only/common/include/Utilities/Dependencies.h:182:0,

from /home/mythtv/pcsx2-read-only/common/src/Utilities/PrecompiledHeader?.h:21, from /home/mythtv/pcsx2-read-only/common/src/Utilities/AlignedMalloc?.cpp:19:
/usr/include/wx-2.8/wx/string.h:827:13: error: ‘wxChar& wxString::operator(unsigned int)’ cannot be overloaded /usr/include/wx-2.8/wx/string.h:824:13: error: with ‘wxChar& wxString::operator(wxStringBase::size_type)’ make2?: [common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc?.cpp.o] Error 1 make1?: [common/src/Utilities/CMakeFiles/Utilities.dir/all] Error 2 make: all? Error 2

Comment by project member gregory....@gmail.com, May 10, 2011

Could you give me the output of "grep -i wx ./common/src/Utilities/CMakeFiles/Utilities.dir/flags.make" of your latest repository. Cmake did not pick the good include file configuration (32bits vs 64 bits).

Your line of error is only compiled when wxSIZE_T_IS_UINT is undefined. Which is the case in 64 bits. Just to be sure, you can do a "grep wxSIZE_T_IS_UINT /usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h"

Comment by gbirch...@blueyonder.co.uk, May 10, 2011

Here you go:

$ grep -i wx ./common/src/Utilities/CMakeFiles/Utilities.dir/flags.make

CXX_FLAGS = -m32 -msse -msse2 -march=i686 -pthread -pthread -I/home/mythtv/pcsx2-read-only/3rdparty/soundtouch_linux_include -I/usr/include/alsa -I/usr/include/SDL -isystem /usr/lib64/wx/include/gtk2-unicode-release-2.8 -isystem /usr/include/wx-2.8 -I/home/mythtv/pcsx2-read-only/common/include -I/home/mythtv/pcsx2-read-only/common/include/Utilities -I/home/mythtv/pcsx2-read-only/common/include/x86emitter -I/home/mythtv/pcsx2-read-only/common/src/Utilities/. -pthread -fvisibility=hidden -fno-dse -fno-guess-branch-probability -fno-strict-aliasing -fno-tree-dse -pipe -Wno-format -Wno-unused-parameter -Wno-unused-value -Wunused-variable -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcprop-registers -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelete-null-pointer-checks -fgcse -fgcse-lm -fif-conversion -fif-conversion2 -fmerge-constants -foptimize-sibling-calls -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fstrict-overflow -fthread-jumps -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-fre -ftree-lrs -ftree-pre -ftree-sra -ftree-ter -ftree-vrp -funit-at-a-time CXX_DEFINES = -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DWXGTK

$ grep wxSIZE_T_IS_UINT /usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h

#define wxSIZE_T_IS_UINT 1

Comment by project member gregory....@gmail.com, May 10, 2011

Easy, I did not sleep enough and my brain bugged in the middle of the fix. I correct it in r4644

Comment by gbirch...@blueyonder.co.uk, May 10, 2011

svn r4644 gets past the orginal problem but stops here :(

Scanning dependencies of target CDVDiso 47% Building CXX object plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/CDVDisop.cpp.o In file included from /home/mythtv/pcsx2-read-only/plugins/CDVDiso/src/CDVDisop.cpp:11:0: /home/mythtv/pcsx2-read-only/plugins/CDVDiso/src/Linux/Config.h:32:21: fatal error: gtk/gtk.h: No such file or directory compilation terminated. make2?: [plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/CDVDisop.cpp.o] Error 1 make1?: [plugins/CDVDiso/src/CMakeFiles/CDVDiso.dir/all] Error 2 make: all? Error 2

Comment by project member gregory....@gmail.com, May 10, 2011

Did you install gtk developpement package ? On debian I got this file : /usr/include/gtk-2.0/gtk/gtk.h

In our previous message, you got this error message. Some gtk2/glib pacakge are not properly installed in my opinion:

-- Some or all of the gtk libraries were not found. (missing: GTK2_GLIB_LIBRARY)

Comment by gbirch...@blueyonder.co.uk, May 11, 2011

no effect from installing glib-devel glib2-devel.i686 breaks everything (cmake won't compile):

CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: GTK2_ATK_LIBRARY (ADVANCED)

linked by target "pcsx2" in directory /home/mythtv/pcsx2-read-only/pcsx2
GTK2_CAIRO_LIBRARY (ADVANCED)
linked by target "pcsx2" in directory /home/mythtv/pcsx2-read-only/pcsx2
GTK2_GDK_PIXBUF_LIBRARY (ADVANCED)
linked by target "pcsx2" in directory /home/mythtv/pcsx2-read-only/pcsx2
GTK2_PANGO_LIBRARY (ADVANCED)
linked by target "pcsx2" in directory /home/mythtv/pcsx2-read-only/pcsx2

-- Configuring incomplete, errors occurred!

I'll try posting to fedora forums as I'm totally stuck on this one. Can't see what dependency I'm missing - unless it's glib2-devel :(

Comment by gbirch...@blueyonder.co.uk, May 11, 2011

btw I also have /usr/include/gtk-2.0/gtk/gtk.h :(

Comment by project member gregory....@gmail.com, May 11, 2011

Can you have a way to see the content of glib2-devel.i686. This one seems mandatory for me. In my opinion if GTK is not found, cmake will drop the include directory.

Check that you have also the 32bits version of atk/pango/cairo/gdk-pixbuf. You could search gtk related package in 64bits world and check that i686 equivalents was installed. If package are ok, check that you have the .so (generally there are 2 symlink libfoo.so (<- dev version) and libfoo.so.1 to the real library libfoo.so.1.2.3)

Comment by project member gregory....@gmail.com, May 11, 2011

After some google search. Yes you need glib2. But I think your error are normal. Cmake found gtk and glib, so it try to create compilation variable. IE create a list of gtk related library however some are uninitialized so it complains about it. In my opinion, you only miss some i686 package.

Comment by gbirch...@blueyonder.co.uk, May 13, 2011

Seems to be working...! It compiles the binaries and plugins and starts without error - I have no time to test it properly now!

I installed a load of stuff (see below) but I think I only needed glib2-devel.i686 atk-devel.i686 pango-devel.i686 cairo-devel.i686

glib2 causing errors in config really threw me.

For anyone trying to follow this, in all I installed:

sudo yum install glib2-devel.i686 glibmm24-devel.i686 gtk+-devel.i686 gtk+-devel gdk-pixbuf2-devel.i686 gdk-pixbuf gdk-pixbuf-devel gdk-pixbuf.i686 gdk-pixbuf-devel.i686 atk-devel.i686 pango-devel.i686 cairo-devel.i686

Gregory - I owe you a beer :) Thank-you for all your help :)

Comment by gbirch...@blueyonder.co.uk, May 13, 2011

actually probably gdk-pixbuf-devel.i686 was also needed - sorry - In a rush!

Comment by project member gregory....@gmail.com, May 13, 2011

Good news. Can you do a test without glibmm24-devel.i686 (C++ binding of glib, I think ?), gtk+-devel (perhaps the very old gtk 1.0). So I can update the package list in the doc.

Maybe you could help me too. I do know the exact name but could you give your equivalent of the /etc/readhat-release (probably /etc/fedora-release). Each distribution have it own naming... The idea is to bypass the fatal error for fedora users now that I have feedback that it will work for them. And which fedora version do you have ?

Comment by gbirch...@blueyonder.co.uk, May 13, 2011

I uninstalled glibmm24-devel.i686 gtk+-devel.i686 checked out svn r4646 compiles fine - obviously I'll post if any problems come up....

Final dependency list looks to be:

yum install cmake bzip2.i686 bzip2-devel.i686 glew.i686 glew-devel.i686 mesa-libGL.i686 mesa-libGL-devel.i686 mesa-libGLU.i686 mesa-libGLU-devel.i686 mesa-libGLw.i686 mesa-libGLw-devel.i686 mesa-libOSMesa.i686 mesa-libOSMesa-devel.i686 alsa-lib.i686 alsa-lib-devel.i686 Cg Cg.i686 libXxf86vm.i686 libXxf86vm-devel.i686 xorg-x11-proto-devel libX11.i686 libX11-devel.i686 xorg-x11-xtrans-devel libCg.i686 SDL.i686 SDL-devel.i686 sparsehash-devel freetype.i686 freetype-devel.i686 gtk2.i686 gtk2-devel.i686 zlib.i686 zlib-devel.i686 libjpeg-devel libjpeg libjpeg-static wxGTK-devel.i686 libCg.i686 portaudio.i686 portaudio-devel.i686 glib2-devel.i686 gdk-pixbuf2-devel.i686 gdk-pixbuf gdk-pixbuf-devel gdk-pixbuf.i686 gdk-pixbuf-devel.i686 atk-devel.i686 pango-devel.i686 cairo-devel.i686

Is this how I find redhat-release equivalent?

$ cat /etc/fedora-release

Fedora release 14 (Laughlin)

$uname -a

Linux media.weaver 2.6.35.11-83.fc14.x86_64 #1 SMP Mon Feb 7 07:06:44 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

I haven't updated the kernel for a few months!

Comment by project member gregory....@gmail.com, May 13, 2011

Actually I wanted only the filename (/etc/fedora-release). Anyway thanks.

Comment by gbirch...@blueyonder.co.uk, May 13, 2011

Ah - gsdx plugin not being detected - not sure if this is problem with how i've set it up or if it didn't compile...? Not able to check now - machine in use... I'll try to rebuild and look at the log this weekend.... :(

Comment by project member gregory....@gmail.com, May 13, 2011

GSdx is not supported yet. By the way, you need to use this cmake option to compile it -DFORCE_INTERNAL_SDL=TRUE.

Comment by gbirch...@blueyonder.co.uk, May 14, 2011

Sorry - it was zzogl that was missing - was in a real hurry last night. I got this in the configuration log

-- Skip build of zzogl: miss some dependencies -- check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs

So another dependency was missing: - libjpeg-turbo.i686 libjpeg-turbo-devel.i686

dependency list is now-

yum install cmake bzip2.i686 bzip2-devel.i686 glew.i686 glew-devel.i686 mesa-libGL.i686 mesa-libGL-devel.i686 mesa-libGLU.i686 mesa-libGLU-devel.i686 mesa-libGLw.i686 mesa-libGLw-devel.i686 mesa-libOSMesa.i686 mesa-libOSMesa-devel.i686 alsa-lib.i686 alsa-lib-devel.i686 Cg Cg.i686 libXxf86vm.i686 libXxf86vm-devel.i686 xorg-x11-proto-devel libX11.i686 libX11-devel.i686 xorg-x11-xtrans-devel libCg.i686 SDL.i686 SDL-devel.i686 sparsehash-devel freetype.i686 freetype-devel.i686 gtk2.i686 gtk2-devel.i686 zlib.i686 zlib-devel.i686 libjpeg-devel libjpeg libjpeg-static wxGTK-devel.i686 libCg.i686 portaudio.i686 portaudio-devel.i686 glib2-devel.i686 gdk-pixbuf2-devel.i686 gdk-pixbuf gdk-pixbuf-devel gdk-pixbuf.i686 gdk-pixbuf-devel.i686 atk-devel.i686 pango-devel.i686 cairo-devel.i686 libjpeg-turbo.i686 libjpeg-turbo-devel.i686

I have tested with an iso file and it all seems to be working fine with this dependency list :)

Comment by aminals...@gmail.com, Sep 27, 2011

3% Built target translations_pcsx2_Iconized 6% Built target translations_pcsx2_Main 9% Built target pcsx2_SoundTouch? 9% Building CXX object common/src/Utilities/CMakeFiles/Utilities.dir/CheckedStaticBox?.cpp.o In file included from /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:17: /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:21: error: expected class-name before ‘{’ token /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:22: error: ‘wxPanelWithHelpers’ does not name a type /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:25: error: ISO C++ forbids declaration of ‘wxBoxSizer’ with no type /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:25: error: expected ‘;’ before ‘&’ token /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:26: error: ISO C++ forbids declaration of ‘wxCheckBox’ with no type /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:26: error: expected ‘;’ before ‘&’ token /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:29: error: expected ‘)’ before ‘’ token /home/jordan/pcsx2-read-only/common/include/Utilities/CheckedStaticBox?.h:36: error: ‘wxCommandEvent’ has not been declared /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:19: error: expected ‘)’ before ‘’ token /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:35: error: variable or field ‘MainToggle_Click?’ declared void /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:35: error: ‘wxCommandEvent’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:35: error: ‘evt’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp: In member function ‘void CheckedStaticBox?::SetValue?(bool)’: /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:44: error: ‘wxWindowList’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:44: error: ‘list’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:44: error: ‘GetChildren?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:46: error: ‘wxWindowList’ is not a class or namespace /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:46: error: expected ‘;’ before ‘iter’ /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:46: error: ‘iter’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:48: error: ‘wxWindow’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:48: error: ‘current’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:49: error: ‘ThisToggle?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:52: error: ‘ThisToggle?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp: In member function ‘bool CheckedStaticBox?::GetValue?() const’: /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:57: error: ‘ThisToggle?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp: In member function ‘bool CheckedStaticBox?::Enable(bool)’: /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:64: error: ‘parent’ has not been declared /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:66: error: ‘ThisToggle?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:67: error: ‘wxWindowList’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:67: error: ‘list’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:67: error: ‘GetChildren?’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:69: error: ‘wxWindowList’ is not a class or namespace /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:69: error: expected ‘;’ before ‘iter’ /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:69: error: ‘iter’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:71: error: ‘wxWindow’ was not declared in this scope /home/jordan/pcsx2-read-only/common/src/Utilities/CheckedStaticBox?.cpp:71: error: ‘current’ was not declared in this scope make2?: [common/src/Utilities/CMakeFiles/Utilities.dir/CheckedStaticBox?.cpp.o] Error 1 make1?: [common/src/Utilities/CMakeFiles/Utilities.dir/all] Error 2 make: all? Error 2

Any ideas? Gentoo 64bit in a 32-bit chroot. I thought I had updated all libraries...

Comment by aminals...@gmail.com, Sep 27, 2011

Nevermind everyone. emerge -uDavN world and after everything is updated, PCSX2 compiles and runs fine :)

Comment by fen...@gmail.com, Oct 17, 2011

So... any word on whether Ubuntu 11.10's Multi-Arch lets this run with no issues or not?

Comment by project member gregory....@gmail.com, Oct 19, 2011

For the moment multi-arch is about "runtime" not "compilation". Compilation will be added later (maybe 12.04?). Anyway there is still severals limitation with the current multiarch (see latest post of issue 596).

Comment by fen...@gmail.com, Oct 19, 2011

Thanks for the info :D

Comment by audvare, Dec 19, 2011

I will have my link back up soon (the tatsh.net one).

As for now, I am interested in knowing if there are any developers who are interested in beginning the process of converting the x86-dependent assembly to portable C. Please send me an email.

Comment by audvare, May 5, 2012

Gentoo x86_64, no chroot required:

https://github.com/tatsh/tatsh-overlay

layman -o http://tatsh.github.com/tatsh-overlay/layman.xml -a tatsh-overlay
echo 'games-emulation/pcsx2 ~amd64' >> /etc/portage/package.keywords
emerge pcsx2-bin

Please let me know if this works. I have it working fine here but I may have missed a dependency.


Sign in to add a comment
Powered by Google Project Hosting