Yabause - Port Request


OK where do I need to be looking in those PNDs??

Right that's getting a bit ahead of myself anyway. So far I've compiled it on Ubuntu and loaded up and played the BIOS and Virtua Fighter Megamix. Next step is to attempt to crosscomplie it for the Pandora. This I won't be even looking until tomorrow at the EARLIEST as I need to sleep now!
 
right... so I've installed the toolchain from here. Tested it by compiling helloworld (works) and the DisplayImage example (runs but bombs out with the error message 'Unable to load bitmap: Error reading from datastream).

Next I tried configure yabause with the following command:

./configure --host=arm-angstrom-linux-gnueabi --prefix=$PNDSDK

But I am greeted with the following output:

configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
configure: loading site script /usr/local/angstrom/arm/site-config
checking build system type... i686-pc-linux-gnu
checking host system type... arm-angstrom-linux-gnueabi
checking target system type... arm-angstrom-linux-gnueabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-angstrom-linux-gnueabi-strip... arm-angstrom-linux-gnueabi-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for arm-angstrom-linux-gnueabi-ranlib... arm-angstrom-linux-gnueabi-ranlib
checking for arm-angstrom-linux-gnueabi-gcc... arm-angstrom-linux-gnueabi-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-angstrom-linux-gnueabi-gcc accepts -g... yes
checking for arm-angstrom-linux-gnueabi-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of arm-angstrom-linux-gnueabi-gcc... gcc3
checking how to run the C preprocessor... arm-angstrom-linux-gnueabi-gcc -E
checking for arm-angstrom-linux-gnueabi-g++... arm-angstrom-linux-gnueabi-g++
checking whether we are using the GNU C++ compiler... yes
checking whether arm-angstrom-linux-gnueabi-g++ accepts -g... yes
checking dependency style of arm-angstrom-linux-gnueabi-g++... gcc3
checking how to run the C++ preprocessor... arm-angstrom-linux-gnueabi-g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether arm-angstrom-linux-gnueabi-gcc and cc understand -c and -o together... yes
checking dependency style of arm-angstrom-linux-gnueabi-gcc... gcc3
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for gettimeofday... yes
checking for mini18n in -lmini18n... no
checking whether the compiled supports c99 variadic macros... no
checking for arm-angstrom-linux-gnueabi-sdl-config... no
checking for arm-angstrom-linux-gnueabi-sdl11-config... no
checking for sdl-config... sdl-config
configure: WARNING: using cross tools not prefixed with host triplet
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for glEnable in -lGL... no
checking for glutGetModifiers in -lglut... no
checking for glXGetProcAddress... no
checking for alBufferData in -lopenal... no
configure: WARNING: Disabling Q68 dynamic translation (not supported on this CPU)
checking for qmake-qt4... /usr/bin/qmake-qt4
checking for arm-angstrom-linux-gnueabi-pkg-config... no
checking for pkg-config... pkg-config
checking for arm-angstrom-linux-gnueabi-windres... no
checking for windres... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: error: cross-compiling arm-angstrom-linux-gnueabi port on i686-pc-linux-gnu is not supported yet

not supported? I didn't think cross compiling was supposed to be something that was supported.... I thought you just kind of imposed it on source code :(

Any possible workarounds?
 
Pleng said:
right... so I've installed the toolchain from here. Tested it by compiling helloworld (works) and the DisplayImage example (runs but bombs out with the error message 'Unable to load bitmap: Error reading from datastream).

Next I tried configure yabause with the following command:

./configure --host=arm-angstrom-linux-gnueabi --prefix=$PNDSDK
your prefix should be /mnt/utmp/yabause imho.

Pleng said:
Code:
configure: error:[b] cross-compiling arm-angstrom-linux-gnueabi port on i686-pc-linux-gnu is not supported yet[/b]
Any possible workarounds?
Edit configure.ac to remove that check. then autoreconf; autoconf ;)
 
Last edited by a moderator:
sebt3 said:
Pleng said:
Next I tried configure yabause with the following command:

./configure --host=arm-angstrom-linux-gnueabi --prefix=$PNDSDK
your prefix should be /mnt/utmp/yabause imho.

OK. I was only going by what was on the Wiki. Honestly, I really have NO idea what I'm doing :p Anyway I changed it to your version :)

Pleng said:
Code:
  configure: error:[b] cross-compiling arm-angstrom-linux-gnueabi port on i686-pc-linux-gnu is not supported yet[/b]
Any possible workarounds?
Edit configure.ac to remove that check. then autoreconf; autoconf ;)

OK I've done that and configure seems reasonably happy. Now, I feel pretty silly here and I'm sure there's something nice and simple I've missed.... but when I type 'make' it reports 'nothing to do here' as I've already compiled the x86 version. Is there anyway to 'unmake'??

Hmm I'm trying make -B which is certainly doing something... but it appears to be running configure before each file (or is it directory? I'm not sure.... it did just build a whole load of files in one go) is compiled. Is this correct? This could take a loooong time :p


(edit)
Never mind that there's bigger problems:

nput.o build/release/.obj/unix/moc_UIBackupRam.o build/release/.obj/unix/moc_UIPortManager.o build/release/.obj/unix/moc_UIPadSetting.o build/release/.obj/unix/qrc_resources.o -L/usr/lib -L/usr/X11R6/lib -L../ -lyabause -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
/usr/bin/ld: skipping incompatible ..//libyabause.a when searching for -lyabause
/usr/bin/ld: cannot find -lyabause
collect2: ld returned 1 exit status
make[5]: *** [yabause] Error 1
make[5]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[4]: *** [release] Error 2
make[4]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause/src'
make: *** [all-recursive] Error 1

incompatible libyabause?? How can it be incompatible with itself?????
 
Last edited by a moderator:
Pleng said:
Is there anyway to 'unmake'??
make clean
or
make distclean

The first remove the compilations objects, while the later also remove the configurations generated by configure script.

Pleng said:
incompatible libyabause?? How can it be incompatible with itself?????
if you are building from the same build tree and have'nt make clean before there is 99% chance libyabause.a is x86 and you're trying to link that x86 binary in an armv7 executable, looks pretty incompatible to me ;)
 
Last edited by a moderator:
sebt3 said:
Pleng said:
Is there anyway to 'unmake'??
make clean
or
make distclean

The first remove the compilations objects, while the later also remove the configurations generated by configure script.

if you are building from the same build tree and have'nt make clean before there is 99% chance libyabause.a is x86 and you're trying to link that x86 binary in an armv7 executable, looks pretty incompatible to me ;)

ok so I did both a make clean and a make distclean, ran configure, ran make, and got the same output

qrc_resources.o -L/usr/lib -L/usr/X11R6/lib -L../ -lyabause -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
/usr/bin/ld: skipping incompatible ..//libyabause.a when searching for -lyabause
/usr/bin/ld: cannot find -lyabause
collect2: ld returned 1 exit status
make[5]: *** [yabause] Error 1
make[5]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[4]: *** [release] Error 2
make[4]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause/src/qt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause/src'

could this be something to do with OpenGL I wonder?
 
Last edited by a moderator:
Pleng said:
ok so I did both a make clean and a make distclean, ran configure, ran make, and got the same output
It look like the makefiles mixes gcc and the arm-*-gcc
 
Last edited by a moderator:
this is all speculation, but you could search for gcc and replace it with the correct arm-gnuabi-...-linux-gcc

And did you try a make install before?
in this case you should do a make uninstall before you continue, else something could already be installed in the libs folder.

Edit: Make a copy of files you edit before!
 
There is only one section in the Makefile with references to gcc:

CC = arm-angstrom-linux-gnueabi-gcc
CCAS = arm-angstrom-linux-gnueabi-gcc
CCASDEPMODE = depmode=gcc3
CCASFLAGS = -g -O2
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = arm-angstrom-linux-gnueabi-gcc -E
CPPFLAGS =
CXX = arm-angstrom-linux-gnueabi-g++
CXXCPP = arm-angstrom-linux-gnueabi-g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo

do I need to be changing the occurances of gcc3? And do I change them to arm-angstrom-linux-gnueabi-gcc or arm-angstrom-linux-gnueabi-gcc3?
 
Maybe you should ask that at the official Yabause forum?
http://yabause.org/forums/index.php?
There are a lot of experienced porters who would like to help you.
 
I tried that but there appears to be no way to actually post on that board :S
 
As pwith Novashell project, this one is dead. Not that this was every going to produce anything usable anyway :p
 
I tired to compile this on the pandora itself and I think the big thing it is missing is an opengles renderer. The Qt Port seems only to be the frontend and the rest is still opengl code. Maybe nanogl is an option.
 
mcobit said:
I tired to compile this on the pandora itself and I think the big thing it is missing is an opengles renderer.

OpenGL ES renderer:
http://www.khronos.org/developers/resources/opengles/

Hope that helps! ;)
 
Last edited by a moderator:
MrRockchip said:
OpenGL ES renderer:
http://www.khronos.org/developers/resources/opengles/
What does this have to do with Yabause? Also, you didn't need to make 3 posts.
 
Last edited by a moderator:
Ari64 said:
MrRockchip said:
OpenGL ES renderer:
http://www.khronos.org/developers/resources/opengles/
What does this have to do with Yabause?

mcobit said that opengl es renderer is required.
I have provided a link to the open source implementation of it.
 
Last edited by a moderator:
Well you can't fault his enthusiasm.

Okay, I guess you sorta can.

You really probably should.
 
Back
Top