Cross-compiling gpg4win: can not find the runtime library libgcc_s_sjlj-1.dll

Ave Milia avemilia at protonmail.com
Wed Sep 16 13:40:12 CEST 2020


> Hi,
>
> On Thursday 3 September 2020 14:49:06 CEST Ave Milia via Gnupg-devel wrote:
>
> > configure: error: can not find the runtime library libgcc_s_sjlj-1.dll in the
>
> default locations.
>
> >                      >                      Use the --with-libgcc_s_sjlj-1
> >
>
> option to set the path directly.
>
> This file is needed to to be installed by Gpg4win, so when configuring our
> package we look for that as a dll binary. To be put into the installer package
> so that it is available at runtime.
>
> On debian they come from:
> gcc-mingw-w64-i686:
> /usr/lib/gcc/i686-w64-mingw32/8.3-posix/libgcc_s_sjlj-1.dll
> /usr/lib/gcc/i686-w64-mingw32/8.3-win32/libgcc_s_sjlj-1.dll
>
> For arch linux I do not know where they come from or that you have to pass as
> --with-libgcc_s_sjlj-1 configure argument.

Thanks for the response.
This is what I have:

❯ sudo pacman -S mingw-w64-toolchain mingw-w64 --needed
warning: mingw-w64-binutils-2.35-1 is up to date -- skipping
warning: mingw-w64-crt-7.0.0-1 is up to date -- skipping
warning: mingw-w64-gcc-10.2.0-1 is up to date -- skipping
warning: mingw-w64-headers-7.0.0-1 is up to date -- skipping
warning: mingw-w64-winpthreads-7.0.0-1 is up to date -- skipping
warning: mingw-w64-binutils-2.35-1 is up to date -- skipping
warning: mingw-w64-crt-7.0.0-1 is up to date -- skipping
warning: mingw-w64-gcc-10.2.0-1 is up to date -- skipping
warning: mingw-w64-headers-7.0.0-1 is up to date -- skipping
warning: mingw-w64-winpthreads-7.0.0-1 is up to date -- skipping
 there is nothing to do

❯ pacman -Ql mingw-w64-gcc | grep gcc_s
mingw-w64-gcc /usr/i686-w64-mingw32/bin/libgcc_s_dw2-1.dll
mingw-w64-gcc /usr/i686-w64-mingw32/lib/libgcc_s.a
mingw-w64-gcc /usr/x86_64-w64-mingw32/bin/libgcc_s_seh-1.dll
mingw-w64-gcc /usr/x86_64-w64-mingw32/lib/libgcc_s.a

❯ pacman -Qi mingw-w64-gcc | grep -i version
Version         : 10.2.0-1

Perhaps something changed between gcc 8 and gcc 10? Or it's in a different form (sjlj is part of e.g. dw2)? I just don't see any reason why part of a bundle (if sjlj is really a standard part of the bundle) wouldn't be installed.

There are no additional potential packages to install, even in AUR:
❯ yay -Ss mingw-w64 | grep -i gcc
    An efficient Gthread implementation for GCC (mingw-w64)
aur/mingw-w64-gcc-base 10.1.0-1 (+18 0.89)
    Cross GCC for the MinGW-w64 cross-compiler (bootstrap)
community/mingw-w64-gcc 10.2.0-1 (143.3 MiB 884.7 MiB) [mingw-w64-toolchain mingw-w64] (Installed)
    Cross GCC for the MinGW-w64 cross-compiler

mingw-w64-gcc-base is "compile-it-yourself" version of mingw-w64-gcc in repos, I believe.



More information about the Gnupg-devel mailing list