help-make
[Top][All Lists]
Advanced

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

Re: plea for help in solving parallel make issue for OSv project's AArch


From: Claudio Fontana
Subject: Re: plea for help in solving parallel make issue for OSv project's AArch64 port
Date: Thu, 27 Nov 2014 14:38:03 +0100

Forgot to mention it's GNU Make 3.82 on Slackware 14.1 for X86_64

On 27 November 2014 at 13:28, Claudio Fontana <address@hidden> wrote:
> Hello,
>
> I am working on the AArch64 port of the OSv operating system:
>
> http://osv.io/
>
> https://github.com/cloudius-systems/osv
>
> and I have encountered an unfamiliar way to structure the build
> system, which uses make at least as the entry point.
> I am plagued with parallel make build issues.
>
> The way I perceive it, while an explicit dependency exists between two
> targets (libzfs.so and zpool.so or zfs.so), the dependency is always
> pruned,
> and thus the parallel build often causes an error, where zfs.so build
> is attempted before libzfs.so is available, or similarily sometimes
> zpool.so build is attempted before libzfs.so is available.
>
> You can see those dependencies in files:
>
>     bsd/cddl/contrib/opensolaris/cmd/zpool/build.mk
>     bsd/cddl/contrib/opensolaris/cmd/zfs/build.mk
>
> which are imported from top level
>
>     build.mk
>
> From the github you can get the build system relevant pieces,
>
> there is Makefile and build.mk which are the main things,
> but then there are python scripts used for both building and runtime
> in scripts/.
>
> As part of the build triggered by make -j8 in the top source directory,
> python scripts in scripts/ are executed as part of a recipe, and they
> also execute "make" on their own using the python runtime primitives
> to create subprocesses, while the main parallel make is ongoing.
>
> The output of the parallel cross-compilation attempt:
>
> make -d -j8 ARCH=aarch64
>
> Is available as file "make_debug.txt" in the top source directory of
> the "pci_make_debug" branch you can see here:
>
> https://github.com/hw-claudio/osv_aarch64/tree/pci_make_debug
>
> https://github.com/hw-claudio/osv_aarch64/blob/pci_make_debug/make_debug.txt?raw=true
>
> Thank you for any hint or advice you can share,
> let me know if there is any additional information you need.
>
> Claudio Fontana
>
> PS, the environment does not contain anything fancy, maybe of interest:
>
> HZ=100
> CROSS_PREFIX=aarch64-linux-gnu-
> SHELL=/bin/bash
> TERM=xterm
> TMPDIR=/home/claudio/tmp
> ANT_HOME=/usr/local/apache-ant-1.9.3
> GIT_EDITOR=emacs -nw
> XTERM_SHELL=/bin/bash
> GIT_AUTHOR_NAME=Claudio Fontana
> GIT_COMMITTER_NAME=Claudio Fontana
> T1LIB_CONFIG=/usr/share/t1lib/t1lib.config
> XDG_CONFIG_DIRS=/etc/xdg:/etc/kde/xdg:/etc/kde/xdg
> PATH=/home/claudio/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/kde4/libexec:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/qt/bin:/usr/share/texmf/bin:/home/claudio/iptrc-platform/bin:/usr/local/apache-ant-1.9.3/bin:/usr/local/apache-maven-3.1.1/bin:/home/claudio/arm/gcc-linaro-aarch64/bin
> address@hidden
> LC_COLLATE=C
> INPUTRC=/etc/inputrc
> PWD=/home/claudio/git/osv
> JAVA_HOME=/usr/lib64/java
> EDITOR=emacs -nw
> LANG=en_US.utf8
> QT4DIR=/usr/lib64/qt
> KDEDIRS=/usr
> PS1=$
> PS2=>
> XTERM_LOCALE=en_US.utf8
> XTERM_VERSION=X.Org 7.6.0(297)
> SHLVL=4
> HOME=/home/claudio
> LS_OPTIONS=-F -b -T 0 --color=auto
> LESS=-M
> PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig
> DISPLAY=:0.0
> address@hidden
> G_BROKEN_FILENAMES=1
> HISTFILE=
> _=/usr/bin/env
> OLDPWD=/home/claudio/git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]