Linux - Compile Guide and Support
tuxgame,
Crap, forgot about libsdl keep it. However I need you GSdx plugins.

Well I did not know about the title. I only update the console part Tongue2

Edit: number version fix.

Edit2: I recompile GSdx with another linux (completely forgot about it). Please find attached.

Edit : clean attachment
Reply

Sponsored links

(04-12-2011, 06:17 PM)gregory Wrote: tuxgame,
Crap, forgot about libsdl keep it. However I need you GSdx plugins.

Well I did not know about the title. I only update the console part Tongue2

Edit: number version fix.

Edit2: I recompile GSdx with another linux (completely forgot about it). Please find attached.
Thanks for the reply.

okey, i have attach my libGSdx.so plugins. ( i tried bzip2, but i cannot attach it here)

and i try using your libGSdx.so binary, but i got the same error.
here the error from pcsx2-dbg log
Code:
Opening plugins...
    Opening GS
/home/ai/Game/pcsx2-svn/common/src/Utilities/Linux/LnxHostSys.cpp(57) : assertion failed:
    Function:  void SysPageFaultSignalFilter(int, siginfo_t*, void*)
    Thread:    MTGS
    Condition: false
    Message:   Unhandled page fault @ 0x0000007c

[00] 0x0xffffe40c                                
[01] SDL_CreateWindow                            
[02] GSWnd::Create(std::string const&, int, int)
[03] GSRenderer::CreateWnd(std::string const&, int, int)
[04] GSopen                                      
[05] SysMtgsThread::OpenPlugin()                  /Game/pcsx2-svn/pcsx2/MTGS.cpp:193
[06] SysMtgsThread::OnResumeInThread(bool)        /Game/pcsx2-svn/pcsx2/MTGS.cpp:556
[07] SysThreadBase::StateCheckInThread()          /Game/pcsx2-svn/pcsx2/System/SysThreadBase.cpp:300

btw, I try update my svn to r4571, and compile it.
i still got no info revision number in Show Console or the GUI.
looks like i need subversion version 1.6.16? is that true?
here the log when i configure it
Code:
[ai@Mandriva_2010_Spring pcsx2-sdl]$ cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE -DFORCE_INTERNAL_SOUNDTOUCH=FALSE && make pcsx2 && make zzogl && make spu2x && make zeropad && make dev9null && make CDVDlinuz && make USBnull && make FWnull && make onepad && make zerospu2
-- 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
-- Install localization file in bin/Langs by default
-- Found Freetype: /usr/lib/libfreetype.so
-- Found GTK2_GTK: /usr/lib/libgtk-x11-2.0.so
-- 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
-- Found JPEG: /usr/lib/libjpeg.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.3")
-- Found Cg: /usr/lib/libCg.so;/usr/lib/libCgGL.so
-- Found GLEW: /usr/lib/libGLEW.so
-- Found PortAudio: /usr/lib/libportaudio.so
-- Found SoundTouch: /usr/lib/libSoundTouch.so
-- Found SparseHash: /usr/include
-- 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/ai/Game/pcsx2-sdl

Edit: clean attachement -- gregory
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
1/ Release number must work with any svn version. Maybe you can try this small patch:
Code:
--- pcsx2.snapshot-4553.orig/pcsx2/CMakeLists.txt
+++ pcsx2.snapshot-4553/pcsx2/CMakeLists.txt
@@ -91,16 +92,16 @@
endif(PACKAGE_MODE)

# you must have both svn client executable and a source that contains svn metadata
-if(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+if(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")
     # execute subversion
-    Subversion_WC_INFO(${CMAKE_SOURCE_DIR} tmpvar)
+    Subversion_WC_INFO(${PROJECT_SOURCE_DIR} tmpvar)

     # write svnrev.h
     file(WRITE ${CMAKE_BINARY_DIR}/pcsx2/svnrev.h "#define SVN_REV ${tmpvar_WC_REVISION} \n#define SVN_MODS 0")
-else(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+else(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")
     # write svnrev.h
     file(WRITE ${CMAKE_BINARY_DIR}/pcsx2/svnrev.h "#define SVN_REV 0 \n#define SVN_MODS 0")
-endif(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+endif(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")

# Main pcsx2 source
set(pcsx2Sources

2/ gsdx status:
* my version work here but not in your computer...
* your version work on mine...
* I have no dependency between wxwidgets and sdl. It seems you have somes. You can check with the command. It seems related to only the sound.
Code:
ldd /usr/lib/libwx_gtk2u*.so | grep -i sdl
But we end up with duplicate symbol which is probably a bad things. I think we have no guarantee to use the good symbol. Potentially we have the following:
pcsx2 -> wx -> sdl ( [email protected] )
-> gsdx -> sdl ( [email protected] )


Otherwise I have no clue Sad
Reply
(04-13-2011, 08:00 PM)gregory Wrote: 1/ Release number must work with any svn version. Maybe you can try this small patch:
Code:
--- pcsx2.snapshot-4553.orig/pcsx2/CMakeLists.txt
+++ pcsx2.snapshot-4553/pcsx2/CMakeLists.txt
@@ -91,16 +92,16 @@
endif(PACKAGE_MODE)

# you must have both svn client executable and a source that contains svn metadata
-if(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+if(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")
     # execute subversion
-    Subversion_WC_INFO(${CMAKE_SOURCE_DIR} tmpvar)
+    Subversion_WC_INFO(${PROJECT_SOURCE_DIR} tmpvar)

     # write svnrev.h
     file(WRITE ${CMAKE_BINARY_DIR}/pcsx2/svnrev.h "#define SVN_REV ${tmpvar_WC_REVISION} \n#define SVN_MODS 0")
-else(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+else(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")
     # write svnrev.h
     file(WRITE ${CMAKE_BINARY_DIR}/pcsx2/svnrev.h "#define SVN_REV 0 \n#define SVN_MODS 0")
-endif(Subversion_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+endif(Subversion_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.svn")

# Main pcsx2 source
set(pcsx2Sources

2/ gsdx status:
* my version work here but not in your computer...
* your version work on mine...
* I have no dependency between wxwidgets and sdl. It seems you have somes. You can check with the command. It seems related to only the sound.
Code:
ldd /usr/lib/libwx_gtk2u*.so | grep -i sdl
But we end up with duplicate symbol which is probably a bad things. I think we have no guarantee to use the good symbol. Potentially we have the following:
pcsx2 -> wx -> sdl ( [email protected] )
-> gsdx -> sdl ( [email protected] )


Otherwise I have no clue Sad
Thanks for the reply.

1.after saw your patch, looklike my fault is because i delete all .svn folder from pcsx2 source, before i compile pcsx2. Blush
now, i can saw svn version in console and gui. Happy


2.hmm, my wxwidgets have libSDL 1.2 dependency, here ldd result:
Code:
[ai@Mandriva_2010_Spring pcsx2-svn]$ ldd /usr/lib/libwx_gtk2u*.so | grep -i sdl
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb6af5000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb645c000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb66e6000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb65f9000)
[ai@Mandriva_2010_Spring pcsx2-svn]$

i have check wxwidgets.spec file, and i saw build requires libSDL devel.
here some of wxwidgets spec file
Code:
%define oname wxGTK
%define fname wxGTK
%define majorminor      2.8
%define name            wxgtk%majorminor
%define version 2.8.11
%define major           %majorminor
%define release %mkrel 1

%define libname %mklibname wxgtk %{major}
%define libnamedev %mklibname -d wxgtk %{major}
%define libgl   %mklibname wxgtkgl %{major}

%define libnameu %mklibname wxgtku %{major}
%define libnameudev %mklibname -d wxgtku %{major}
%define libglu  %mklibname wxgtkglu %{major}

Summary:        GTK+ port of the wxWidgets library
Name:           %{name}
Version:        %{version}
Release:        %{release}
Distribution:   Mandriva Linux
License:        wxWidgets Library Licence
Group:          System/Libraries
URL:            http://www.wxwidgets.org/
Source0:        http://prdownloads.sourceforge.net/wxwindows/%fname-%version.tar.bz2
# http://trac.wxwidgets.org/ticket/10883
# Patch0:         %{oname}-2.8.10-gsocket.patch
# http://trac.wxwidgets.org/ticket/10993
#Patch1:         %{oname}-2.8.10-CVE-2009-2369.patch
Patch2:         wxGTK-2.8.10-CVE-2009-XXXX.diff
Patch3:         wxGTK-lX11_linkage_fix.diff
Patch8:         wxWidgets-2.7.0-multiarch-includes.patch
Patch9:         wxGTK-2.8.8-CVE-2009-3560.diff
Buildrequires:  libpng-devel
Buildrequires:  libgnomeprintui-devel
Buildrequires:  libSDL-devel
Buildrequires:  libjpeg-devel

i will try to recompile wxwidgets without libSDL, and recompile pcsx2 again.


--------------------------------------------------------------------------------------------
Update:
Using wxwidget unicode, without libSDL support in the wxwidget.
it's work... thanks.... Happy
using r4517 , i cannot access pcsx2 gui menu, i cannot shutdown, or pause,
so to quit pcsx2 , i have to kill it. Sad
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
good. I'm glad you are able to recompile wx. Very good Smile I will open an issue on google to avoid to forget it. I'm not sure PCSX2 can do anythings about that.

You are not the first one with no gui. It seems related to wxwidget (changing the version fix it for one user). It was the 2.8.11 ! But that really strange. Launch from a terminal and copy paste the wx error/warning. Maybe there is something useful.
Reply
hmm, i try upgrade svn to r4571 then compile with this option:
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE -DFORCE_INTERNAL_SOUNDTOUCH=FALSE -DFORCE_INTERNAL_SDL=TRUE && make pcsx2 && make zzogl && make spu2x && make zeropad && make dev9null && make CDVDlinuz && make USBnull && make FWnull && make onepad && make zerospu2 && make GSdx && make SPU2null && make PADnull

when i try run pcsx2 with GSdx plugins, Onepad and SPU2x, it will crash.
and when i try with GSdx plugins, PADnull and SPU2null, it still crash.
no problem with ZZogl.
here the crash error:
Code:
The program 'pcsx2' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 119 error_code 2 request_code 1 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
terminate called without an active exception
Aborted

then i recompile with this option:
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug -DFORCE_INTERNAL_SDL=TRUE && make pcsx2-dbg && make GSdx && make SPU2null && make PADnull && make FWnull && make USBnull && make dev9null && make CDVDlinuz
Still got the same error.

the try debug it:
Code:
[ai@Mandriva_2010_Spring bin]$ gdb pcsx2-dbg
GNU gdb (GDB) 7.1-1mdv2010.1 (Mandriva Linux release 2010.1)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ai/Game/pcsx2-svn/bin/pcsx2-dbg...done.
(gdb) run
Starting program: /home/ai/Game/pcsx2-svn/bin/pcsx2-dbg
[Thread debugging using libthread_db enabled]
Interface is initializing.  Entering Pcsx2App::OnInit!
Applying operating system default language...
Detaching after fork from child process 879.
Detaching after fork from child process 880.
Detaching after fork from child process 881.
Command line parsing...
Command line parsed!
[New Thread 0xb6428b70 (LWP 882)]
Detaching after fork from child process 883.
[New Thread 0xb59d3b70 (LWP 884)]
[Thread 0xb59d3b70 (LWP 884) exited]
[New Thread 0xb59d3b70 (LWP 893)]
[New Thread 0xa86f1b70 (LWP 894)]
The program 'pcsx2-dbg' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 119 error_code 2 request_code 1 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
[Thread 0xb59d3b70 (LWP 893) exited]
Detaching after fork from child process 895.

Program received signal SIGSEGV, Segmentation fault.
0xb753dd70 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
Missing debug package(s), you should install: atk1.0-debug-1.30.0-1mdv2010.1.i586 cairo-debug-1.9.14-0.2mdv2010.1.i586 dbus-debug-1.2.24-1mdv2010.1.i586 expat-debug-2.0.1-12mdv2010.1.i586 fontconfig-debug-2.8.0-2mdv2010.1.i586 freetype2-debug-2.3.12-1.5mdv2010.1.i586 gcc-debug-4.4.3-2mnb2.i586 glib2.0-debug-2.24.1-1mdv2010.1.i586 glibc-debug-2.11.1-8.2mnb2.i586 gtk+2.0-debug-2.20.1-1mdv2010.1.i586 gvfs-debug-1.6.1-2mdv2010.1.i586 ia_ora-gnome-debug-1.0.24-1mdv2010.1.i586 jbigkit-debug-2.0-4mdv2010.1.i586 libart_lgpl-debug-2.3.21-1mdv2010.1.i586 libcanberra-debug-0.24-2mdv2010.1.i586 libgnomecanvas-debug-2.30.1-1mdv2010.1.i586 libgnomeprint-debug-2.18.7-1mdv2010.1.i586 libgnomeprintui-debug-2.18.5-1mdv2010.1.i586 libice-debug-1.0.6-2mdv2010.1.i586 libjpeg-debug-8a-1mdv2010.1.i586 libogg-debug-1.2.0-1mdv2010.1.i586 libpng-debug-1.2.43-1.1mdv2010.1.i586 libsm-debug-1.1.1-2mdv2010.1.i586 libtiff-debug-3.9.2-2.2mdv2010.1.i586 libtool-debug-2.2.6b-2mdv2010.1.i586 libvorbis-debug-1.3.1-1mdv2010.1.i586 libx11-debug-1.3.3-1mdv2010.1.i586 libxau-debug-1.0.5-2mdv2010.1.i586 libxcb-debug-1.6-1mdv2010.1.i586 libxcomposite-debug-0.4.1-1mdv2010.1.i586 libxcursor-debug-1.1.10-2mdv2010.1.i586 libxdamage-debug-1.1.2-1mdv2010.1.i586 libxdmcp-debug-1.0.3-2mdv2010.1.i586 libxext-debug-1.1.1-2mdv2010.1.i586 libxfixes-debug-4.0.4-1mdv2010.1.i586 libxi-debug-1.3-1mdv2010.1.i586 libxinerama-debug-1.1-1mdv2010.1.i586 libxml2-debug-2.7.7-1.1mdv2010.1.i586 libxrandr-debug-1.3.0-3mdv2010.1.i586 libxrender-debug-0.9.5-2mdv2010.1.i586 libxxf86vm-debug-1.1.0-1mdv2010.1.i586 pango-debug-1.28.0-1mdv2010.1.i586 pcre-debug-8.02-1mdv2010.1.i586 pixman-debug-0.18.2-1mdv2010.1.i586 tdb-debug-1.2.1-1mdv2010.1.i586 udev-debug-153-5mnb2.i586 zlib-debug-1.2.3-15mdv2010.1.i586
(gdb) print _this
No symbol "_this" in current context.
(gdb) step
Cannot find bounds of current function
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0xb753dd70 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) print _this
No symbol "_this" in current context.
(gdb) step
Cannot find bounds of current function
(gdb) quit
A debugging session is active.

        Inferior 1 [process 800] will be killed.

Quit anyway? (y or n) y
[ai@Mandriva_2010_Spring bin]$


about no gui issue, i already delete pcsx2 svn r4517 source and binary.
so i cannot give the error log.
so next question, what is the best revision to try GSdx ?
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
Well better take the latest (well I use 4553 currently). Note to build all just use "make -j 2" (number of your core).

It is a new crash. It can be cause because of bad drivers/bad xorg/ bad sdl version. Did you try with my version ? Did you try several GSdx version? You can also try to get latest hg (mercurial) snapshot from libsdl site web.

If you want to try gdb, you must install gdk and gtk debug package. Then create a "break gdk_x_error()" and get a backtrace when encounter the breakpoint.
Reply
(04-14-2011, 07:40 PM)gregory Wrote: Well better take the latest (well I use 4553 currently). Note to build all just use "make -j 2" (number of your core).

It is a new crash. It can be cause because of bad drivers/bad xorg/ bad sdl version. Did you try with my version ? Did you try several GSdx version? You can also try to get latest hg (mercurial) snapshot from libsdl site web.

If you want to try gdb, you must install gdk and gtk debug package. Then create a "break gdk_x_error()" and get a backtrace when encounter the breakpoint.
thanks for the reply.

yes the latest will be the best, but i try the latest, and when i compile i got new error. >.<
hmm, what do you mean by "make -j 2", is that when i compile, like:
make -j 2 pcsx && make -j 2 GSdx && make -j 2 CDVDlinuz , etc?

hmm, i not try using your GSdx yet, i will try it.

hmmm, what i know, sdl 1.2.14 is the latest, because the sdl developer already moving to 1.3

okey thanks for the hint, i will try gdb, or just revert back to r4553.
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
make <=> make FWnull && make onepad && make zerospu2 && make GSdx && make SPU2null && make PADnull ....

-j number_of_core <=> allow to speed up compilation. You get nearly a 4x on a quad core Smile

Actually I mean the latest SDL 1.3. GSdx need SDL 1.3 that why it is included in the svn repository. SDL is still in development so they can fix some crashes in their repository,
Reply
(04-14-2011, 10:19 PM)gregory Wrote: make <=> make FWnull && make onepad && make zerospu2 && make GSdx && make SPU2null && make PADnull ....

-j number_of_core <=> allow to speed up compilation. You get nearly a 4x on a quad core Smile

Actually I mean the latest SDL 1.3. GSdx need SDL 1.3 that why it is included in the svn repository. SDL is still in development so they can fix some crashes in their repository,

thanks for the reply.

i try using your Binary, buat still got the same error.

try svn merge -r 4553:4571 , give me rev 4554, and try compile, still got the same error.

then, i try svn merge -r 4554:4516, it's took to long, with my dial up internet connection right now, i got disconected before it completly merged.

i will try it later, when i get my adsl internet conection again.

about gdb, i dont fell good right now, i will try it later. (i'am to tired of work right now)
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply




Users browsing this thread: 1 Guest(s)