Bug #5623
closedSaxonCS DLL is 64 bit again?
0%
Description
Martin reports that the DLL is PE32+ again. I explicitly checked that before release. But then I had to rebuild because I couldn't be sure that the Windows build was done with .NET5.
Updated by Norm Tovey-Walsh over 1 year ago
The plot thickens...
Here are all of the copies of SaxonCS.dll
that appear in the build directory.
norm@wynngifu MINGW64 /c/Volumes/Saxonica/src/saxonica/saxondev (saxon11)
$ find . -type f -name SaxonCS.dll -print -exec file {} \;
./build/cs/bin/Release/net5.0/ref/SaxonCS.dll
./build/cs/bin/Release/net5.0/ref/SaxonCS.dll: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
./build/cs/bin/Release/net5.0/SaxonCS.dll
./build/cs/bin/Release/net5.0/SaxonCS.dll: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
./build/cs/bin/Release/net5.0/win-x64/ref/SaxonCS.dll
./build/cs/bin/Release/net5.0/win-x64/ref/SaxonCS.dll: PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
./build/cs/bin/Release/net5.0/win-x64/SaxonCS.dll
./build/cs/bin/Release/net5.0/win-x64/SaxonCS.dll: PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
./build/cs/obj/Release/net5.0/ref/SaxonCS.dll
./build/cs/obj/Release/net5.0/ref/SaxonCS.dll: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
./build/cs/obj/Release/net5.0/SaxonCS.dll
./build/cs/obj/Release/net5.0/SaxonCS.dll: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
./build/cs/obj/Release/net5.0/win-x64/ref/SaxonCS.dll
./build/cs/obj/Release/net5.0/win-x64/ref/SaxonCS.dll: PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
./build/cs/obj/Release/net5.0/win-x64/SaxonCS.dll
./build/cs/obj/Release/net5.0/win-x64/SaxonCS.dll: PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
./build/testdrivers/bin/Release/net5.0/SaxonCS.dll
./build/testdrivers/bin/Release/net5.0/SaxonCS.dll: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
This is what I find in saxoncs.11.4.0.nupkg
.
./x/lib/net5.0/SaxonCS.dll: PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
So I've managed to build 32 bit DLLs, but the version that's being packaged for nuget is the 64 bit version.
But the 11.3 release DLL is a 32 bit DLL. And I can't immediately see why we got a different release this time.
Updated by Martin Honnen over 1 year ago
In https://saxonica.plan.io/issues/5403#note-3 you seemed to describe how your 11.3 release/publish worked out fine and how you managed to avoid that the publish step rewrites the .nupkg as a 64bit dll.
Updated by Norm Tovey-Walsh over 1 year ago
Yes. I had that in my notes. I'm just trying to connect the dots on how I managed to build it wrong for 11.4 given that I thought I'd fixed that bug.
On Monday, I'll propose that we do an 11.4.1 to fix the problem.
I'm much more conflicted about the .NET 5 vs .NET 6 problem. I was going to propose that we publish both, but I doubt that's possible for the release on nuget.org for "SaxonCS". I expect we'd have to have a different artifact name and that's troublesome for different reasons. It's tempting to leave 11.x on .NET 5 and move to .NET 6 for 12.x except that I expect 12.x is still a ways off.
sigh
Updated by Norm Tovey-Walsh over 1 year ago
- Status changed from New to Resolved
I've pushed SaxonCS 11.4.1 to NuGet that fixes this problem. And updated the build script so that (I hope!) it won't happen again. Thank you for your patience.
Next up: a build with .NET 6.
Updated by O'Neil Delpratt over 1 year ago
- Status changed from Resolved to Closed
- Fixed in Maintenance Release 11.4 added
Please register to edit this issue