[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772898: win32-loader testing and newer fails with TRANSLATE error



Hello,
just some additions.

Looks similar to bug #654380. (There mingw defaulted to produce dlls
depending also on some other mingw dlls)

There the upstream bug report [2] mentions that plugins "must not depend
on a shared libgcc".

So I assume that the plugins "must not depend on a shared libwinpthread-1.dll" either.

The package build of win32-loader uses this file
/usr/share/nsis/Plugins/NSISdl.dll which comes from packge nsis-common.



If plugins must not depend on other dlls, then also other projects or users
are affected, who want to build their installers with Jessie/testing.



However, when I try to rebuild package nsis-common I get a nsisdl.dll which
does not suffer from this dependency.

Unfortunately I cannot find a build log for amd64, just for i386 [3].
That one was build with g++-mingw-w64-i686 i386 4.9.0-2+13.
My attempt uses g++-mingw-w64-i686 amd64 4.9.1-7+14.2.

The changelog for g++-mingw-w64-i686 [4] shows this entry:

gcc-mingw-w64 (14) unstable; urgency=medium

  * Provide compilers using Windows and POSIX threads. The default setup
    uses Windows threads, thus avoiding the dependency on the pthreads DLL
    (Closes: #748353, #750741).



So probably the solution could be only these 2 steps?

- to rebuild package nsis-common with the current g++-mingw-w64-i686 package

- rebuild win32-loader with the newly built nsis-common package installed



Kind regards,
Bernhard




The only file which suffers from this issue is:

$ find /usr/share/nsis/Plugins -iname "*.dll" \
     -exec objdump -p {} \; | grep -E "file format|DLL Name"
...
/usr/share/nsis/Plugins/NSISdl.dll:     file format pei-i386
...
        DLL Name: libwinpthread-1.dll
...

$ dpkg -S /usr/share/nsis/Plugins/NSISdl.dll
nsis-common: /usr/share/nsis/Plugins/NSISdl.dll

$ dpkg -l | grep nsis-common
ii  nsis-common              2.46-9          all  ...




Link command on build of nsis-common:

i686-w64-mingw32-g++ -s -mwindows -Wl,--file-alignment,512 -Wl,-Map,build/release/NSISdl/NSISdl.map -static-libgcc -static-libstdc++ -Wl,-e_DllMain@12 -shared -o build/release/NSISdl/NSISdl.dll build/release/NSISdl/asyncdns.o build/release/NSISdl/connection.o build/release/NSISdl/httpget.o build/release/NSISdl/nsisdl.o build/release/NSISdl/util.o -Lbuild/release/api/nsis -lpluginapi -lkernel32 -luser32 -ladvapi32 -lws2_32 -Wl,--out-implib,build/release/NSISdl/libNSISdl.a -Wl,--output-def,build/release/NSISdl/NSISdl.def





[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=654380
[2] https://sourceforge.net/p/nsis/patches/241/
[3] https://buildd.debian.org/status/fetch.php?pkg=nsis&arch=i386&ver=2.46-9&stamp=1405410412
[4] http://metadata.ftp-master.debian.org/changelogs//main/g/gcc-mingw-w64/gcc-mingw-w64_14.2_changelog


Reply to: