I'm trying to build Wine 6.0 on Alpine Linux, a musl-based system. My situation is that I'm running a 32-bit chroot inside a 64-bit laptop primary system. It's in the 32-bit chroot that I'm trying to compile Wine 6.0.
During
make, I get this segfault:
Code: Select all
tools/winebuild/winebuild -w --def -o dlls/kernel32/libkernel32.def --export dlls/kernel32/kernel32.spec
make: *** [Makefile:67417: dlls/kernel32/libkernel32.def] Segmentation fault
Running
gdb --args ./tools/winebuild/winebuild -w --def -o dlls/kernel32/libkernel32.def --export dlls/kernel
32/kernel32.spec to debug gets me this result:
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
0xf7fc2cdc in do_relocs (dso=dso@entry=0xf7ffca20 <app>, rel=0x56555914, rel_size=2104, stride=2)
at ldso/dynlink.c:470
470 ldso/dynlink.c: No such file or directory.
Alpine's current package is 4.0.3 and was built using three patches (
https://git.alpinelinux.org/aports/tree ... e?h=master). During this build of 6.0, I'm using an updated no-pie.patch and winhlp32-flex.patch, including an extra
for loop during
make that has helped me successfully compile 5.0 on this same computer. Other than the version change, my APKBUILD file is similar to the file for 4.0.3 in the git linked above:
Code: Select all
for k in $(grep -v ^# <<'EOF'
server
loader
tools/widl
tools/winebuild
tools/winegcc
tools/wmc
tools/wrc
tools/sfnt2fon
EOF
); do
sed -e '/^LDFLAGS =/c\LDFLAGS = -no-pie' -i ${k}/Makefile;
done
For 6.0, I've tried compiling with and without the
for; with and without the patch files; with and without both the
for and patches; and attempting all those scenarios with Wine 6.3 just to see if it made a difference. The result is always the same segfault as printed above.
What can I do additionally to resolve the issue?