opensonic 0.1.2-7
http://opensnc.sourceforge.net/
Game based on the Sonic the Hedgehog universe.
unsupported :: games
Maintainer: danym
Votes: 36
License: GPL
Last Updated: Tue, 19 Jan 2010 02:29:40 +0000
First Submitted: Wed, 15 Apr 2009 13:58:12 +0000
Dependencies allegro alpng-nozlib dumb
It failed compilation earlier.
So I added unset LDFLAGS to PKGBUILD.
Now it successfully compiles on x86_64.
I got the same linking problems on x86_64 :(
Same thing happens to me (i686):
(.text+0x47e): undefined reference to `destroy_bitmap'
/usr/lib/libalpng.a(alpng_interlacing.o): In function `alpng_draw_interlaced':
(.text+0x489): undefined reference to `destroy_bitmap'
/usr/lib/libalpng.a(alpng_interlacing.o): In function `alpng_draw_interlaced':
(.text+0x494): undefined reference to `destroy_bitmap'
/usr/lib/libalpng.a(alpng_interlacing.o): In function `alpng_draw_interlaced':
(.text+0x49f): undefined reference to `destroy_bitmap'
/usr/lib/libalpng.a(alpng_interlacing.o):(.text+0x4aa): more undefined references to `destroy_bitmap' follow
collect2: ld returned 1 exit status
make[2]: *** [opensonic] Error 1
make[1]: *** [CMakeFiles/opensonic.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: Build Failed.
I have my system updated and I tried to rebuild alpng-nozlib from AUR.
feufochmar: Are you using allegro 4.4.0?
Do you rebuild with libpng 1.4.0?
I've successfully built it on x86_64 with an up to date system.
OpenSonic doesn't link (I've tried on x84_64) :
Linking C executable opensonic
CMakeFiles/opensonic.dir/src/2xsai.o: In function `SuperEagle':
2xsai.c:(.text+0x1d41): undefined reference to `stretch_blit'
2xsai.c:(.text+0x1dff): undefined reference to `create_sub_bitmap'
CMakeFiles/opensonic.dir/src/2xsai.o: In function `Super2xSaI':
2xsai.c:(.text+0x20ff): undefined reference to `stretch_blit'
2xsai.c:(.text+0x21bd): undefined reference to `create_sub_bitmap'
CMakeFiles/opensonic.dir/src/2xsai.o: In function `Init_2xSaI':
2xsai.c:(.text+0x22f2): undefined reference to `makecol'
2xsai.c:(.text+0x2305): undefined reference to `makecol'
2xsai.c:(.text+0x231c): undefined reference to `makecol'
2xsai.c:(.text+0x2338): undefined reference to `makecol_depth'
2xsai.c:(.text+0x234c): undefined reference to `makecol_depth'
2xsai.c:(.text+0x2369): undefined reference to `makecol_depth'
2xsai.c:(.text+0x23a4): undefined reference to `makecol_depth'
2xsai.c:(.text+0x23b8): undefined reference to `makecol_depth'
CMakeFiles/opensonic.dir/src/2xsai.o:2xsai.c:(.text+0x23d5): more undefined references to `makecol_depth' follow
CMakeFiles/opensonic.dir/src/2xsai.o: In function `SuperEagle':
2xsai.c:(.text+0x1e61): undefined reference to `destroy_bitmap'
CMakeFiles/opensonic.dir/src/2xsai.o: In function `Super2xSaI':
2xsai.c:(.text+0x221f): undefined reference to `destroy_bitmap'
CMakeFiles/opensonic.dir/src/audio.o: In function `audio_init':
audio.c:(.text+0x145): undefined reference to `install_sound'
audio.c:(.text+0x201): undefined reference to `allegro_error'
CMakeFiles/opensonic.dir/src/audio.o: In function `sound_is_playing':
audio.c:(.text+0x22f): undefined reference to `voice_check'
CMakeFiles/opensonic.dir/src/audio.o: In function `sound_play_ex':
audio.c:(.text+0x2c7): undefined reference to `play_sample'
CMakeFiles/opensonic.dir/src/audio.o: In function `sound_destroy':
audio.c:(.text+0x348): undefined reference to `destroy_sample'
[...]
/usr/lib/libalpng.a(alpng_interlacing.o): In function `alpng_draw_interlaced':
(.text+0x66c): undefined reference to `destroy_bitmap'
/usr/lib/libalpng.a(alpng_interlacing.o):(.text+0x676): more undefined references to `destroy_bitmap' follow
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [opensonic] Erreur 1
make[1]: *** [CMakeFiles/opensonic.dir/all] Erreur 2
make: *** [all] Erreur 2
now compiles with allegro 4.4.0
cmakelist.txt.diff should corrected all the problems. It compiles file now on i686. Please test it...
The cmakelist.patch doesn't apply:
==> Extracting Sources...
-> Extracting opensnc-src0.1.2.tar.gz with bsdtar
-> Extracting desert1_with_music.zip with bsdtar
==> Entering fakeroot environment...
==> Starting build()...
patching file CMakeLists.txt
patching file CMakeLists.txt
patch: **** malformed patch at line 6: SET(LAUNCHER_SRCS ${LAUNCHER_SRCS} src/iconlin.c
danym, it would be better to edit the CMakeLists.txt directly and do a diff against the original
one rather than copy-paste my post.
- delete line 164 and 166
- then modify the `TARGET_LINK_LIBRARIES(${GAME_BIN}...' to read:
TARGET_LINK_LIBRARIES(${GAME_BIN} m ${LOGG_LIBS} ${DUMB_LIBS} ${ALLEGRO_UNIX_LIBS} alpng)
- then, just after that, add the line:
TARGET_LINK_LIBRARIES(${LAUNCHER_BIN} ${ALLEGRO_UNIX_LIBS})
Still doesn't compile with patch.
Same errors as before(undefined references).
hope it'll work with vcap's patch....
The following patch should fix the build issues with 4.2.3.1 (which have actually nothing to do with 4.2.3.1, afaict).
This is in addition to the current CMakeLists.diff (which i would have done differently by making the LALLEG test
be `IF(NOT LALLEG AND NOT UNIX)' rather than by changing LALLEG).
--- CMakeLists.txt.orig 2009-07-22 07:54:28.000000000 +0200
+++ CMakeLists.txt 2009-11-14 13:06:14.000000000 +0100
@@ -161,9 +161,8 @@
SET(LAUNCHER_SRCS ${LAUNCHER_SRCS} src/iconlin.c)
ADD_EXECUTABLE(${GAME_BIN} ${GAME_SRCS})
ADD_EXECUTABLE(${LAUNCHER_BIN} ${LAUNCHER_SRCS})
- SET_TARGET_PROPERTIES(${GAME_BIN} PROPERTIES LINK_FLAGS ${ALLEGRO_UNIX_LIBS})
- TARGET_LINK_LIBRARIES(${GAME_BIN} m ${LOGG_LIBS} ${DUMB_LIBS} alpng)
- SET_TARGET_PROPERTIES(${LAUNCHER_BIN} PROPERTIES LINK_FLAGS ${ALLEGRO_UNIX_LIBS})
+ TARGET_LINK_LIBRARIES(${GAME_BIN} m ${LOGG_LIBS} ${DUMB_LIBS} ${ALLEGRO_UNIX_LIBS} alpng)
+ TARGET_LINK_LIBRARIES(${LAUNCHER_BIN} ${ALLEGRO_UNIX_LIBS})
SET_TARGET_PROPERTIES(${GAME_BIN} PROPERTIES COMPILE_FLAGS "-Wall -O2 ${CFLAGS}")
SET_TARGET_PROPERTIES(${LAUNCHER_BIN} PROPERTIES COMPILE_FLAGS "-Wall -O2")
ENDIF(UNIX)
Doesn't compile with allegro 4.2.3.1(undefined references like cchabanois).
I have KDEMod(i686).
Sorry; i did rebuild allegro 4.2.3.1 on my system and now it works. I builds with allegro 4.2.3.1.
Before that, i was having the same error as cchabanois
-- It won't build with allegro > 4.2.2
Are you sure of that?
I know it won't build with 4.3.x, let alone allegro5; but allegro 4.2.3.1 should be fine.
Incidentally, 4.2.3.1 is what pacman -Syu will give you since a couple of days.
It won't build with allegro > 4.2.2
Please remove allegro "=4.2.2"
I get this while compiling :
[ 87%] Building C object CMakeFiles/opensonic.dir/src/iconlin.o
Linking C executable opensonic
CMakeFiles/opensonic.dir/src/2xsai.o: In function `SuperEagle':
2xsai.c:(.text+0x1d41): undefined reference to `stretch_blit'
2xsai.c:(.text+0x1dff): undefined reference to `create_sub_bitmap'
CMakeFiles/opensonic.dir/src/2xsai.o: In function `Super2xSaI':
2xsai.c:(.text+0x20ff): undefined reference to `stretch_blit'
2xsai.c:(.text+0x21bd): undefined reference to `create_sub_bitmap'
CMakeFiles/opensonic.dir/src/2xsai.o: In function `Init_2xSaI':
2xsai.c:(.text+0x22f2): undefined reference to `makecol'
2xsai.c:(.text+0x2305): undefined reference to `makecol'
2xsai.c:(.text+0x231c): undefined reference to `makecol'
2xsai.c:(.text+0x2338): undefined reference to `makecol_depth'
2xsai.c:(.text+0x234c): undefined reference to `makecol_depth'
2xsai.c:(.text+0x2369): undefined reference to `makecol_depth'
2xsai.c:(.text+0x23a4): undefined reference to `makecol_depth'
2xsai.c:(.text+0x23b8): undefined reference to `makecol_depth'
CMakeFiles/opensonic.dir/src/2xsai.o:2xsai.c:(.text+0x23d5): more undefined references to `makecol_depth' follow
Added some levels (ruined city and desert 1).
New version (0.1.2).
Patch corrected. Thanks to benpro!
patching file CMakeLists.txt
Hunk #1 FAILED at 54.
1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej
Patch seems don't working.
Any idea ?
Didn't have the choice to use the svn version as version 0.1.1 didn't compile with gcc 4.4
Changed allegro dependence in version 4.2.2 as it doesn't work with version 4.3.x
Gallaecio: I think you must use allegro 4.2.2. Try with it and if this works, i will modify PKGBUILD to specify allegro's version.
Gallaecio: i compiles fine on x86_64. It looks like allegro is not well installed. Does the error message appears before or after this sentence: Scanning dependencies of target opensonic?
Maybe it is because my allegro version is 4.3.11?
I get this while compiling:
Linking C executable opensonic
/usr/bin/ld: cannot find -lalleg-4.2.2
collect2: ld returned 1 exit status
make[2]: *** [opensonic] Erro 1
make[1]: *** [CMakeFiles/opensonic.dir/all] Erro 2
make: *** [all] Erro 2
==> ERROR: Build Failed.
baghera: done!
I think you should add cmake to makedepends :)
My mistake! Binary was installed in /usr/share/opensonic. Created a script in /usr/bin/ and corrected opensonic.desktop. Thanks liquidsunshine for notifying!
This package doesn't seem to actually install some sort of binary; just game files. Is there a bug in the PKGBUILD? Or is there another package that provides the actual *game*?
v1.6.0