..:: PCSX2 Forums ::..

Full Version: PCSX2 for Fedora
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Sorry for a late reply. Long day at work today:

Code:
$ grep -irw pthreads /usr/share/cmake-2.8/
grep: /usr/share/cmake-2.8/: No such file or directory
$ grep -irw pthreads /usr/share/cmake*/
/usr/share/cmake/Modules/FindBoost.cmake:#                                compiling against pthreads on Windows or win32 threads
/usr/share/cmake/Modules/FindProtobuf.cmake:# NOTE: You may need to link against pthreads, depending
/usr/share/cmake/Modules/FindThreads.cmake:#  CMAKE_USE_PTHREADS_INIT    - are we using pthreads
/usr/share/cmake/Modules/FindThreads.cmake:#  CMAKE_HP_PTHREADS_INIT     - are we using hp pthreads
/usr/share/cmake/Modules/FindThreads.cmake:  # Do we have pthreads?
/usr/share/cmake/Modules/FindThreads.cmake:      CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
/usr/share/cmake/Modules/CMakeBackwardCompatibilityC.cmake:     "Use the pthreads library.")
/usr/share/cmake/Modules/CMakeBackwardCompatibilityC.cmake:     "Use HP pthreads.")

Code:
+ /usr/bin/cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DBUILD_SHARED_LIBS:BOOL=ON .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib/ccache/gcc
-- Check for working C compiler: /usr/lib/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- BuildType set to Devel by default
-- Disable the stripping by default in Devel 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
-- 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
-- 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.17")
-- 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 Libc: /usr/lib/librt.so;/usr/lib/libdl.so;/usr/lib/libm.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
CMake Warning: The variable, 'CMAKE_INSTALL_LIBDIR', specified manually, was not used during the generation.
CMake Warning: The variable, 'INCLUDE_INSTALL_DIR', specified manually, was not used during the generation.
CMake Warning: The variable, 'LIB_INSTALL_DIR', specified manually, was not used during the generation.
CMake Warning: The variable, 'SHARE_INSTALL_PREFIX', specified manually, was not used during the generation.
CMake Warning: The variable, 'SYSCONF_INSTALL_DIR', specified manually, was not used during the generation.
-- Build files have been written to: /home/rpmbuild/rpmbuild/BUILD/pcsx2-4918
+ cmake CMakeLists.txt -DPACKAGE_MODE=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DPLUGIN_DIR=/usr/lib/pcsx2 -DGAMEINDEX_DIR=/usr/share/pcsx2 -DFORCE_INTERNAL_SOUNDTOUCH=FALSE -DFORCE_INTERNAL_SDL=TRUE -DSHARED_SDL=libpcsx2_SDL -DCMAKE_BUILD_TYPE=Release
-- Enable the stripping by default in Release build !!!
-- Internal SDL is a development snapshot of libsdl 1.3
    Crashes can be expected and no support will be provided
-- Found SoundTouch: /usr/lib/libSoundTouch.so
-- Use internal pcsx2 SDL library
-- Configuring done
-- Generating done
CMake Warning: The variable, 'SHARED_SDL', specified manually, was not used during the generation.
-- Build files have been written to: /home/rpmbuild/rpmbuild/BUILD/pcsx2-4918
Hum I do not think it is an issue but that strange, here the extract of my log
Code:
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found Subversion: /usr/bin/svn (found version "1.6.17")
versus
Code:
[code]
-- 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.17")

Anyway, try avoiding to call cmake twice. If I'm correct it crash on the compilation phase, could you try to reexecute make after the error. Besides ensure they are no compilation error. Ie do:
1/ cmake ...
2/ make (error expected)
3/ make (error or not? )
Well, the problem is I'm compiling an rpm from a spec file - when it crashes I can only restart from the beginning. I think I need to get back to basics. I'll start off by compiling pcsx2 as a normal user in i686, seeing if this works okay and take it from there.
pcsx2-sdl version builds fine when done manually.

I have two problems when building the rpm:

1. The non-sdl (standard) rpm build works until the install section when make install looks for pcsx2-desktop in a strange place -

Code:
Install the project...
/usr/bin/cmake -P cmake_install.cmake                                          
-- Install configuration: "Release"
-- Installing: /home/rpmbuild/rpmbuild/BUILDROOT/pcsx2-4918-1.fc15.i386/usr/share/pcsx2/GameIndex.dbf
CMake Error at cmake_install.cmake:44 (FILE):
  file INSTALL cannot find
  "/home/rpmbuild/rpmbuild/BUILD/pcsx2-4918/linux_various/pcsx2.desktop".


make: *** [install] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.UW7Gak (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.UW7Gak (%install)

There is no directory "linux_various" in the rpm build tree. But in cmake_install.cmake at line 41 the code reads:
Code:
IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
  list(APPEND CPACK_ABSOLUTE_DESTINATION_FILES
   "/usr/share/applications/pcsx2.desktop")
FILE(INSTALL DESTINATION "/usr/share/applications" TYPE FILE FILES "/home/rpmbuild/rpmbuild/BUILD/pcsx2-4918/linux_various/pcsx2.desktop")
ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")

Has make install parameter been changed to do this? Can I alter it?


2. If all the parts are building okay apart from this install error, then there is a problem with using some cmake sdl parameter during the rpm build I think, as the sdl spec file is otherwise the same as the non-sdl. The command used in the spec is:
Code:
cmake CMakeLists.txt -DPACKAGE_MODE=TRUE -DCMAKE_INSTALL_PREFIX="/usr" -DPLUGIN_DIR=%{_libdir}/%{name} -DGAMEINDEX_DIR=%{_datadir}/%{name} -DFORCE_INTERNAL_SOUNDTOUCH=FALSE -DFORCE_INTERNAL_SDL=TRUE -DSHARED_SDL=libpcsx2_SDL -DCMAKE_BUILD_TYPE=Release
make %{?_smp_mflags} VERBOSE=1

Can you think of a reason this wouldn't work?
For step1. Update the script to build the tarball. Normally linux_various must be dl.

For my previous idea, maybe you can edit the spec file to tell him to build twice in a row. Anyway can you attach the full verbose log ( DCMAKE_VERBOSE_MAKEFILE=TRUE) of the compilation.

Could you try to use more default variable ie without -DPLUGIN_DIR=%{_libdir}/%{name} -DGAMEINDEX_DIR=%{_datadir}/%{name}. Normally it expect string with double quotes.

Edit: I will not have any internet access for 2 days. good luck Wink
Okay, step 1 is all okay - I modified tarball script and then made some changes to the spec file to work around changes to pdf destinations until I work out how to do this elegantly. Non-sdl rpm now builds okay.

I tried several versions of cmake options to build the pcx2-sdl rpm, but nothing helps

1. tried removing the -DPLUGIN_DIR etc. etc. but no change; as this doesn't upset the non-sdl rpm it shouldn't hurt the sdl build anyway.
2. tried putting the -DSHARED_SDL="libpcsx2_SDL" (in quotes) - no change, still fails.
3. tried removing -DSHARED_SDL=libpcsx2_SDL altogether... no change, still fails

... so we can surmise that the option -DFORCE_INTERNAL_SDL=TRUE is somehow unable to build in the rpmbuild environment - could it be some interaction of the custom sdl library that breaks the code in an unexpected way? Anyway, I can't work it out Sad

As far as the option to make then make again on error, this is a non-starter as there is no option in rpmbuild to restart on an error - ie. error halts the build script and crashes, so it will never get to second make command.

I've attached the verbose logs. Sorry to cause a headache...
Ouch! This turned out to be simple... Biggrin

If I checkout the entire svn trunk and tarball it the build works! So the problem is that the create_pcsx2_tarball_from_svn_repository.sh script is not pulling in all the dependencies for the sdl build. I am stupid not to have realised this earlier. Blush

Can you advise the changes I need to make to the script so it will work (tarball of svn trunk is very big!).

Meantime I will upload mock builds of the sdl rpm as soon as I have time to build them!
Hum normally everything useful is download (except if you miss dependency) check that you have the latest version.

Anyway, you can easily update the scrip, just add parameter to get_svn_file or get_svn_dir command. For example replace
Code:
get_svn_dir 3rdparty/SDL-1.3.0-5387;
by
Code:
get_svn_dir 3rdparty/SDL-1.3.0-5387 3rdparty/foo;

For the log I will need the makefile log not cmake. Cmake only generate the Makefile and there is probably somethings wrong in the makefile execution.
I cant upload the files! The forum doesn't seem to accept any file above about 1Mb from me (anywhere). I've posted to the admin side but they don't seem to have much advice. I've tried konqueror and firefox, another computer and windows 7 Excl but no joy. I presume it's my profile that causes the problem.
Gregory - could I try to pm the files to you (fedora 14 and 15 rpm builds of svn 4918, including experimental sdl builds) and see if this works?
Gumbo,

did you manage to update your package with all latest cmake feature? If possible could you try to package the 1.0.0 branch too. Not yet released but it will be one day.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34