Help building in Linux Fedora 14 (svn revision 396)
#1
Hi,

Because there seems to be a problem with running the linux build of pcsx2 on Fedora - (especially on fedora with x86_64 architecture: http://forums.pcsx2.net/archive/index.ph...19273.html) I thought I'd be clever and build it from scratch using the subversion checkout. But I get errors when I try to build on both 32 bit and 64 bit architectures. Could anyone help out? Do I need to alter the makefile?

On 64-bit Fedora 14:

Code:
svn co https://pcsx2.svn.sourceforge.net/svnroot/pcsx2 pcsx2

sudo yum install 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

cd pcsx2 && sh build.sh all

This checks out revision 396 and satisfies the dependencies. The build goes okay for about five minutes on Fedora 14 x86_64 then results in the error:

Code:
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DPCSX2_DEVBUILD=1 -D__x86_64__=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I./../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT LnxMain.o -MD -MP -MF .deps/LnxMain.Tpo -c -o LnxMain.o LnxMain.c
mv -f .deps/LnxMain.Tpo .deps/LnxMain.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DPCSX2_DEVBUILD=1 -D__x86_64__=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I./../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT support.o -MD -MP -MF .deps/support.Tpo -c -o support.o support.c
mv -f .deps/support.Tpo .deps/support.Po
gcc  -O3 -fomit-frame-pointer    -o pcsx2 Config.o interface.o GtkGui.o LnxMain.o support.o ../libpcsx2.a ../IPU/libIPU.a ../IPU/mpeg2lib/libmpeg2IPU.a ../RDebug/libRDebug.a ../tinyxml/libtinyxml.a ../x86/libx86recomp.a ../x86/ix86/libix86.a ../DebugTools/libDebugTools.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lstdc++ -lz
/usr/bin/ld: Warning: alignment 8 of symbol `GSreadFIFO2' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GSmakeSnapshot2' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GSprintf' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GSsetGameCRC' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GSsetupRecording' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GSfreeze' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `GStest' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `PAD1configure' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `PAD1about' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `PAD2gsDriverInfo' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `PAD2test' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `SPU2writeDMA4Mem' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `SPU2readDMA7Mem' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `SPU2setClockPtr' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `SPU2freeze' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `SPU2test' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `CDVDconfigure' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `CDVDabout' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `DEV9readDMA8Mem' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `DEV9configure' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `DEV9test' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `USBasync' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `USBconfigure' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `USBtest' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `FWfreeze' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: Warning: alignment 8 of symbol `FWabout' in ../x86/libx86recomp.a(iVif.o) is smaller than 16 in Config.o
/usr/bin/ld: LnxMain.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlclose@@GLIBC_2.2.5' is defined in DSO /lib64/libdl.so.2 so try adding it to the linker command line
/lib64/libdl.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [pcsx2] Error 1
make[1]: Leaving directory `/home/mythtv/applications/pcsx2/pcsx2/Linux'
make: *** [install-recursive] Error 1
Error with building pcsx2

When I try the same on my 32 bit installation of Fedora 14 I get a slightly different error:

Code:
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DPCSX2_DEVBUILD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I./../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT support.o -MD -MP -MF .deps/support.Tpo -c -o support.o support.c
mv -f .deps/support.Tpo .deps/support.Po
gcc  -O3 -fomit-frame-pointer    -o pcsx2 Config.o interface.o GtkGui.o LnxMain.o support.o ../libpcsx2.a ../IPU/libIPU.a ../IPU/mpeg2lib/libmpeg2IPU.a ../RDebug/libRDebug.a ../tinyxml/libtinyxml.a ../x86/libx86recomp.a ../x86/ix86/libix86.a ../DebugTools/libDebugTools.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lstdc++ -lz
/usr/bin/ld: ../libpcsx2.a(FPU2.o): undefined reference to symbol 'expf@@GLIBC_2.0'
/usr/bin/ld: note: 'expf@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line
/lib/libm.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [pcsx2] Error 1
make[1]: Leaving directory `/home/Giles/applications/pcsx2/pcsx2/Linux'
make: *** [install-recursive] Error 1
Error with building pcsx2

Is there a modification I can make to the makefile in either case? The note on the error seems to imply this but I don't know how to go about it!

Thanks guys Blink
Reply

Sponsored links

#2
Okay - sorted out building with the help of Siliconslick on fedora forums (http://forums.fedoraforum.org/showthread.php?t=260760)

If I insert:

Code:
LIBS+=" -ldl -lm"

at line 120 of pcsx2/pcsx2/configure.ac the build works a treat and complies on both machines.

Unfortunately the svn version seems to be old (0.95) (and segfaults whenever I try to load a game).

Given the problems in using the released binaries in Fedora, where is it possible to checkout the latest beta (0.97)? Or is the source code closed at this stage?
Reply
#3
Ah! I'm going to answer my own question again. I can check out he up to date svn using

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

and compile it with:

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

make
make install

I realise now I've been following some really old instructions and the svn number is in the 1000's now. Just in case I've confused anyone stumbling upon this thread there is a guide to linux compilation at:

http://forums.pcsx2.net/Thread-Linux-Com...nd-Support

and it is there that I'll address my future queries. Sorry!
Reply
#4
Well we really need to clean all this mess one day Tongue2
Reply




Users browsing this thread: 1 Guest(s)