help-make
[Top][All Lists]
Advanced

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

plea for help in solving parallel make issue for OSv project's AArch64 p


From: Claudio Fontana
Subject: plea for help in solving parallel make issue for OSv project's AArch64 port
Date: Thu, 27 Nov 2014 13:28:05 +0100

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]