Date: Sun, 8 Mar 2015 23:44:41 -0700 From: Mark Millard <markmi@dsl-only.net> To: freebsd-ports@freebsd.org, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, Nathan Whitehorn <nwhitehorn@freebsd.org> Subject: Re: powerpc64 context, sysutils/polkit fails to build: broken pipe during /usr/local/lib/gobject-introspection/giscanner/sourcescanner.py Message-ID: <C68C487B-2363-43D3-B5AD-B5894DE7F6DB@dsl-only.net> In-Reply-To: <C27BB0D9-665D-4D4E-96A4-096A82D7EA54@dsl-only.net> References: <C27BB0D9-665D-4D4E-96A4-096A82D7EA54@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Nathan W. wrote: > This builds without issue for me, both on a G5 system and on a POWER8. > -Nathan I decided to "pkg delete '*'", check /usr/local/... and /var/db/pkg/..., = and start a rebuild of all my ports to see what happens. The sysutils/polkit problem was gone. Other notes: I still had to configure graphics/png to not run its tests that make use = of cmake'c ctest. (This is just for powerpc64 builds: ctest works fine = for my powerpc builds.) powerpc64's ctest builds but crashes when run. graphics/libGL/bsd.mesalib.mk needed the powerpc64 patch that I included = in my context notes. The result built and using a PowerMac G5 with video hardware that was = historically supported and the same xorg.conf from long ago for that = same context basically worked for startxfce4. I could control-option Fn to get to a console but by the time I tried to = get back after that Xorg had died/quit. This was true for both vt and = sc. My X11 related powerpc (non-64) builds were stopped by... "CXXLD mesa_dri_drivers.la" gets "c++: Internal error: Segmentation = fault (program ld)" =3D=3D=3D Mark Millard markmi at dsl-only.net On 2015-Mar-7, at 10:16 PM, Mark Millard <markmi at dsl-only.net> wrote: powerpc64 context (more details are listed later): $ freebsd-version -ku; uname -a 10.1-STABLE 10.1-STABLE FreeBSD FBSDG5S0 10.1-STABLE FreeBSD 10.1-STABLE #0 r279507M: Fri Mar 6 = 23:08:59 PST 2015 root@FBSDG5S0:/usr/obj/usr/src/sys/GENERIC64vtsc = powerpc Ports Revision 380683 via svnlite update. I've been using portmaster. The problem (which I've not figured out yet)... x11/xorg, x11-drivers/xf86-video-ati-ums, x11-drivers/xf86-video-scfb, = and x11-wm/xfce4 are all blocked from building by sysutils/polkit = failing to build because of a broken pipe with a subprocess... ... gmake all-am gmake[6]: Entering directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105/src/polkit= ' CC libpolkit_gobject_1_la-polkitenumtypes.lo CC libpolkit_gobject_1_la-polkitactiondescription.lo CC libpolkit_gobject_1_la-polkitauthorityfeatures.lo CC libpolkit_gobject_1_la-polkitdetails.lo CC libpolkit_gobject_1_la-polkitauthority.lo CC libpolkit_gobject_1_la-polkiterror.lo CC libpolkit_gobject_1_la-polkitsubject.lo CC libpolkit_gobject_1_la-polkitunixprocess.lo CC libpolkit_gobject_1_la-polkitsystembusname.lo CC libpolkit_gobject_1_la-polkitidentity.lo CC libpolkit_gobject_1_la-polkitunixuser.lo CC libpolkit_gobject_1_la-polkitunixgroup.lo CC libpolkit_gobject_1_la-polkitunixnetgroup.lo CC libpolkit_gobject_1_la-polkitauthorizationresult.lo CC libpolkit_gobject_1_la-polkitcheckauthorizationflags.lo CC libpolkit_gobject_1_la-polkitimplicitauthorization.lo CC libpolkit_gobject_1_la-polkittemporaryauthorization.lo CC libpolkit_gobject_1_la-polkitpermission.lo CC libpolkit_gobject_1_la-polkitunixsession.lo CCLD libpolkit-gobject-1.la GISCAN Polkit-1.0.gir Traceback (most recent call last): File "/usr/local/bin/g-ir-scanner", line 55, in <module> sys.exit(scanner_main(sys.argv)) File "/usr/local/lib/gobject-introspection/giscanner/scannermain.py", = line 517, in scanner_main ss =3D create_source_scanner(options, args) File "/usr/local/lib/gobject-introspection/giscanner/scannermain.py", = line 430, in create_source_scanner ss.parse_files(filenames) File "/usr/local/lib/gobject-introspection/giscanner/sourcescanner.py", = line 256, in parse_files self._parse(headers) File "/usr/local/lib/gobject-introspection/giscanner/sourcescanner.py", = line 302, in _parse proc.stdin.write('#ifndef %s\n' % (define, )) IOError: [Errno 32] Broken pipe /usr/local/share/gobject-introspection-1.0/Makefile.introspection:153: = recipe for target 'Polkit-1.0.gir' failed gmake[6]: *** [Polkit-1.0.gir] Error 1 gmake[6]: Leaving directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105/src/polkit= ' Makefile:444: recipe for target 'all' failed gmake[5]: *** [all] Error 2 gmake[5]: Leaving directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105/src/polkit= ' Makefile:326: recipe for target 'all-recursive' failed gmake[4]: *** [all-recursive] Error 1 gmake[4]: Leaving directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105/src' Makefile:374: recipe for target 'all-recursive' failed gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105' Makefile:305: recipe for target 'all' failed gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory = '/usr/obj/portswork/usr/ports/sysutils/polkit/work/polkit-0.105' *** Error code 1 Stop. make[1]: stopped in /usr/ports/sysutils/polkit *** Error code 1 Stop. make: stopped in /usr/ports/sysutils/polkit =3D=3D=3D>>> make build failed for sysutils/polkit =3D=3D=3D>>> Aborting update =3D=3D=3D>>> You can restart from the point of failure with this command = line: portmaster <flags> sysutils/polkit=20 The relevant = /usr/local/lib/gobject-introspection/giscanner/sourcescanner.py code = being... def _parse(self, filenames): if not filenames: return defines =3D ['__GI_SCANNER__'] undefs =3D [] cpp_args =3D os.environ.get('CC', 'cc').split() # support = CC=3D"ccache gcc" if 'cl' in cpp_args: # The Microsoft compiler/preprocessor (cl) does not accept # source input from stdin (the '-' flag), so we need # some help from gcc from MinGW/Cygwin or so. # Note that the generated dumper program is # still built and linked by Visual C++. cpp_args =3D ['gcc'] cpp_args +=3D os.environ.get('CPPFLAGS', '').split() cpp_args +=3D os.environ.get('CFLAGS', '').split() cpp_args +=3D ['-E', '-C', '-I.', '-'] cpp_args +=3D self._cpp_options proc =3D subprocess.Popen(cpp_args, stdin=3Dsubprocess.PIPE, stdout=3Dsubprocess.PIPE) for define in defines: proc.stdin.write('#ifndef %s\n' % (define, )) proc.stdin.write('# define %s\n' % (define, )) proc.stdin.write('#endif\n') ... For my context the overall environment has (but ports might force other = ports as alternatives to): # more /etc/make.conf #CPP=3Dclang-cpp #CC=3Dclang #CXX=3Dclang++ WRKDIRPREFIX=3D/usr/obj/portswork WITH_DEBUG=3D MALLOC_PRODUCTION=3D # more /etc/src.conf #CPP=3Dclang-cpp #CC=3Dclang #CXX=3Dclang++ #CFLAGS+=3D-DELF_VERBOSE #WITH_DEBUG_FILES=3D #WITHOUT_CLANG # which cc /usr/bin/cc # cc --version cc (GCC) 4.2.1 20070831 patched [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is = NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR = PURPOSE. # which clang /usr/bin/clang # clang --version FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 Target: powerpc64-unknown-freebsd10.1 Thread model: posix Other context details: $ cd /usr/ports $ svnlite info Path: . Working Copy Root Path: /usr/ports URL: https://svn0.us-west.freebsd.org/ports/head Relative URL: ^/head Repository Root: https://svn0.us-west.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 380683 Node Kind: directory Schedule: normal Last Changed Author: demon Last Changed Rev: 380683 Last Changed Date: 2015-03-07 03:31:11 -0800 (Sat, 07 Mar 2015) $ svnlite st --no-ignore ? .snap I distfiles M graphics/libGL/bsd.mesalib.mk I packages ? restoresymtable $ svnlite diff graphics/libGL/bsd.mesalib.mk Index: graphics/libGL/bsd.mesalib.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- graphics/libGL/bsd.mesalib.mk (revision 380683) +++ graphics/libGL/bsd.mesalib.mk (working copy) @@ -136,6 +136,10 @@ CONFIGURE_ARGS+=3D--enable-vdpau .endif +.if ${ARCH} =3D=3D powerpc64 +CFLAGS+=3D -mminimal-toc +.endif + post-patch: @${REINPLACE_CMD} -e 's|-ffast-math|${FAST_MATH}|' -e = 's|x86_64|amd64|' \ ${WRKSRC}/configure $ cd /usr/src $ svnlite info Path: . Working Copy Root Path: /usr/src URL: https://svn0.us-west.freebsd.org/base/stable/10 Relative URL: ^/stable/10 Repository Root: https://svn0.us-west.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 279507 Node Kind: directory Schedule: normal Last Changed Author: ngie Last Changed Rev: 279507 Last Changed Date: 2015-03-01 14:12:24 -0800 (Sun, 01 Mar 2015) $ svnlite st --no-ignore ? .snap ? restoresymtable M sys/ddb/db_main.c M sys/ddb/db_script.c I sys/powerpc/conf/GENERIC64vtsc I sys/powerpc/conf/GENERICvtsc M sys/powerpc/ofw/ofw_machdep.c M sys/powerpc/ofw/ofwcall64.S M sys/powerpc/powerpc/dump_machdep.c sys/powerpc/ofw/ofw_machdep.c has a PowerMac G5 specific change to avoid = intermittent boot problems. sys/ddb/... and sys/powerpc/ofw/ofwcall64.S are just to help me get = evidence if I do end up with another early-boot failure. DDB and GDB are = listed in sys/powerpc/conf/GENERIC64vtsc for the same reason. sys/powerpc/powerpc/dump_machdep.c is from me forcing the DMA transfer = size for dumps to be small enough not to be rejected as too large of a = DMA request size. sys/powerpc/conf/GENERIC64vtsc turns off ps3 in order to turn on both vt = and sc. It includes the standard GENERIC64. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C68C487B-2363-43D3-B5AD-B5894DE7F6DB>