On 27.03.2017 16:45, John D. Baker wrote: > Building "emulators/wine" or "emulators/wine-devel" on i386-current: > > $ uname -a > NetBSD avaya.technoskunk.fur 7.99.66 NetBSD 7.99.66 (RACKMOUNT) #46: Sun Mar 19 09:41:06 CDT 2017 sysop%x3650.technoskunk.fur@localhost:/r1/build/current/obj/i386/sys/arch/i386/compile/RACKMOUNT i386 > > fails as follows ("emulators/wine" shown, "wine-devel" is similar): > > [...] > -m32 -O2 -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/ncurses -o wrc dumpres.o genres.o newstruc.o po.o readres.o translation.o utils.o wrc.o writeres.o parser.tab.o parser.yy.o ../../libs/wpp/libwpp.a -L../../libs/wine -lwine ../../libs/port/libwine_port.a -L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -Wl,--rpath,\$ORIGIN/../../libs/wine > parser.yy.o: In function `parser_lex': > parser.yy.c:(.text+0x252f): undefined reference to `yywrap' > Makefile:327: recipe for target 'wrc' failed > gmake[1]: *** [wrc] Error 1 > gmake[1]: Leaving directory '/d0/build/pkgsrc/emulators/wine/work/wine-1.6.2/tools/wrc' > Makefile:19758: recipe for target 'tools/wrc' failed > gmake: *** [tools/wrc] Error 2 > [...] > gcc -m32 -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wwrite-strings -Wpointer-arith -Wlogical-op -fno-omit-frame-pointer -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/ncurses -O2 -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/ncurses -o ptrace.o ptrace.c > ptrace.c: In function 'get_thread_context': > ptrace.c:671:46: error: 'struct dbreg' has no member named 'dr0' > context->debug.i386_regs.dr0 = dbregs.dr0; > ^ > ptrace.c:672:46: error: 'struct dbreg' has no member named 'dr1' > context->debug.i386_regs.dr1 = dbregs.dr1; > ^ > ptrace.c:673:46: error: 'struct dbreg' has no member named 'dr2' > context->debug.i386_regs.dr2 = dbregs.dr2; > ^ > ptrace.c:674:46: error: 'struct dbreg' has no member named 'dr3' > context->debug.i386_regs.dr3 = dbregs.dr3; > ^ > ptrace.c:675:46: error: 'struct dbreg' has no member named 'dr6' > context->debug.i386_regs.dr6 = dbregs.dr6; > ^ > ptrace.c:676:46: error: 'struct dbreg' has no member named 'dr7' > context->debug.i386_regs.dr7 = dbregs.dr7; > ^ > ptrace.c: In function 'set_thread_context': > ptrace.c:705:11: error: 'struct dbreg' has no member named 'dr0' > dbregs.dr0 = context->debug.i386_regs.dr0; > ^ > ptrace.c:706:11: error: 'struct dbreg' has no member named 'dr1' > dbregs.dr1 = context->debug.i386_regs.dr1; > ^ > ptrace.c:707:11: error: 'struct dbreg' has no member named 'dr2' > dbregs.dr2 = context->debug.i386_regs.dr2; > ^ > ptrace.c:708:11: error: 'struct dbreg' has no member named 'dr3' > dbregs.dr3 = context->debug.i386_regs.dr3; > ^ > ptrace.c:709:11: error: 'struct dbreg' has no member named 'dr4' > dbregs.dr4 = 0; > ^ > ptrace.c:710:11: error: 'struct dbreg' has no member named 'dr5' > dbregs.dr5 = 0; > ^ > ptrace.c:711:11: error: 'struct dbreg' has no member named 'dr6' > dbregs.dr6 = context->debug.i386_regs.dr6; > ^ > ptrace.c:712:11: error: 'struct dbreg' has no member named 'dr7' > dbregs.dr7 = context->debug.i386_regs.dr7; > ^ > Makefile:201: recipe for target 'ptrace.o' failed > gmake[1]: *** [ptrace.o] Error 1 > gmake[1]: *** Waiting for unfinished jobs.... > > > I don't know if the first part (yywrap.yy.o) is related to the second > part. I seem to recall some of the ptrace work changing things for > the benefit of amd64 possibly at the expense of i386. > > FWIW, amd64-current builds "wine-devel" just fine. I seem to recall > you can't actually run 'wine' on amd64 yet. > > As such, I'm not sure if this is a pkgsrc issue or a kern issue > (or other category?). > > Thanks. > Regarding ptrace(2) please try to add in this line: https://github.com/wine-mirror/wine/blob/e2ebc0dc23f0fa04ea79cefc9e3d2faf189a6bf7/server/ptrace.c#L654 This code: #ifndef DBREG_DRX #define DBREG_DRX(d,x) ((d)->dr[(x)]) #endif Something similar has been done in devel/gdb: https://github.com/jsonn/pkgsrc/commit/83bca6bc22ced89de921f10b767bc8de46fe947d
Attachment:
signature.asc
Description: OpenPGP digital signature