pkgsrc-Users archive

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

Re: wine, wine-devel build failure on i386-current



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



Home | Main Index | Thread Index | Old Index