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 <hw.clau...@gmail.com> 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 > GIT_COMMITTER_EMAIL=claudio.font...@huawei.com > 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 > GIT_AUTHOR_EMAIL=claudio.font...@huawei.com > G_BROKEN_FILENAMES=1 > HISTFILE= > _=/usr/bin/env > OLDPWD=/home/claudio/git
_______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make