Opened 3 months ago

Last modified 3 months ago

#173 assigned defect

Win32 SDL builds are broken

Reported by: PulkoMandy Owned by: Thomas Bernard
Priority: major Milestone: 2.8
Component: GrafX2 Version: 2.9WIP
Keywords: Cc:

Description

The executable or one of the libraries needs libgcc_s_sjlj-1.dll.

This appears to be a dependency of sdl2_ttf that wasn't there before?

Change History (8)

comment:1 by Thomas Bernard, 3 months ago

https://stackoverflow.com/questions/12921911/mingw-libgcc-s-sjlj-1-dll-is-missing

are you sure it is a dependency of sdl2_tff ?

is that the same with SDL 1.2 and SDL 2.x builds ?

comment:2 by PulkoMandy, 3 months ago

I checked with depends.exe (https://www.dependencywalker.com)

For the SDL2 build it is SDL_TTF

For the SDL build it is libfreetype6.dll

Maybe the root problem is in Freetype, but in the case of SDL2_TTF that's statically linked?

comment:3 by Thomas Bernard, 3 months ago

it looks like I force the -static-libgcc linker option but it may be not enforced in the freetype build.

comment:5 by Thomas Bernard, 3 months ago

It is possible to check dll dependencies with :

mingw32-objdump -x usr-win32/bin/libfreetype-6.dll |grep 'DLL Name'

;)

comment:6 by PulkoMandy, 3 months ago

sdl2_ttf in https://gitlab.com/GrafX2/grafX2/-/jobs/3281363439/artifacts/raw/grafx2-sdl2-2.8.3141-win32.zip still requires libgcc_s_sjlj-1.dll

mingw32-objdump -x usr-win32/bin/libfreetype-6.dll |grep 'DLL Name'

Yes, if you want to check them one by one (and if you have mingw installed). In depends.exe you can load the .exe file and it will show a tree of all needed DLL and highlight the ones not available.

comment:7 by Thomas Bernard, 3 months ago

I'm doing everything from freeBSD anyway ;)

is the latest build from https://grafx2.gitlab.io/grafX2/ ok ?

comment:8 by PulkoMandy, 3 months ago

The SDL1 version works now, but in the SDL2 version, it seems SDL2_TTF.dll still depends on libgcc.

Note: See TracTickets for help on using tickets.