Re: poudriere's -x (build_native_tools) vs. use of "-m null" : how to enable it

2017-08-29 Thread Mark Millard
On 2017-Aug-29, at 3:08 PM, Mark Millard  wrote:


> On 2017-Aug-29, at 2:38 PM, Bryan Drewery  wrote:
> 
>> On 8/29/2017 2:35 PM, Mark Millard wrote:
>>> In a command command such as:
>>> 
>>> poudriere jail -c -j zrFBSDx64SLppc64 -a powerpc.powerpc64 -x -m null -M 
>>> /usr/obj/DESTDIRs/clang-powerpc64-altbinutils-installworld-dist-from-src -S 
>>> /usr/src/ -v 11.1-STABLE
>>> 
>>> the -x is silently ignored. I added the "build_native_xtools" into
>>> the /usr/local/share/poudriere/jail.sh code to have it contain:
>> 
>> I consider '-m null' to be a read-only operation on the provided path.
>> Poudriere did not build it, so I would rather not force a build
>> procedure on it for native-xtools either.
>> 
>> On the otherhand, if we store the native-xtools files outside of the
>> jail path then it will not be a problem.
> 
> Okay. I was just looking for a way to deal with local
> experimental patches in the system and/or ports rather
> than building from official materials, checking how
> things seem to go for builds.
> 
> I ended up with the following nxb* directories in
> /usr/obj/. . . for my context:
> 
> /usr/obj/powerpc.powerpc/nxb
> /usr/obj/arm.armv6/nxb
> /usr/obj/arm64.aarch64/nxb
> /usr/obj/DESTDIRs/clang-armv7-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/clang-cortexA53-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/gcc421-powerpc-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/clang-powerpc-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/clang-powerpc64-altbinutils-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/clang-cortexA57-installworld-dist-from-src/nxb-bin
> /usr/obj/powerpc.powerpc64/nxb

I should also have compared and contrasted with my
buildworld/buildkernel directory trees:

# ls -dlT /usr/obj/*/*.*
drwxr-xr-x  3 root  wheel  3 Aug 13 15:16:17 2017 
/usr/obj/amd64_clang/amd64.amd64
drwxr-xr-x  3 root  wheel  3 Aug 29 01:22:29 2017 /usr/obj/armv7_clang/arm.armv6
drwxr-xr-x  3 root  wheel  3 Aug 29 02:12:29 2017 
/usr/obj/cortexA53_clang/arm64.aarch64
drwxr-xr-x  3 root  wheel  3 Aug 29 02:45:54 2017 
/usr/obj/cortexA57_clang/arm64.aarch64
drwxr-xr-x  3 root  wheel  3 Aug 28 16:34:43 2017 
/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64
drwxr-xr-x  3 root  wheel  3 Aug 29 01:48:58 2017 
/usr/obj/powerpcvtsc_clang/powerpc.powerpc
drwxr-xr-x  3 root  wheel  3 Aug 29 02:38:08 2017 
/usr/obj/powerpcvtsc_clang_gcc421/powerpc.powerpc

(For that last clang built a gcc421 bootstrap compiler.)

These were built with the likes of:

# more 
~/sys_build_scripts.amd64-host/make_armv7_nodebug_clang_bootstrap-amd64-host.sh 
kldload -n filemon && \
script 
~/sys_typescripts/typescript_make_armv7_nodebug_clang_bootstrap-amd64-host-$(date
 +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" 
SRC_ENV_CONF="/root/src.configs/src.conf.armv7-clang-bootstrap.amd64-host" \
WITH_META_MODE=yes \
MAKEOBJDIRPREFIX="/usr/obj/armv7_clang" \
make $*


So the "nxb" directories were outside my build trees.

The DESTDIRs listed that had "nxb-bin" directories were
just for the poudriere use in the first place. For other
uses I'd have created separate install trees with their
own names.

> However, for example, I did the powerpc ones in
> the order (as an experiment that I did not expect
> to "work"):
> 
> /usr/obj/DESTDIRs/clang-powerpc-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/gcc421-powerpc-installworld-dist-from-src/nxb-bin
> 
> and the second reused the material from the first -x . In other
> words: the native compiler ended up being based on clang for the
> later gcc421 based jail attempt.
> 
> A similar point goes for the pair (in order):
> 
> /usr/obj/DESTDIRs/clang-cortexA53-installworld-dist-from-src/nxb-bin
> /usr/obj/DESTDIRs/clang-cortexA57-installworld-dist-from-src/nxb-bin
> 
> in that the A57 one bound to the prior A53 -x content.
> 
> I'm not claiming a problem, just something to know to
> expect to avoid. (My 32-bit powerpc activity has lead
> to building things based on both compilers because of
> the kernel build only working for gcc421-based builds.
> Such odd combinations are likely rare.)
> 
>>> 
>>>   null)
>>>   JAILFS=none
>>>   FCT=build_native_xtools
>>>   ;;
>>> 
>>> in order to avoid this.
>>> 
>>> A similar "jail -c" for "-j zrFBSDx64SLarmv7 -a arm.armv6" (and
>>> -M /usr/obj/DESTDIRs/clang-armv7-installworld-dist-from-src 
>>> in my context) and the later bulk build for it seems to be
>>> working fine for building lang/gcc7 (as a test). So far:
> . . .


===
Mark Millard
markmi at dsl-only.net

___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/

Re: poudriere's -x (build_native_tools) vs. use of "-m null" : how to enable it

2017-08-29 Thread Mark Millard

On 2017-Aug-29, at 2:38 PM, Bryan Drewery  wrote:

> On 8/29/2017 2:35 PM, Mark Millard wrote:
>> In a command command such as:
>> 
>> poudriere jail -c -j zrFBSDx64SLppc64 -a powerpc.powerpc64 -x -m null -M 
>> /usr/obj/DESTDIRs/clang-powerpc64-altbinutils-installworld-dist-from-src -S 
>> /usr/src/ -v 11.1-STABLE
>> 
>> the -x is silently ignored. I added the "build_native_xtools" into
>> the /usr/local/share/poudriere/jail.sh code to have it contain:
> 
> I consider '-m null' to be a read-only operation on the provided path.
> Poudriere did not build it, so I would rather not force a build
> procedure on it for native-xtools either.
> 
> On the otherhand, if we store the native-xtools files outside of the
> jail path then it will not be a problem.

Okay. I was just looking for a way to deal with local
experimental patches in the system and/or ports rather
than building from official materials, checking how
things seem to go for builds.

I ended up with the following nxb* directories in
/usr/obj/. . . for my context:

/usr/obj/powerpc.powerpc/nxb
/usr/obj/arm.armv6/nxb
/usr/obj/arm64.aarch64/nxb
/usr/obj/DESTDIRs/clang-armv7-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/clang-cortexA53-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/gcc421-powerpc-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/clang-powerpc-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/clang-powerpc64-altbinutils-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/clang-cortexA57-installworld-dist-from-src/nxb-bin
/usr/obj/powerpc.powerpc64/nxb

However, for example, I did the powerpc ones in
the order (as an experiment that I did not expect
to "work"):

/usr/obj/DESTDIRs/clang-powerpc-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/gcc421-powerpc-installworld-dist-from-src/nxb-bin

and the second reused the material from the first -x . In other
words: the native compiler ended up being based on clang for the
later gcc421 based jail attempt.

A similar point goes for the pair (in order):

/usr/obj/DESTDIRs/clang-cortexA53-installworld-dist-from-src/nxb-bin
/usr/obj/DESTDIRs/clang-cortexA57-installworld-dist-from-src/nxb-bin

in that the A57 one bound to the prior A53 -x content.

I'm not claiming a problem, just something to know to
expect to avoid. (My 32-bit powerpc activity has lead
to building things based on both compilers because of
the kernel build only working for gcc421-based builds.
Such odd combinations are likely rare.)

>> 
>>null)
>>JAILFS=none
>>FCT=build_native_xtools
>>;;
>> 
>> in order to avoid this.
>> 
>> A similar "jail -c" for "-j zrFBSDx64SLarmv7 -a arm.armv6" (and
>> -M /usr/obj/DESTDIRs/clang-armv7-installworld-dist-from-src 
>> in my context) and the later bulk build for it seems to be
>> working fine for building lang/gcc7 (as a test). So far:
. . .


===
Mark Millard
markmi at dsl-only.net

___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


Re: poudriere's -x (build_native_tools) vs. use of "-m null" : how to enable it

2017-08-29 Thread Bryan Drewery
On 8/29/2017 2:35 PM, Mark Millard wrote:
> In a command command such as:
> 
> poudriere jail -c -j zrFBSDx64SLppc64 -a powerpc.powerpc64 -x -m null -M 
> /usr/obj/DESTDIRs/clang-powerpc64-altbinutils-installworld-dist-from-src -S 
> /usr/src/ -v 11.1-STABLE
> 
> the -x is silently ignored. I added the "build_native_xtools" into
> the /usr/local/share/poudriere/jail.sh code to have it contain:

I consider '-m null' to be a read-only operation on the provided path.
Poudriere did not build it, so I would rather not force a build
procedure on it for native-xtools either.

On the otherhand, if we store the native-xtools files outside of the
jail path then it will not be a problem.

> 
> null)
> JAILFS=none
> FCT=build_native_xtools
> ;;
> 
> in order to avoid this.
> 
> A similar "jail -c" for "-j zrFBSDx64SLarmv7 -a arm.armv6" (and
> -M /usr/obj/DESTDIRs/clang-armv7-installworld-dist-from-src 
> in my context) and the later bulk build for it seems to be
> working fine for building lang/gcc7 (as a test). So far:
> 
> [00:00:16] [01] [00:00:00] Building ports-mgmt/pkg | pkg-1.10.1
> [00:01:02] [01] [00:00:46] Finished ports-mgmt/pkg | pkg-1.10.1: Success
> [00:01:03] [01] [00:00:00] Building print/indexinfo | indexinfo-0.2.6
> [00:01:03] [02] [00:00:00] Building lang/perl5.24 | perl5-5.24.2
> [00:01:06] [01] [00:00:03] Finished print/indexinfo | indexinfo-0.2.6: Success
> [00:01:06] [01] [00:00:00] Building devel/gettext-runtime | 
> gettext-runtime-0.19.8.1_1
> [00:01:35] [01] [00:00:29] Finished devel/gettext-runtime | 
> gettext-runtime-0.19.8.1_1: Success
> [00:01:35] [01] [00:00:00] Building devel/gettext-tools | 
> gettext-tools-0.19.8.1
> ^C[00:03:18] Error: Signal SIGINT caught, cleaning up and exiting
> [00:03:18] Cleaning up
> 
> [00:00:10] [01] [00:00:00] Building devel/gettext-tools | 
> gettext-tools-0.19.8.1
> [00:00:10] [02] [00:00:00] Building lang/perl5.24 | perl5-5.24.2
> [00:02:12] [01] [00:02:02] Finished devel/gettext-tools | 
> gettext-tools-0.19.8.1: Success
> [00:02:13] [01] [00:00:00] Building devel/gmake | gmake-4.2.1_1
> [00:02:54] [01] [00:00:41] Finished devel/gmake | gmake-4.2.1_1: Success
> [00:12:44] [02] [00:12:34] Finished lang/perl5.24 | perl5-5.24.2: Success
> [00:12:44] [01] [00:00:00] Building devel/p5-Locale-gettext | 
> p5-Locale-gettext-1.07
> [00:13:13] [01] [00:00:29] Finished devel/p5-Locale-gettext | 
> p5-Locale-gettext-1.07: Success
> [00:13:14] [01] [00:00:00] Building misc/help2man | help2man-1.47.4
> [00:13:37] [01] [00:00:23] Finished misc/help2man | help2man-1.47.4: Success
> [00:13:37] [01] [00:00:00] Building print/texinfo | texinfo-6.4_1,1
> ^C[00:14:43] Error: Signal SIGINT caught, cleaning up and exiting
> [00:14:43] Cleaning up
> 
> [00:00:17] [01] [00:00:00] Building print/texinfo | texinfo-6.4_1,1
> [00:03:03] [01] [00:02:46] Finished print/texinfo | texinfo-6.4_1,1: Success
> [00:03:03] [01] [00:00:00] Building math/gmp | gmp-6.1.2
> [00:03:03] [02] [00:00:00] Building devel/m4 | m4-1.4.18,1
> [00:04:02] [02] [00:00:59] Finished devel/m4 | m4-1.4.18,1: Success
> [00:04:03] [02] [00:00:00] Building devel/bison | bison-3.0.4,1
> [00:04:28] [01] [00:01:25] Finished math/gmp | gmp-6.1.2: Success
> [00:04:28] [01] [00:00:00] Building math/mpfr | mpfr-3.1.5_1
> [00:04:45] [02] [00:00:42] Finished devel/bison | bison-3.0.4,1: Success
> [00:04:48] [01] [00:00:20] Finished math/mpfr | mpfr-3.1.5_1: Success
> [00:04:48] [01] [00:00:00] Building devel/binutils | binutils-2.28,1
> [00:04:48] [02] [00:00:00] Building math/mpc | mpc-1.0.3
> [00:05:00] [02] [00:00:12] Finished math/mpc | mpc-1.0.3: Success
> [00:20:29] [01] [00:15:41] Finished devel/binutils | binutils-2.28,1: Success
> [00:20:30] [01] [00:00:00] Building lang/gcc7 | gcc7-7.2.0
> 
> So I expect that the change is appropriate.
> 
> 
> [Unfortunately qemu-ppc64-static seems to not work:
> the qemu-ppc64-static process just sits and eats CPU time
> with increasing SIZE when qemu-ppc64-static is put to use
> via poudriere. This blocks progress.]
> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 


-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature