Closed exander77 closed 5 years ago
Can you tell us what compiler/operating system and architecture you're on?
Distributor ID: Ubuntu Description: Ubuntu 17.10 Release: 17.10 Codename: artful
This is the actual commands from make:
/usr/bin/cmake -E cmake_link_script CMakeFiles/openomf.dir/link.txt --verbose=1 /usr/bin/cc -Wall -std=c11 -O2 -DNDEBUG -Wl,-s -rdynamic CMakeFiles/openomf.dir/src/utils/compat.c.o CMakeFiles/openomf.dir/src/utils/log.c.o CMakeFiles/openomf.dir/src/utils/config.c.o CMakeFiles/openomf.dir/src/utils/list.c.o CMakeFiles/openomf.dir/src/utils/vector.c.o CMakeFiles/openomf.dir/src/utils/hashmap.c.o CMakeFiles/openomf.dir/src/utils/iterator.c.o CMakeFiles/openomf.dir/src/utils/array.c.o CMakeFiles/openomf.dir/src/utils/vec.c.o CMakeFiles/openomf.dir/src/utils/str.c.o CMakeFiles/openomf.dir/src/utils/random.c.o CMakeFiles/openomf.dir/src/utils/miscmath.c.o CMakeFiles/openomf.dir/src/utils/scandir.c.o CMakeFiles/openomf.dir/src/utils/msgbox.c.o CMakeFiles/openomf.dir/src/video/video.c.o CMakeFiles/openomf.dir/src/video/surface.c.o CMakeFiles/openomf.dir/src/video/image.c.o CMakeFiles/openomf.dir/src/video/tcache.c.o CMakeFiles/openomf.dir/src/video/color.c.o CMakeFiles/openomf.dir/src/video/video_hw.c.o CMakeFiles/openomf.dir/src/video/video_soft.c.o CMakeFiles/openomf.dir/src/audio/audio.c.o CMakeFiles/openomf.dir/src/audio/music.c.o CMakeFiles/openomf.dir/src/audio/sound.c.o CMakeFiles/openomf.dir/src/audio/sink.c.o CMakeFiles/openomf.dir/src/audio/stream.c.o CMakeFiles/openomf.dir/src/audio/source.c.o CMakeFiles/openomf.dir/src/audio/sinks/openal_sink.c.o CMakeFiles/openomf.dir/src/audio/sinks/openal_stream.c.o CMakeFiles/openomf.dir/src/audio/sources/dumb_source.c.o CMakeFiles/openomf.dir/src/audio/sources/modplug_source.c.o CMakeFiles/openomf.dir/src/audio/sources/xmp_source.c.o CMakeFiles/openomf.dir/src/audio/sources/vorbis_source.c.o CMakeFiles/openomf.dir/src/audio/sources/raw_source.c.o CMakeFiles/openomf.dir/src/resources/ids.c.o CMakeFiles/openomf.dir/src/resources/af.c.o CMakeFiles/openomf.dir/src/resources/af_loader.c.o CMakeFiles/openomf.dir/src/resources/af_move.c.o CMakeFiles/openomf.dir/src/resources/bk.c.o CMakeFiles/openomf.dir/src/resources/bk_info.c.o CMakeFiles/openomf.dir/src/resources/bk_loader.c.o CMakeFiles/openomf.dir/src/resources/palette.c.o CMakeFiles/openomf.dir/src/resources/pilots.c.o CMakeFiles/openomf.dir/src/resources/sprite.c.o CMakeFiles/openomf.dir/src/resources/animation.c.o CMakeFiles/openomf.dir/src/resources/sounds_loader.c.o CMakeFiles/openomf.dir/src/resources/pathmanager.c.o CMakeFiles/openomf.dir/src/resources/sgmanager.c.o CMakeFiles/openomf.dir/src/resources/languages.c.o CMakeFiles/openomf.dir/src/resources/fonts.c.o CMakeFiles/openomf.dir/src/resources/scores.c.o CMakeFiles/openomf.dir/src/plugins/plugins.c.o CMakeFiles/openomf.dir/src/plugins/scaler_plugin.c.o CMakeFiles/openomf.dir/src/game/protos/object.c.o CMakeFiles/openomf.dir/src/game/protos/player.c.o CMakeFiles/openomf.dir/src/game/protos/scene.c.o CMakeFiles/openomf.dir/src/game/protos/intersect.c.o CMakeFiles/openomf.dir/src/game/protos/object_specializer.c.o CMakeFiles/openomf.dir/src/game/objects/har.c.o CMakeFiles/openomf.dir/src/game/objects/scrap.c.o CMakeFiles/openomf.dir/src/game/objects/projectile.c.o CMakeFiles/openomf.dir/src/game/objects/hazard.c.o CMakeFiles/openomf.dir/src/game/scenes/intro.c.o CMakeFiles/openomf.dir/src/game/scenes/openomf.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_main.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_configuration.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_gameplay.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_audio.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_video.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_video_confirm.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_net.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_connect.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_listen.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_input.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_keyboard.c.o CMakeFiles/openomf.dir/src/game/scenes/mainmenu/menu_presskey.c.o CMakeFiles/openomf.dir/src/game/scenes/credits.c.o CMakeFiles/openomf.dir/src/game/scenes/cutscene.c.o CMakeFiles/openomf.dir/src/game/scenes/arena.c.o CMakeFiles/openomf.dir/src/game/scenes/melee.c.o CMakeFiles/openomf.dir/src/game/scenes/vs.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_menu_main.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_menu_customize.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_menu_training.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_menu_pilotselect.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_dash_main.c.o CMakeFiles/openomf.dir/src/game/scenes/mechlab/lab_dash_newplayer.c.o CMakeFiles/openomf.dir/src/game/scenes/newsroom.c.o CMakeFiles/openomf.dir/src/game/scenes/scoreboard.c.o CMakeFiles/openomf.dir/src/game/gui/menu.c.o CMakeFiles/openomf.dir/src/game/gui/trn_menu.c.o CMakeFiles/openomf.dir/src/game/gui/menu_background.c.o CMakeFiles/openomf.dir/src/game/gui/text_render.c.o CMakeFiles/openomf.dir/src/game/gui/textbutton.c.o CMakeFiles/openomf.dir/src/game/gui/spritebutton.c.o CMakeFiles/openomf.dir/src/game/gui/spriteimage.c.o CMakeFiles/openomf.dir/src/game/gui/textselector.c.o CMakeFiles/openomf.dir/src/game/gui/textslider.c.o CMakeFiles/openomf.dir/src/game/gui/textinput.c.o CMakeFiles/openomf.dir/src/game/gui/dialog.c.o CMakeFiles/openomf.dir/src/game/gui/component.c.o CMakeFiles/openomf.dir/src/game/gui/sizer.c.o CMakeFiles/openomf.dir/src/game/gui/widget.c.o CMakeFiles/openomf.dir/src/game/gui/frame.c.o CMakeFiles/openomf.dir/src/game/gui/label.c.o CMakeFiles/openomf.dir/src/game/gui/filler.c.o CMakeFiles/openomf.dir/src/game/gui/progressbar.c.o CMakeFiles/openomf.dir/src/game/gui/gauge.c.o CMakeFiles/openomf.dir/src/game/gui/pilotpic.c.o CMakeFiles/openomf.dir/src/game/gui/xysizer.c.o CMakeFiles/openomf.dir/src/game/game_state.c.o CMakeFiles/openomf.dir/src/game/game_player.c.o CMakeFiles/openomf.dir/src/game/common_defines.c.o CMakeFiles/openomf.dir/src/game/utils/ticktimer.c.o CMakeFiles/openomf.dir/src/game/utils/serial.c.o CMakeFiles/openomf.dir/src/game/utils/settings.c.o CMakeFiles/openomf.dir/src/game/utils/score.c.o CMakeFiles/openomf.dir/src/game/utils/har_screencap.c.o CMakeFiles/openomf.dir/src/game/utils/formatting.c.o CMakeFiles/openomf.dir/src/controller/controller.c.o CMakeFiles/openomf.dir/src/controller/keyboard.c.o CMakeFiles/openomf.dir/src/controller/joystick.c.o CMakeFiles/openomf.dir/src/controller/net_controller.c.o CMakeFiles/openomf.dir/src/controller/ai_controller.c.o CMakeFiles/openomf.dir/src/controller/rec_controller.c.o CMakeFiles/openomf.dir/src/console/console.c.o CMakeFiles/openomf.dir/src/console/console_cmd.c.o CMakeFiles/openomf.dir/src/engine.c.o CMakeFiles/openomf.dir/src/main.c.o -o openomf -lSDL2 -lpthread -lconfuse -lenet -largtable2 external/libShadowDive/libshadowdive.a external/dumb/libdumb.a -lopenal -lpng -lz -lm -lm
Guessing that alloca is not standard C99 function, and we are using -std=c99 => function not found. Libdumb should probably include
It might be a good idea to just remove libdumb from submodules once and for all, and require a separate package. Libdumb now has actual releases, so we might start seeing those in distributions also.
I can actually install libdumb1-dev package.
Just note that the version of the package must be 2.x.x. libdumb1 will NOT work.
Available here (libdumb fork by kode54): https://github.com/kode54/dumb/releases
Since we got rid of libdumb as primary lib (replaced by libxmp), I consider this fixed :)
Please note that on my Debian sid installation, I cannot play PSM with libxmp. I have not investigated this yet, but if it is not fixed easily and it exists in other Debian-based distros, I guess there will be another person running into problems, just that the name of the library differs...
Do you mean that name of the library differs and you cannot link the library, or that the library exists with a wrong name, you fixed the linking and yet music doesn't play ?
Linking works, but at runtime it says it cannot play PSM. As I said, I have not investigated this closely, yet. I do not have the machine available right now, so give me some time to have a look and come up with a detailed analysis.
Tried libxmp on Ubuntu 18.10, seems to work fine at least there.
xmp command line player works fine on my Debian testing (Buster).
[ 47%] Linking C executable openomf external/dumb/libdumb.a(lpc.c.o): In function `vorbis_lpc_predict.constprop.0': lpc.c:(.text+0x2b): undefined reference to `alloca' external/dumb/libdumb.a(lpc.c.o): In function `vorbis_lpc_from_data.constprop.1': lpc.c:(.text+0x13d): undefined reference to `alloca' lpc.c:(.text+0x14c): undefined reference to `alloca' collect2: error: ld returned 1 exit status CMakeFiles/openomf.dir/build.make:3483: recipe for target 'openomf' failed make[2]: *** [openomf] Error 1 CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/openomf.dir/all' failed make[1]: *** [CMakeFiles/openomf.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2