Yes, as I said the problem is that nsis-3.05 is not compatible with Python 3.
It turned out to be an incompatibility of the build system for nsis-3.05 with Python 3. The problem goes away if one invokes "python2 $(which scons)" instead of just "scons".
I attach the config.log generated on the Ubuntu 18.04 machine, which is identical, modulo the substitution of "/space/" with "/home/" to the one generated on the Ubuntu 16.04 machine. Apart from the compiler versions, both builds begin with the following (below is what is obtained on the Ubuntu 18.04 machine): scons: Reading SConscript files ... Mkdir("build/urelease/config") WARNING: VER_PACKED not set, defaulting to 0x03004666! Delete("nsis-01-Mar-2020.cvs") Delete(".instdist") Delete(".test")...
makensis.exe is built instead of makensis on Ubuntu 18.04
Jason, an update of your patch would be very helpful, and I hope it will be merged into the source tree. I minimally adapted the patch so as to apply it to 3.05 and it works great. I attach it in case it may be of any use.
unsigned short and unsigned int considered to be the same type?
Hi there. Has this patch been merged?
It works: thanks! I hope this patch can be merged soon.
The same observations obtained with nsis_uninst6.diff have been obtained with nsis_uninst7.diff. How can such a big difference in size be explained?
(The previous post referred to nsis_uninst6.diff, now trying the new patch nsis_uninst7.diff.)
Here is what we now know: 1) the /tmp/makensisDqv5p6 file has actually been signed; 2) the uninstall.exe that ends up being installed by the installer is not signed; 3) /tmp/makensisDqv5p6 size is around 1 MB, half the size of the installed uninstall.exe, which is around 2 MB; 4) despite the small size, /tmp/makensisDqv5p6, once renamed and substituted to uninstall.exe, seems to work as expected (it deletes all files, I am not sure it does the other things, such as restoring the registry); 5) if...
The crash has gone, and in the valgrind output we now have only the two warnings on "Conditional jump or move depends on uninitialised value(s)" in CEXEBuild::GetMacro(wchar_t const, wchar_t*) (scriptpp.cpp:238), which perhaps are unrelated to the patch. The code-signing script is invoked once on the uninstaller and once on the installer, and it terminates successfully in both cases. However, while the installer is correctly signed (according to Windows 10), the uninstaller is not (according to the...
Yes, in the output I see "Adding Authenticode signature to /tmp/ma", whereas an empty file called "makensis0A4FoY" was created under /tmp.
Thanks! The new patch applies smoothly to nsis 3.03. Apparently, the patch does not break !finalize or other functionalities, but !unfinalize crashes, apparently because of a buffer overflow. I attach the valgrind output.
Thanks Jason. We have tried hard, but we failed: the patch nsis_uninst4.diff cannot be applied to nsis 3.03. There are many rejects: in some cases the changes in 3.03 seem to go in the direction of the patch, in other case the changes in 3.03 are in contrast with the ones of the patch. After a day of work we had to give up. Porting the patch required knowledge of nsis internals that we do not have.
I am wondering whether this patch actually works with NSIS 3.03. If so, is there any hope it will be integrated into the main sources anytime soon?
Can a maintainer comment on why the patch provided for this very old bug has not...
Update version.
Mark ChangeLog.