Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MSYS2] Latest release has issues #15568

Closed
NickGrease opened this issue Feb 27, 2016 · 6 comments

Comments

Projects
None yet
2 participants
@NickGrease
Copy link
Contributor

commented Feb 27, 2016

Win 7/64 - mingw64

TL;DR If your using MSYS2 and its working - don't update. If your trying to install for the first time, use the 2105 installer and skip the pacman -Su step

The latest installer (http://msys2.github.io/) has some issues, the worst being that compiling and building CDDA produces a non functioning cataclysm exe (running it simply produces a "the program has stopped working" message) with no errors during the build.

Also with the latest msys2 installer, when installing there were a number of warnings about circular dependencies that weren't present with the old installer.

Even using the old installer, if you follow the guide here and do pacman -Su you're back to producing a non-functioning cataclysm exe.

Now I'm the first to admit that I'm still learning msys2 (and I've learnt a lot the last two days) and this may be something on my end - but you'll have to take my word for it - short of formatting my hd, I did everything I could to rule out that possibility. With that said, I do seem to be the only person on all the internets with this problem - which could mean there's something specific to this repo and something that update-core updates. I don't really know, but I've been at this since yesterday morning, finally got it working, and now its time for a drink.

@remyroy

This comment has been minimized.

Copy link
Contributor

commented Feb 29, 2016

MSYS2 fails right now for me because it seems to be missing some dependencies for TILES and SOUND.

$ make MSYS2=1 RELEASE=1 TILES=1 LOCALIZE=1 SOUND=1 LUA=1 NATIVE=win64 -j8 -O
/bin/sh: astyle: command not found
Cannot run an astyle check, your system either does not have astyle, or it is too old.
make -C tests
g++ -Wl,-stack,12000000,-subsystem,windows -o cataclysm-tiles.exe objwin/tiles/overmap.o objwin/tiles/help.o objwin/tiles/submap.o objwin/tiles/mod_manager_ui.o objwin/tiles/cata_utility.o objwin/tiles/monfaction.o objwin/tiles/main_menu.o objwin/tiles/iexamine.o objwin/tiles/mutation_data.o objwin/tiles/mission_end.o objwin/tiles/color.o objwin/tiles/input.o objwin/tiles/mission_fail.o objwin/tiles/addiction.o objwin/tiles/action.o objwin/tiles/messages.o objwin/tiles/mondefense.o objwin/tiles/mission_start.o objwin/tiles/gamemode.o objwin/tiles/monstergenerator.o objwin/tiles/version.o objwin/tiles/sounds.o objwin/tiles/tileray.o objwin/tiles/weather_data.o objwin/tiles/ui.o objwin/tiles/faction.o objwin/tiles/posix_time.o objwin/tiles/coordinate_conversions.o objwin/tiles/mapgen.o objwin/tiles/monattack.o objwin/tiles/catalua.o objwin/tiles/editmap.o objwin/tiles/computer.o objwin/tiles/mondeath.o objwin/tiles/mapgenformat.o objwin/tiles/iuse.o objwin/tiles/player_activity.o objwin/tiles/dependency_tree.o objwin/tiles/cata_tiles.o objwin/tiles/scenario.o objwin/tiles/bionics.o objwin/tiles/artifact.o objwin/tiles/npcmove.o objwin/tiles/crafting_gui.o objwin/tiles/vehicle_selector.o objwin/tiles/name.o objwin/tiles/monmove.o objwin/tiles/event.o objwin/tiles/basecamp.o objwin/tiles/line.o objwin/tiles/init.o objwin/tiles/char_validity_check.o objwin/tiles/sdltiles.o objwin/tiles/requirements.o objwin/tiles/armor_layers.o objwin/tiles/savegame_legacy.o objwin/tiles/ammo.o objwin/tiles/monster.o objwin/tiles/lua_console.o objwin/tiles/activity_item_handling.o objwin/tiles/drawing_primitives.o objwin/tiles/construction.o objwin/tiles/veh_interact.o objwin/tiles/iuse_software_minesweeper.o objwin/tiles/iuse_actor.o objwin/tiles/options.o objwin/tiles/mission.o objwin/tiles/animation.o objwin/tiles/mongroup.o objwin/tiles/iuse_software.o objwin/tiles/rng.o objwin/tiles/output.o objwin/tiles/damage.o objwin/tiles/npctalk.o objwin/tiles/start_location.o objwin/tiles/ranged.o objwin/tiles/trap.o objwin/tiles/mission_companion.o objwin/tiles/map_selector.o objwin/tiles/lightmap.o objwin/tiles/inventory.o objwin/tiles/trapfunc.o objwin/tiles/iuse_software_kitten.o objwin/tiles/json.o objwin/tiles/mapsharing.o objwin/tiles/activity_handlers.o objwin/tiles/item_location.o objwin/tiles/debug.o objwin/tiles/game.o objwin/tiles/calendar.o objwin/tiles/newcharacter.o objwin/tiles/mission_place.o objwin/tiles/missiondef.o objwin/tiles/character.o objwin/tiles/recipe_dictionary.o objwin/tiles/mod_manager.o objwin/tiles/advanced_inv.o objwin/tiles/mapgen_functions.o objwin/tiles/overmapbuffer.o objwin/tiles/melee.o objwin/tiles/craft_command.o objwin/tiles/visitable.o objwin/tiles/material.o objwin/tiles/field.o objwin/tiles/mutation.o objwin/tiles/npc.o objwin/tiles/text_snippets.o objwin/tiles/vehicle_group.o objwin/tiles/mapdata.o objwin/tiles/player.o objwin/tiles/active_item_cache.o objwin/tiles/crafting.o objwin/tiles/morale.o objwin/tiles/savegame_json.o objwin/tiles/iuse_software_snake.o objwin/tiles/veh_type.o objwin/tiles/wish.o objwin/tiles/wincurse.o objwin/tiles/weather.o objwin/tiles/mapbuffer.o objwin/tiles/defense.o objwin/tiles/profession.o objwin/tiles/catacharset.o objwin/tiles/tutorial.o objwin/tiles/live_view.o objwin/tiles/iuse_software_sokoban.o objwin/tiles/path_info.o objwin/tiles/translations.o objwin/tiles/creature_tracker.o objwin/tiles/item_group.o objwin/tiles/item_action.o objwin/tiles/vehicle.o objwin/tiles/speech.o objwin/tiles/item_factory.o objwin/tiles/simplexnoise.o objwin/tiles/pathfinding.o objwin/tiles/weather_gen.o objwin/tiles/inventory_ui.o objwin/tiles/mattack_actors.o objwin/tiles/savegame.o objwin/tiles/effect.o objwin/tiles/skill.o objwin/tiles/clzones.o objwin/tiles/main.o objwin/tiles/auto_pickup.o objwin/tiles/bodypart.o objwin/tiles/worldfactory.o objwin/tiles/itype.o objwin/tiles/item.o objwin/tiles/filesystem.o objwin/tiles/map.o objwin/tiles/pickup.o objwin/tiles/bonuses.o objwin/tiles/cursesport.o objwin/tiles/creature.o objwin/tiles/consumption.o objwin/tiles/martialarts.o objwin/tiles/mtype.o objwin/tiles/resource.o -s -m64 -static -lintl -liconv -LC:/msys32/mingw64/lib -lSDL2_mixer -lmingw32 -lSDL2 -lpthread -lmad -LC:/msys32/mingw64/lib -llua -lm -L/mingw64/lib -lmingw32 -lSDL2 -mwindows -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lz -ltiff -lbz2 -lharfbuzz -lglib-2.0 -llzma -lws2_32 -lintl -liconv -lwebp -ljpeg -luuid -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lversion
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0xd): undefined reference to `__imp_ModPlug_Load'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x1b): undefined reference to `__imp_ModPlug_Unload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x29): undefined reference to `__imp_ModPlug_Read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x37): undefined reference to `__imp_ModPlug_Seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x45): undefined reference to `__imp_ModPlug_GetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x53): undefined reference to `__imp_ModPlug_SetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x61): undefined reference to `__imp_ModPlug_SetMasterVolume'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x11): undefined reference to `__imp_delete_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x1f): undefined reference to `__imp_delete_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x2d): undefined reference to `__imp_delete_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x3b): undefined reference to `__imp_fluid_player_add'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x49): undefined reference to `__imp_fluid_player_add_mem'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x57): undefined reference to `__imp_fluid_player_get_status'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x65): undefined reference to `__imp_fluid_player_play'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x73): undefined reference to `__imp_fluid_player_set_loop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x81): undefined reference to `__imp_fluid_player_stop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x8f): undefined reference to `__imp_fluid_settings_setnum'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x9d): undefined reference to `__imp_fluid_synth_get_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xab): undefined reference to `__imp_fluid_synth_set_gain'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xb9): undefined reference to `__imp_fluid_synth_sfload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xc7): undefined reference to `__imp_fluid_synth_write_s16'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xd5): undefined reference to `__imp_new_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xe3): undefined reference to `__imp_new_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xf1): undefined reference to `__imp_new_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_time_seek[.refptr.ov_time_seek]+0x0): undefined reference to `ov_time_seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_read[.refptr.ov_read]+0x0): undefined reference to `ov_read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_pcm_total[.refptr.ov_pcm_total]+0x0): undefined reference to `ov_pcm_total'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_open_callbacks[.refptr.ov_open_callbacks]+0x0): undefined reference to `ov_open_callbacks'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_info[.refptr.ov_info]+0x0): undefined reference to `ov_info'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_clear[.refptr.ov_clear]+0x0): undefined reference to `ov_clear'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_get_state[.refptr.FLAC__stream_decoder_get_state]+0x0): undefined reference to `FLAC__stream_decoder_get_state'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_seek_absolute[.refptr.FLAC__stream_decoder_seek_absolute]+0x0): undefined reference to `FLAC__stream_decoder_seek_absolute'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_until_end_of_stream[.refptr.FLAC__stream_decoder_process_until_end_of_stream]+0x0): undefined reference to `FLAC__stream_decoder_process_until_end_of_stream'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_until_end_of_metadata[.refptr.FLAC__stream_decoder_process_until_end_of_metadata]+0x0): undefined reference to `FLAC__stream_decoder_process_until_end_of_metadata'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_single[.refptr.FLAC__stream_decoder_process_single]+0x0): undefined reference to `FLAC__stream_decoder_process_single'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_flush[.refptr.FLAC__stream_decoder_flush]+0x0): undefined reference to `FLAC__stream_decoder_flush'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_finish[.refptr.FLAC__stream_decoder_finish]+0x0): undefined reference to `FLAC__stream_decoder_finish'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_init_stream[.refptr.FLAC__stream_decoder_init_stream]+0x0): undefined reference to `FLAC__stream_decoder_init_stream'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_delete[.refptr.FLAC__stream_decoder_delete]+0x0): undefined reference to `FLAC__stream_decoder_delete'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_new[.refptr.FLAC__stream_decoder_new]+0x0): undefined reference to `FLAC__stream_decoder_new'
collect2.exe: error: ld returned 1 exit status
Makefile:551: recipe for target 'cataclysm-tiles.exe' failed
make: *** [cataclysm-tiles.exe] Error 1
make: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/Remy/Cataclysm-DDA/tests'
g++ -Wl,-stack,12000000,-subsystem,windows -o cata_test -DRELEASE -DGIT_VERSION -DTILES -DLOCALIZE obj/player_test.o obj/map_iterator_test.o obj/shadowcasting_test.o obj/iuse_test.o obj/rewrite_vsnprintf_test.o obj/reloading_test.o obj/fake_messages.o obj/monster_test.o obj/creature_test.o obj/line_test.o obj/overmap_test.o obj/savegame_test.o obj/test_main.o obj/npc_test.o ../cataclysm.a -ffast-math -Os -Wall -Wextra -Werror --std=c++11 -MMD -m64 -IC:/msys32/mingw64/include/SDL2 -DSDL_SOUND -IC:/msys32/mingw64/include -DLUA -I/mingw64/include/SDL2 -IC:/msys32/mingw64/include/SDL2 -IC:/msys32/mingw64/include/SDL2 -I../src -Wno-unused-variable -Wno-sign-compare -s -m64 -static -lintl -liconv -LC:/msys32/mingw64/lib -lSDL2_mixer -lmingw32 -lSDL2 -lpthread -lmad -LC:/msys32/mingw64/lib -llua -lm -L/mingw64/lib -lmingw32 -lSDL2 -mwindows -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lz -ltiff -lbz2 -lharfbuzz -lglib-2.0 -llzma -lws2_32 -lintl -liconv -lwebp -ljpeg -luuid -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lversion -L.
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0xd): undefined reference to `__imp_ModPlug_Load'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x1b): undefined reference to `__imp_ModPlug_Unload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x29): undefined reference to `__imp_ModPlug_Read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x37): undefined reference to `__imp_ModPlug_Seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x45): undefined reference to `__imp_ModPlug_GetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x53): undefined reference to `__imp_ModPlug_SetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x61): undefined reference to `__imp_ModPlug_SetMasterVolume'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x11): undefined reference to `__imp_delete_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x1f): undefined reference to `__imp_delete_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x2d): undefined reference to `__imp_delete_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x3b): undefined reference to `__imp_fluid_player_add'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x49): undefined reference to `__imp_fluid_player_add_mem'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x57): undefined reference to `__imp_fluid_player_get_status'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x65): undefined reference to `__imp_fluid_player_play'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x73): undefined reference to `__imp_fluid_player_set_loop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x81): undefined reference to `__imp_fluid_player_stop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x8f): undefined reference to `__imp_fluid_settings_setnum'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x9d): undefined reference to `__imp_fluid_synth_get_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xab): undefined reference to `__imp_fluid_synth_set_gain'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xb9): undefined reference to `__imp_fluid_synth_sfload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xc7): undefined reference to `__imp_fluid_synth_write_s16'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xd5): undefined reference to `__imp_new_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xe3): undefined reference to `__imp_new_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xf1): undefined reference to `__imp_new_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_time_seek[.refptr.ov_time_seek]+0x0): undefined reference to `ov_time_seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_read[.refptr.ov_read]+0x0): undefined reference to `ov_read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_pcm_total[.refptr.ov_pcm_total]+0x0): undefined reference to `ov_pcm_total'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_open_callbacks[.refptr.ov_open_callbacks]+0x0): undefined reference to `ov_open_callbacks'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_info[.refptr.ov_info]+0x0): undefined reference to `ov_info'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_ogg.o):(.rdata$.refptr.ov_clear[.refptr.ov_clear]+0x0): undefined reference to `ov_clear'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_get_state[.refptr.FLAC__stream_decoder_get_state]+0x0): undefined reference to `FLAC__stream_decoder_get_state'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_seek_absolute[.refptr.FLAC__stream_decoder_seek_absolute]+0x0): undefined reference to `FLAC__stream_decoder_seek_absolute'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_until_end_of_stream[.refptr.FLAC__stream_decoder_process_until_end_of_stream]+0x0): undefined reference to `FLAC__stream_decoder_process_until_end_of_stream'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_until_end_of_metadata[.refptr.FLAC__stream_decoder_process_until_end_of_metadata]+0x0): undefined reference to `FLAC__stream_decoder_process_until_end_of_metadata'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_process_single[.refptr.FLAC__stream_decoder_process_single]+0x0): undefined reference to `FLAC__stream_decoder_process_single'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_flush[.refptr.FLAC__stream_decoder_flush]+0x0): undefined reference to `FLAC__stream_decoder_flush'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_finish[.refptr.FLAC__stream_decoder_finish]+0x0): undefined reference to `FLAC__stream_decoder_finish'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_init_stream[.refptr.FLAC__stream_decoder_init_stream]+0x0): undefined reference to `FLAC__stream_decoder_init_stream'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_delete[.refptr.FLAC__stream_decoder_delete]+0x0): undefined reference to `FLAC__stream_decoder_delete'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_flac.o):(.rdata$.refptr.FLAC__stream_decoder_new[.refptr.FLAC__stream_decoder_new]+0x0): undefined reference to `FLAC__stream_decoder_new'
collect2.exe: error: ld returned 1 exit status
Makefile:26: recipe for target 'cata_test' failed
make[1]: *** [cata_test] Error 1
make[1]: Leaving directory '/home/Remy/Cataclysm-DDA/tests'
Makefile:797: recipe for target 'tests' failed
make: *** [tests] Error 2
tools/json_format_check.sh

Let me check if I can fix this.

@remyroy

This comment has been minimized.

Copy link
Contributor

commented Feb 29, 2016

It compiles and runs fine without SOUND which mean that the dependencies for SOUND are messed up. In theory, applying this patch to the makefile should include the missing dependencies but it seems like modplug and fluidsynth are still missing for some reason.

diff --git a/Makefile b/Makefile
index 790bb73..a16b112 100644
--- a/Makefile
+++ b/Makefile
@@ -351,7 +351,7 @@ ifdef SOUND
   endif

   ifdef MSYS2
-    LDFLAGS += -lmad
+    LDFLAGS += -lmad -lvorbisfile -lvorbis -logg -lmodplug -lflac -lfluidsynth
   endif

   CXXFLAGS += -DSDL_SOUND

I might investigate some more later on. For now, here is the output log I get with these:

$ make MSYS2=1 RELEASE=1 TILES=1 LOCALIZE=1 SOUND=1 LUA=1 NATIVE=win64 -j8 -O
/bin/sh: astyle: command not found
Cannot run an astyle check, your system either does not have astyle, or it is too old.
make -C tests
g++ -Wl,-stack,12000000,-subsystem,windows -o cataclysm-tiles.exe objwin/tiles/overmap.o objwin/tiles/help.o objwin/tiles/submap.o objwin/tiles/mod_manager_ui.o objwin/tiles/cata_utility.o objwin/tiles/monfaction.o objwin/tiles/main_menu.o objwin/tiles/iexamine.o objwin/tiles/mutation_data.o objwin/tiles/mission_end.o objwin/tiles/color.o objwin/tiles/input.o objwin/tiles/mission_fail.o objwin/tiles/addiction.o objwin/tiles/action.o objwin/tiles/messages.o objwin/tiles/mondefense.o objwin/tiles/mission_start.o objwin/tiles/gamemode.o objwin/tiles/monstergenerator.o objwin/tiles/version.o objwin/tiles/sounds.o objwin/tiles/tileray.o objwin/tiles/weather_data.o objwin/tiles/ui.o objwin/tiles/faction.o objwin/tiles/posix_time.o objwin/tiles/coordinate_conversions.o objwin/tiles/mapgen.o objwin/tiles/monattack.o objwin/tiles/catalua.o objwin/tiles/editmap.o objwin/tiles/computer.o objwin/tiles/mondeath.o objwin/tiles/mapgenformat.o objwin/tiles/iuse.o objwin/tiles/player_activity.o objwin/tiles/dependency_tree.o objwin/tiles/cata_tiles.o objwin/tiles/scenario.o objwin/tiles/bionics.o objwin/tiles/artifact.o objwin/tiles/npcmove.o objwin/tiles/crafting_gui.o objwin/tiles/vehicle_selector.o objwin/tiles/name.o objwin/tiles/monmove.o objwin/tiles/event.o objwin/tiles/basecamp.o objwin/tiles/line.o objwin/tiles/init.o objwin/tiles/char_validity_check.o objwin/tiles/sdltiles.o objwin/tiles/requirements.o objwin/tiles/armor_layers.o objwin/tiles/savegame_legacy.o objwin/tiles/ammo.o objwin/tiles/monster.o objwin/tiles/lua_console.o objwin/tiles/activity_item_handling.o objwin/tiles/drawing_primitives.o objwin/tiles/construction.o objwin/tiles/veh_interact.o objwin/tiles/iuse_software_minesweeper.o objwin/tiles/iuse_actor.o objwin/tiles/options.o objwin/tiles/mission.o objwin/tiles/animation.o objwin/tiles/mongroup.o objwin/tiles/iuse_software.o objwin/tiles/rng.o objwin/tiles/output.o objwin/tiles/damage.o objwin/tiles/npctalk.o objwin/tiles/start_location.o objwin/tiles/ranged.o objwin/tiles/trap.o objwin/tiles/mission_companion.o objwin/tiles/map_selector.o objwin/tiles/lightmap.o objwin/tiles/inventory.o objwin/tiles/trapfunc.o objwin/tiles/iuse_software_kitten.o objwin/tiles/json.o objwin/tiles/mapsharing.o objwin/tiles/activity_handlers.o objwin/tiles/item_location.o objwin/tiles/debug.o objwin/tiles/game.o objwin/tiles/calendar.o objwin/tiles/newcharacter.o objwin/tiles/mission_place.o objwin/tiles/missiondef.o objwin/tiles/character.o objwin/tiles/recipe_dictionary.o objwin/tiles/mod_manager.o objwin/tiles/advanced_inv.o objwin/tiles/mapgen_functions.o objwin/tiles/overmapbuffer.o objwin/tiles/melee.o objwin/tiles/craft_command.o objwin/tiles/visitable.o objwin/tiles/material.o objwin/tiles/field.o objwin/tiles/mutation.o objwin/tiles/npc.o objwin/tiles/text_snippets.o objwin/tiles/vehicle_group.o objwin/tiles/mapdata.o objwin/tiles/player.o objwin/tiles/active_item_cache.o objwin/tiles/crafting.o objwin/tiles/morale.o objwin/tiles/savegame_json.o objwin/tiles/iuse_software_snake.o objwin/tiles/veh_type.o objwin/tiles/wish.o objwin/tiles/wincurse.o objwin/tiles/weather.o objwin/tiles/mapbuffer.o objwin/tiles/defense.o objwin/tiles/profession.o objwin/tiles/catacharset.o objwin/tiles/tutorial.o objwin/tiles/live_view.o objwin/tiles/iuse_software_sokoban.o objwin/tiles/path_info.o objwin/tiles/translations.o objwin/tiles/creature_tracker.o objwin/tiles/item_group.o objwin/tiles/item_action.o objwin/tiles/vehicle.o objwin/tiles/speech.o objwin/tiles/item_factory.o objwin/tiles/simplexnoise.o objwin/tiles/pathfinding.o objwin/tiles/weather_gen.o objwin/tiles/inventory_ui.o objwin/tiles/mattack_actors.o objwin/tiles/savegame.o objwin/tiles/effect.o objwin/tiles/skill.o objwin/tiles/clzones.o objwin/tiles/main.o objwin/tiles/auto_pickup.o objwin/tiles/bodypart.o objwin/tiles/worldfactory.o objwin/tiles/itype.o objwin/tiles/item.o objwin/tiles/filesystem.o objwin/tiles/map.o objwin/tiles/pickup.o objwin/tiles/bonuses.o objwin/tiles/cursesport.o objwin/tiles/creature.o objwin/tiles/consumption.o objwin/tiles/martialarts.o objwin/tiles/mtype.o objwin/tiles/resource.o -s -m64 -static -lintl -liconv -LC:/msys32/mingw64/lib -lSDL2_mixer -lmingw32 -lSDL2 -lpthread -lmad -lvorbisfile -lvorbis -logg -lmodplug -lflac -lfluidsynth -LC:/msys32/mingw64/lib -llua -lm -L/mingw64/lib -lmingw32 -lSDL2 -mwindows -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lz -ltiff -lbz2 -lharfbuzz -lglib-2.0 -llzma -lws2_32 -lintl -liconv -lwebp -ljpeg -luuid -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lversion
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0xd): undefined reference to `__imp_ModPlug_Load'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x1b): undefined reference to `__imp_ModPlug_Unload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x29): undefined reference to `__imp_ModPlug_Read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x37): undefined reference to `__imp_ModPlug_Seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x45): undefined reference to `__imp_ModPlug_GetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x53): undefined reference to `__imp_ModPlug_SetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x61): undefined reference to `__imp_ModPlug_SetMasterVolume'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x11): undefined reference to `__imp_delete_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x1f): undefined reference to `__imp_delete_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x2d): undefined reference to `__imp_delete_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x3b): undefined reference to `__imp_fluid_player_add'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x49): undefined reference to `__imp_fluid_player_add_mem'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x57): undefined reference to `__imp_fluid_player_get_status'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x65): undefined reference to `__imp_fluid_player_play'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x73): undefined reference to `__imp_fluid_player_set_loop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x81): undefined reference to `__imp_fluid_player_stop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x8f): undefined reference to `__imp_fluid_settings_setnum'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x9d): undefined reference to `__imp_fluid_synth_get_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xab): undefined reference to `__imp_fluid_synth_set_gain'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xb9): undefined reference to `__imp_fluid_synth_sfload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xc7): undefined reference to `__imp_fluid_synth_write_s16'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xd5): undefined reference to `__imp_new_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xe3): undefined reference to `__imp_new_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xf1): undefined reference to `__imp_new_fluid_synth'
collect2.exe: error: ld returned 1 exit status
Makefile:551: recipe for target 'cataclysm-tiles.exe' failed
make: *** [cataclysm-tiles.exe] Error 1
make: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/Remy/Cataclysm-DDA/tests'
g++ -Wl,-stack,12000000,-subsystem,windows -o cata_test -DRELEASE -DGIT_VERSION -DTILES -DLOCALIZE obj/player_test.o obj/map_iterator_test.o obj/shadowcasting_test.o obj/iuse_test.o obj/rewrite_vsnprintf_test.o obj/reloading_test.o obj/fake_messages.o obj/monster_test.o obj/creature_test.o obj/line_test.o obj/overmap_test.o obj/savegame_test.o obj/test_main.o obj/npc_test.o ../cataclysm.a -ffast-math -Os -Wall -Wextra -Werror --std=c++11 -MMD -m64 -IC:/msys32/mingw64/include/SDL2 -DSDL_SOUND -IC:/msys32/mingw64/include -DLUA -I/mingw64/include/SDL2 -IC:/msys32/mingw64/include/SDL2 -IC:/msys32/mingw64/include/SDL2 -I../src -Wno-unused-variable -Wno-sign-compare -s -m64 -static -lintl -liconv -LC:/msys32/mingw64/lib -lSDL2_mixer -lmingw32 -lSDL2 -lpthread -lmad -lvorbisfile -lvorbis -logg -lmodplug -lflac -lfluidsynth -LC:/msys32/mingw64/lib -llua -lm -L/mingw64/lib -lmingw32 -lSDL2 -mwindows -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lz -ltiff -lbz2 -lharfbuzz -lglib-2.0 -llzma -lws2_32 -lintl -liconv -lwebp -ljpeg -luuid -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lversion -L.
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0xd): undefined reference to `__imp_ModPlug_Load'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x1b): undefined reference to `__imp_ModPlug_Unload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x29): undefined reference to `__imp_ModPlug_Read'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x37): undefined reference to `__imp_ModPlug_Seek'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x45): undefined reference to `__imp_ModPlug_GetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x53): undefined reference to `__imp_ModPlug_SetSettings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_modplug.o):(.text+0x61): undefined reference to `__imp_ModPlug_SetMasterVolume'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x11): undefined reference to `__imp_delete_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x1f): undefined reference to `__imp_delete_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x2d): undefined reference to `__imp_delete_fluid_synth'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x3b): undefined reference to `__imp_fluid_player_add'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x49): undefined reference to `__imp_fluid_player_add_mem'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x57): undefined reference to `__imp_fluid_player_get_status'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x65): undefined reference to `__imp_fluid_player_play'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x73): undefined reference to `__imp_fluid_player_set_loop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x81): undefined reference to `__imp_fluid_player_stop'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x8f): undefined reference to `__imp_fluid_settings_setnum'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0x9d): undefined reference to `__imp_fluid_synth_get_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xab): undefined reference to `__imp_fluid_synth_set_gain'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xb9): undefined reference to `__imp_fluid_synth_sfload'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xc7): undefined reference to `__imp_fluid_synth_write_s16'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xd5): undefined reference to `__imp_new_fluid_player'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xe3): undefined reference to `__imp_new_fluid_settings'
C:/msys32/mingw64/lib\libSDL2_mixer.a(dynamic_fluidsynth.o):(.text+0xf1): undefined reference to `__imp_new_fluid_synth'
collect2.exe: error: ld returned 1 exit status
Makefile:26: recipe for target 'cata_test' failed
make[1]: *** [cata_test] Error 1
make[1]: Leaving directory '/home/Remy/Cataclysm-DDA/tests'
Makefile:797: recipe for target 'tests' failed
make: *** [tests] Error 2
tools/json_format_check.sh
@NickGrease

This comment has been minimized.

Copy link
Contributor Author

commented Mar 1, 2016

Add the flag DYNAMIC_LINKING=1

make MSYS2=1 RELEASE=1 TILES=1 LOCALIZE=1 SOUND=1 LUA=1 NATIVE=win64 DYNAMIC_LINKING=1

I had the same problem, the above gets you past the errors, just have to add C:\msys64\mingw64\bin to windows PATH environment variable to run the game. However I would like to be able to statically link the game at some point - so let me know if you figure anything out.

@NickGrease

This comment has been minimized.

Copy link
Contributor Author

commented Mar 3, 2016

Like I said, I'm still learning - seems everything is working now. Understanding that updates in MSYS2 (and Arch) are rolling releases and need time to propagate as well as time for packages to update, is something I wasn't really aware of. So other than having to compile with dynamic linking enabled, everything is pretty much sorted.

@NickGrease NickGrease closed this Mar 3, 2016

@remyroy

This comment has been minimized.

Copy link
Contributor

commented Mar 3, 2016

The culprit for this problem is the change to the mingw-w64-x86_64-SDL2_mixer package. To be specific, it is this change. They updated to 2.0.1 and they scraped a few things enabling static linking. If I have a few minutes, I might check it out to create a pull request bringing back static linking.

@NickGrease

This comment has been minimized.

Copy link
Contributor Author

commented Mar 3, 2016

Thanks for looking into this, I'd be embarrassed to admit how many hours I spent fumbling around trying to figure that out. I had narrowed it down to the 4 SDL packages, so I was close I guess, but I really had no idea what I was doing or looking for. I did learn a lot about bash and pacman and have a much better understand of msys2, so it was worth the time.

Thanks again for looking into this, static linking would be nice - but I'm just happy to know that it's not my computer that was causing the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.