Date: Fri, 26 Oct 2018 20:42:27 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freeBSD <freebsd-hackers@freebsd.org> Subject: head -r339076 amd64 -> armv7 port cross build attempt with native tools involved: hangs between a cc (wait) and its child ld (uwait) Message-ID: <33C58480-1E76-4748-83B4-CB39FAD8584A@yahoo.com>
next in thread | raw e-mail | index | archive | help
In trying to amd64 -> armv7 cross build ports via poudriere-devel use with native cross tools involved (and UFS, not ZFS), I'm getting about 117 ports that built and then one that ends up stuck in wait/uwait . ^C to poudriere and restarting it repeats the stuck behavior at the same point (a cc and its ld), for example: [00:02:51] [01] [00:00:00] Building print/texinfo | texinfo-6.5,1 ps output extraction (blank lines added for each of scanning): UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND . . . 0 42312 32181 0 52 0 12904 3904 select I 1 0:00.02 sh: = poudriere[FBSDFSSDjailArmV7-default][01]: build_pkg (texinfo-6.5,1) (sh) 0 42974 42312 0 52 0 12904 3900 wait I 1 0:00.00 sh: = poudriere[FBSDFSSDjailArmV7-default][01]: build_pkg (texinfo-6.5,1) (sh) 0 42975 42974 0 52 0 10408 1840 wait IJ 1 0:00.01 = /usr/bin/make -C /usr/ports/print/texinfo configure 0 43077 42975 0 52 0 10252 1792 wait IJ 1 0:00.00 /bin/sh = -e -c (cd /wrkdirs/usr/ports/print/texinfo/work/texinfo-6.5 && = _LATE_CONFIGURE_ARGS=3D"" ; if [ -z "" ] && ./configure --help=20 0 43375 43077 0 52 0 11164 2392 wait IJ 1 0:00.19 /bin/sh = ./configure --enable-nls --prefix=3D/usr/local --localstatedir=3D/var = --mandir=3D/usr/local/man --disable-silent-rules --infodir=3D/usr 0 46850 43375 0 52 0 11164 2388 wait IJ 1 0:00.00 /bin/sh = ./configure --enable-nls --prefix=3D/usr/local --localstatedir=3D/var = --mandir=3D/usr/local/man --disable-silent-rules --infodir=3D/usr 0 46857 46850 0 52 0 11080 2060 wait IJ 1 0:00.04 /bin/sh = ./configure --disable-option-checking --prefix=3D/usr/local --enable-nls = --localstatedir=3D/var --mandir=3D/usr/local/man --disable-s 0 47796 46857 0 52 0 113840 26184 wait IJ 1 0:00.15 = /usr/local/bin/qemu-arm-static /usr/bin/cc -o conftest -O2 -pipe = -mcpu=3Dcortex-a7 -DLIBICONV_PLUG -g -fno-strict-aliasing -mcpu=3Dcortex-a= 0 47801 47796 0 52 0 285300 39672 uwait IJ 1 0:00.22 = qemu-arm-static -L /usr/gnemul/qemu-arm /usr/bin/ld --eh-frame-hdr = -dynamic-linker /libexec/ld-elf.so.1 --hash-style=3Dboth --enable-new- So the "/usr/local/bin/qemu-arm-static /usr/bin/cc . . ." creates the child "qemu-arm-static -L /usr/gnemul/qemu-arm /usr/bin/ld . = . ." process and the two get hung up. Letting it sit for long periods does not let it progress. The full commands are (note the "-pipe" vs. the = "/tmp/conftest-6c0832.o"): /usr/local/bin/qemu-arm-static /usr/bin/cc -o conftest -O2 -pipe = -mcpu=3Dcortex-a7 -DLIBICONV_PLUG -g -fno-strict-aliasing = -mcpu=3Dcortex-a7 -DLIBICONV_PLUG conftest.c and: qemu-arm-static -L /usr/gnemul/qemu-arm /usr/bin/ld --eh-frame-hdr = -dynamic-linker /libexec/ld-elf.so.1 --hash-style=3Dboth = --enable-new-dtags -o conftest /usr/lib/crt1.o /usr/lib/crti.o = /usr/lib/crtbegin.o -L/usr/lib /tmp/conftest-6c0832.o -lgcc --as-needed = -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed = /usr/lib/crtend.o /usr/lib/crtn.o For reference for /tmp/conftest-6c0832.o : # ls -lTd = /usr/local/poudriere/data/.m/FBSDFSSDjailArmV7-default/01/tmp/conftest-6c0= 832.o -rw-r--r-- 1 root wheel 4204 Oct 26 17:33:13 2018 = /usr/local/poudriere/data/.m/FBSDFSSDjailArmV7-default/01/tmp/conftest-6c0= 832.o (I'm not using tmpfs or the like at all.) The context is based on head -r339076 an is on a Ryzen Threadripper 1950X system, natively booted (not Hyper-V). (I've not tried under Hyper-V yet.) Note: I have built ports similarly before --but the last time was back in March-May sometime. # poudriere jail -jFBSDFSSDjailArmV7 -i Jail name: FBSDFSSDjailArmV7 Jail version: 12.0-ALPHA8 Jail arch: arm.armv7 Jail method: null Jail mount: /usr/obj/DESTDIRs/clang-armv7-installworld-poud Jail fs: =20 Jail updated: 2018-10-26 16:42:55 Tree name: default Tree method: null Status: parallel_build: Building started: 2018-10-26 17:29:36 Elapsed time: 02:47:50 Packages built: 0 Packages failed: 0 Packages ignored: 0 Packages skipped: 0 Packages total: 84 Packages left: 84 # poudriere ports -l PORTSTREE METHOD TIMESTAMP PATH default null 2017-08-14 21:07:05 /usr/ports I have yet to think of a way to look into this or to work around it. But my long running build on an Orange Pi Plus 2nd Edition has finished so I'll update from that for now. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33C58480-1E76-4748-83B4-CB39FAD8584A>