Build failed in Jenkins: osv-build #997

14 views
Skip to first unread message

a...@cloudius-systems.com

unread,
Oct 21, 2015, 1:56:21 PM10/21/15
to osv...@googlegroups.com, n...@cloudius-systems.com, justin....@xlab.si, a...@cloudius-systems.com
See <http://jenkins.cloudius-systems.com:8080/job/osv-build/997/>

------------------------------------------
Started by GitHub push by penberg
Started by GitHub push by avikivity
[EnvInject] - Loading node environment variables.
Building on master in workspace <http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/>
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/cloudius-systems/osv # timeout=10
Fetching upstream changes from https://github.com/cloudius-systems/osv
> git --version # timeout=10
> git -c core.askpass=true fetch --tags --progress https://github.com/cloudius-systems/osv +refs/heads/*:refs/remotes/origin/* # timeout=60
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 0c55171c6a75228f3b298a468cae6b21e9612968 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 0c55171c6a75228f3b298a468cae6b21e9612968
> git rev-list bfa26dad2e1861d4af475493707aa281a2c8dd75 # timeout=10
> git remote # timeout=10
> git submodule init # timeout=10
> git submodule sync # timeout=10
> git config --get remote.origin.url # timeout=10
> git submodule update --init --recursive
ERROR: Timeout after 10 minutes
FATAL: Command "git submodule update --init --recursive" returned status code 143:
stdout: Submodule path 'external/x64/acpica': checked out '3e45e0f2383cabdc00275c00a12ea8797f285c30'
Submodule path 'external/x64/gcc.bin': checked out '588fda357d3234e237ef1f81aa6594c10d168783'
Submodule path 'external/x64/glibc-testsuite': checked out 'c1278866ed57e51576a78b71c6326115004a9676'
Submodule path 'external/x64/glibc.bin': checked out 'ef094e3a925c6097f122399d40914d6b9bcff09f'
Submodule path 'external/x64/misc.bin': checked out 'bdb69d953f5daf2fe5d97954c77aaec768b01a0c'

stderr: Cloning into 'external/x64/acpica'...
Cloning into 'external/x64/gcc.bin'...
Cloning into 'external/x64/glibc-testsuite'...
Cloning into 'external/x64/glibc.bin'...
Cloning into 'external/x64/misc.bin'...
Cloning into 'external/x64/openjdk.bin'...

hudson.plugins.git.GitException: Command "git submodule update --init --recursive" returned status code 143:
stdout: Submodule path 'external/x64/acpica': checked out '3e45e0f2383cabdc00275c00a12ea8797f285c30'
Submodule path 'external/x64/gcc.bin': checked out '588fda357d3234e237ef1f81aa6594c10d168783'
Submodule path 'external/x64/glibc-testsuite': checked out 'c1278866ed57e51576a78b71c6326115004a9676'
Submodule path 'external/x64/glibc.bin': checked out 'ef094e3a925c6097f122399d40914d6b9bcff09f'
Submodule path 'external/x64/misc.bin': checked out 'bdb69d953f5daf2fe5d97954c77aaec768b01a0c'

stderr: Cloning into 'external/x64/acpica'...
Cloning into 'external/x64/gcc.bin'...
Cloning into 'external/x64/glibc-testsuite'...
Cloning into 'external/x64/glibc.bin'...
Cloning into 'external/x64/misc.bin'...
Cloning into 'external/x64/openjdk.bin'...

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1640)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:62)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$6.execute(CliGitAPIImpl.java:904)
at hudson.plugins.git.extensions.impl.SubmoduleOption.onCheckoutCompleted(SubmoduleOption.java:83)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1074)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)

a...@cloudius-systems.com

unread,
Oct 22, 2015, 3:50:56 AM10/22/15
to osv...@googlegroups.com, n...@cloudius-systems.com, justin....@xlab.si, a...@cloudius-systems.com
See <http://jenkins.cloudius-systems.com:8080/job/osv-build/998/>

------------------------------------------
Started by GitHub push by nyh
[EnvInject] - Loading node environment variables.
Building on master in workspace <http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/>
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/cloudius-systems/osv # timeout=10
Fetching upstream changes from https://github.com/cloudius-systems/osv
> git --version # timeout=10
> git -c core.askpass=true fetch --tags --progress https://github.com/cloudius-systems/osv +refs/heads/*:refs/remotes/origin/* # timeout=60
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision d9c58162f51cf40ac57f14d4076fdfae40231857 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f d9c58162f51cf40ac57f14d4076fdfae40231857
> git rev-list 0c55171c6a75228f3b298a468cae6b21e9612968 # timeout=10
> git remote # timeout=10
> git submodule init # timeout=10
> git submodule sync # timeout=10
> git config --get remote.origin.url # timeout=10
> git submodule update --init --recursive
ERROR: Timeout after 10 minutes
FATAL: Command "git submodule update --init --recursive" returned status code 143:
stdout: Submodule path 'apps': checked out '90db1dd4765e8318359d6c7da1996e26b81f9e23'
Submodule path 'external/x64/openjdk.bin': checked out '019ea95e844cc9e51c149a519391e2a99915ad39'
Submodule path 'mgmt': checked out '7e2bcfd943f92747f45b0746214e3be134313424'

stderr: Cloning into 'external/x64/openjdk.bin'...
Cloning into 'mgmt'...
Cloning into 'modules/httpserver/osv-gui'...
/usr/libexec/git-core/git-submodule: line 725: 24724 Done module_list "$@"
24725 Terminated | { err=; while read mode sha1 stage sm_path; do
die_if_unmatched "$mode"; if test "$stage" = U; then
echo "Skipping unmerged submodule $prefix$sm_path" 1>&2; continue;
fi; name=$(module_name "$sm_path") || exit; url=$(git config submodule."$name".url); branch=$(get_submodule_config "$name" branch master); if ! test -z "$update"; then
update_module=$update;
else
update_module=$(git config submodule."$name".update); if test -z "$update_module"; then
update_module="checkout";
fi;
fi; displaypath=$(relative_path "$prefix$sm_path"); if test "$update_module" = "none"; then
echo "Skipping submodule '$displaypath'"; continue;
fi; if test -z "$url"; then
test "$#" != "0" && say "$(eval_gettext "Submodule path '\$displaypath' not initialized
Maybe you want to use 'update --init'?")"; continue;
fi; if ! test -d "$sm_path"/.git && ! test -f "$sm_path"/.git; then
module_clone "$sm_path" "$name" "$url" "$reference" "$depth" || exit; cloned_modules="$cloned_modules;$name"; subsha1=;
else
subsha1=$(clear_local_git_env; cd "$sm_path" &&
git rev-parse --verify HEAD) || die "$(eval_gettext "Unable to find current revision in submodule path '\$displaypath'")";
fi; if test -n "$remote"; then
if test -z "$nofetch"; then
( clear_local_git_env; cd "$sm_path" && git-fetch ) || die "$(eval_gettext "Unable to fetch in submodule path '\$sm_path'")";
fi; remote_name=$(clear_local_git_env; cd "$sm_path" && get_default_remote); sha1=$(clear_local_git_env; cd "$sm_path" &&
git rev-parse --verify "${remote_name}/${branch}") || die "$(eval_gettext "Unable to find current ${remote_name}/${branch} revision in submodule path '\$sm_path'")";
fi; if test "$subsha1" != "$sha1" || test -n "$force"; then
subforce=$force; if test -z "$subsha1" && test -z "$force"; then
subforce="-f";
fi; if test -z "$nofetch"; then
( clear_local_git_env; cd "$sm_path" && ( ( rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && test -z "$rev" ) || git-fetch ) ) || die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")";
fi; case ";$cloned_modules;" in
*";$name;"*)
update_module=checkout
;;
esac; must_die_on_failure=; case "$update_module" in
checkout)
command="git checkout $subforce -q"; die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
;;
rebase)
command="git rebase"; die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")"; must_die_on_failure=yes
;;
merge)
command="git merge"; die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")"; must_die_on_failure=yes
;;
!*)
command="${update_module#!}"; die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")"; say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")"; must_die_on_failure=yes
;;
*)
die "$(eval_gettext "Invalid update mode '$update_module' for submodule '$name'")"
;;
esac; if ( clear_local_git_env; cd "$sm_path" && $command "$sha1" ); then
say "$say_msg";
else
if test -n "$must_die_on_failure"; then
die_with_status 2 "$die_msg";
else
err="${err};$die_msg"; continue;
fi;
fi;
fi; if test -n "$recursive"; then
( prefix="$prefix$sm_path/"; clear_local_git_env; cd "$sm_path" && eval cmd_update ); res=$?; if test $res -gt 0; then
die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")"; if test $res -eq 1; then
err="${err};$die_msg"; continue;
else
die_with_status $res "$die_msg";
fi;
fi;
fi;
done; if test -n "$err"; then
OIFS=$IFS; IFS=';'; for e in $err;
do
if test -n "$e"; then
echo "$e" 1>&2;
fi;
done; IFS=$OIFS; exit 1;
fi; }

hudson.plugins.git.GitException: Command "git submodule update --init --recursive" returned status code 143:
stdout: Submodule path 'apps': checked out '90db1dd4765e8318359d6c7da1996e26b81f9e23'
Submodule path 'external/x64/openjdk.bin': checked out '019ea95e844cc9e51c149a519391e2a99915ad39'
Submodule path 'mgmt': checked out '7e2bcfd943f92747f45b0746214e3be134313424'

stderr: Cloning into 'external/x64/openjdk.bin'...
Cloning into 'mgmt'...
Cloning into 'modules/httpserver/osv-gui'...
/usr/libexec/git-core/git-submodule: line 725: 24724 Done module_list "$@"
24725 Terminated | { err=; while read mode sha1 stage sm_path; do
die_if_unmatched "$mode"; if test "$stage" = U; then
echo "Skipping unmerged submodule $prefix$sm_path" 1>&2; continue;
fi; name=$(module_name "$sm_path") || exit; url=$(git config submodule."$name".url); branch=$(get_submodule_config "$name" branch master); if ! test -z "$update"; then
update_module=$update;
else
update_module=$(git config submodule."$name".update); if test -z "$update_module"; then
update_module="checkout";
fi;
fi; displaypath=$(relative_path "$prefix$sm_path"); if test "$update_module" = "none"; then
echo "Skipping submodule '$displaypath'"; continue;
fi; if test -z "$url"; then
test "$#" != "0" && say "$(eval_gettext "Submodule path '\$displaypath' not initialized
Maybe you want to use 'update --init'?")"; continue;
fi; if ! test -d "$sm_path"/.git && ! test -f "$sm_path"/.git; then
module_clone "$sm_path" "$name" "$url" "$reference" "$depth" || exit; cloned_modules="$cloned_modules;$name"; subsha1=;
else
subsha1=$(clear_local_git_env; cd "$sm_path" &&
git rev-parse --verify HEAD) || die "$(eval_gettext "Unable to find current revision in submodule path '\$displaypath'")";
fi; if test -n "$remote"; then
if test -z "$nofetch"; then
( clear_local_git_env; cd "$sm_path" && git-fetch ) || die "$(eval_gettext "Unable to fetch in submodule path '\$sm_path'")";
fi; remote_name=$(clear_local_git_env; cd "$sm_path" && get_default_remote); sha1=$(clear_local_git_env; cd "$sm_path" &&
git rev-parse --verify "${remote_name}/${branch}") || die "$(eval_gettext "Unable to find current ${remote_name}/${branch} revision in submodule path '\$sm_path'")";
fi; if test "$subsha1" != "$sha1" || test -n "$force"; then
subforce=$force; if test -z "$subsha1" && test -z "$force"; then
subforce="-f";
fi; if test -z "$nofetch"; then
( clear_local_git_env; cd "$sm_path" && ( ( rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && test -z "$rev" ) || git-fetch ) ) || die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")";
fi; case ";$cloned_modules;" in
*";$name;"*)
update_module=checkout
;;
esac; must_die_on_failure=; case "$update_module" in
checkout)
command="git checkout $subforce -q"; die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
;;
rebase)
command="git rebase"; die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")"; must_die_on_failure=yes
;;
merge)
command="git merge"; die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")"; say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")"; must_die_on_failure=yes
;;
!*)
command="${update_module#!}"; die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")"; say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")"; must_die_on_failure=yes
;;
*)
die "$(eval_gettext "Invalid update mode '$update_module' for submodule '$name'")"
;;
esac; if ( clear_local_git_env; cd "$sm_path" && $command "$sha1" ); then
say "$say_msg";
else
if test -n "$must_die_on_failure"; then
die_with_status 2 "$die_msg";
else
err="${err};$die_msg"; continue;
fi;
fi;
fi; if test -n "$recursive"; then
( prefix="$prefix$sm_path/"; clear_local_git_env; cd "$sm_path" && eval cmd_update ); res=$?; if test $res -gt 0; then
die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")"; if test $res -eq 1; then
err="${err};$die_msg"; continue;
else
die_with_status $res "$die_msg";
fi;
fi;
fi;
done; if test -n "$err"; then
OIFS=$IFS; IFS=';'; for e in $err;
do
if test -n "$e"; then
echo "$e" 1>&2;
fi;
done; IFS=$OIFS; exit 1;
fi; }

a...@cloudius-systems.com

unread,
Oct 22, 2015, 4:06:22 AM10/22/15
to osv...@googlegroups.com, n...@cloudius-systems.com, justin....@xlab.si, a...@cloudius-systems.com
See <http://jenkins.cloudius-systems.com:8080/job/osv-build/999/changes>

Changes:

[Nadav Har'El] zfs: after creating symlink, mark it inactive

[Nadav Har'El] vfs: clean sys_symlink

------------------------------------------
[...truncated 12942 lines...]
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/composite.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/functions.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jpg...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/config.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/ServletToJsp.java.html...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/jsptoserv/jts.html...
Adding /usr/tomcat/webapps/examples/jsp/num/numguess.html...
Adding /usr/tomcat/webapps/examples/jsp/num/numguess.jsp...
Adding /usr/tomcat/webapps/examples/jsp/num/numguess.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/plugin/plugin.html...
Adding /usr/tomcat/webapps/examples/jsp/plugin/plugin.jsp...
Adding /usr/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/plugin/applet/Clock2.class...
Adding /usr/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/error.jsp...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/error.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/index.jsp...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/index.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/login.jsp...
Adding /usr/tomcat/webapps/examples/jsp/security/protected/login.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/sessions/DummyCart.html...
Adding /usr/tomcat/webapps/examples/jsp/sessions/carts.html...
Adding /usr/tomcat/webapps/examples/jsp/sessions/carts.jsp...
Adding /usr/tomcat/webapps/examples/jsp/sessions/carts.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/sessions/crt.html...
Adding /usr/tomcat/webapps/examples/jsp/simpletag/foo.html...
Adding /usr/tomcat/webapps/examples/jsp/simpletag/foo.jsp...
Adding /usr/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/snp/snoop.html...
Adding /usr/tomcat/webapps/examples/jsp/snp/snoop.jsp...
Adding /usr/tomcat/webapps/examples/jsp/snp/snoop.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/choose.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/choose.jsp...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/foreach.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/howto.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/if.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/if.jsp...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html...
Adding /usr/tomcat/webapps/examples/jsp/tagplugin/notes.html...
Adding /usr/tomcat/webapps/examples/jsp/xml/xml.html...
Adding /usr/tomcat/webapps/examples/jsp/xml/xml.jsp...
Adding /usr/tomcat/webapps/examples/jsp/xml/xml.jsp.html...
Adding /usr/tomcat/webapps/examples/servlets/cookies.html...
Adding /usr/tomcat/webapps/examples/servlets/helloworld.html...
Adding /usr/tomcat/webapps/examples/servlets/index.html...
Adding /usr/tomcat/webapps/examples/servlets/reqheaders.html...
Adding /usr/tomcat/webapps/examples/servlets/reqinfo.html...
Adding /usr/tomcat/webapps/examples/servlets/reqparams.html...
Adding /usr/tomcat/webapps/examples/servlets/sessions.html...
Adding /usr/tomcat/webapps/examples/servlets/chat/index.jsp...
Adding /usr/tomcat/webapps/examples/servlets/chat/index.jsp.html...
Adding /usr/tomcat/webapps/examples/servlets/chat/login.jsp...
Adding /usr/tomcat/webapps/examples/servlets/chat/login.jsp.html...
Adding /usr/tomcat/webapps/examples/servlets/chat/post.jsp...
Adding /usr/tomcat/webapps/examples/servlets/chat/post.jsp.html...
Adding /usr/tomcat/webapps/examples/servlets/images/code.gif...
Adding /usr/tomcat/webapps/examples/servlets/images/execute.gif...
Adding /usr/tomcat/webapps/examples/servlets/images/return.gif...
Adding /usr/tomcat/webapps/examples/servlets/nonblocking/bytecounter.html...
Adding /usr/tomcat/webapps/examples/websocket/chat.xhtml...
Adding /usr/tomcat/webapps/examples/websocket/drawboard.xhtml...
Adding /usr/tomcat/webapps/examples/websocket/echo.xhtml...
Adding /usr/tomcat/webapps/examples/websocket/index.xhtml...
Adding /usr/tomcat/webapps/examples/websocket/snake.xhtml...
Adding /usr/tomcat/webapps/host-manager/index.jsp...
Adding /usr/tomcat/webapps/host-manager/manager.xml...
Adding /usr/tomcat/webapps/host-manager/META-INF/context.xml...
Adding /usr/tomcat/webapps/host-manager/WEB-INF/web.xml...
Adding /usr/tomcat/webapps/host-manager/WEB-INF/jsp/401.jsp...
Adding /usr/tomcat/webapps/host-manager/WEB-INF/jsp/403.jsp...
Adding /usr/tomcat/webapps/host-manager/WEB-INF/jsp/404.jsp...
Adding /usr/tomcat/webapps/host-manager/images/add.gif...
Adding /usr/tomcat/webapps/host-manager/images/asf-logo.gif...
Adding /usr/tomcat/webapps/host-manager/images/code.gif...
Adding /usr/tomcat/webapps/host-manager/images/design.gif...
Adding /usr/tomcat/webapps/host-manager/images/docs.gif...
Adding /usr/tomcat/webapps/host-manager/images/fix.gif...
Adding /usr/tomcat/webapps/host-manager/images/tomcat.gif...
Adding /usr/tomcat/webapps/host-manager/images/update.gif...
Adding /usr/tomcat/webapps/host-manager/images/void.gif...
Adding /usr/tomcat/webapps/manager/index.jsp...
Adding /usr/tomcat/webapps/manager/status.xsd...
Adding /usr/tomcat/webapps/manager/xform.xsl...
Adding /usr/tomcat/webapps/manager/META-INF/context.xml...
Adding /usr/tomcat/webapps/manager/WEB-INF/web.xml...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/401.jsp...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/403.jsp...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/404.jsp...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/connectorCiphers.jsp...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/sessionDetail.jsp...
Adding /usr/tomcat/webapps/manager/WEB-INF/jsp/sessionsList.jsp...
Adding /usr/tomcat/webapps/manager/images/add.gif...
Adding /usr/tomcat/webapps/manager/images/asf-logo.gif...
Adding /usr/tomcat/webapps/manager/images/code.gif...
Adding /usr/tomcat/webapps/manager/images/design.gif...
Adding /usr/tomcat/webapps/manager/images/docs.gif...
Adding /usr/tomcat/webapps/manager/images/fix.gif...
Adding /usr/tomcat/webapps/manager/images/tomcat.gif...
Adding /usr/tomcat/webapps/manager/images/update.gif...
Adding /usr/tomcat/webapps/manager/images/void.gif...
Adding /etc/javamains...
+ mv build/release/usr.img osv-tomcat.img
[workspace] $ /bin/sh -xe /tmp/hudson6047081542123663439.sh
+ make -j4 ARCH=aarch64
Building into build/release.aarch64
GEN gen/include/osv/version.h
GEN build/release.aarch64/gen/include/bits/alltypes.h
AS arch/aarch64/preboot.s
HOST_CXX build/release.aarch64/gen-ctype-data
AS arch/aarch64/boot.s
AS arch/aarch64/string.s
CXX arch/aarch64/backtrace.cc
CXX arch/aarch64/smp.cc
AS arch/aarch64/entry.s
AS arch/aarch64/elf-dl.s
CXX arch/aarch64/mmu.cc
CXX arch/aarch64/exceptions.cc
CXX arch/aarch64/dump.cc
CXX arch/aarch64/arch-elf.cc
CXX arch/aarch64/cpuid.cc
CXX arch/aarch64/firmware.cc
CXX arch/aarch64/hypervisor.cc
CXX arch/aarch64/interrupt.cc
CXX arch/aarch64/pci.cc
CXX arch/aarch64/msi.cc
CXX arch/aarch64/power.cc
CXX arch/aarch64/psci.cc
CXX arch/aarch64/arm-clock.cc
CXX arch/aarch64/gic.cc
CXX arch/aarch64/arch-dtb.cc
CC external/aarch64/libfdt/fdt.c
CC external/aarch64/libfdt/fdt_ro.c
CC external/aarch64/libfdt/fdt_wip.c
CC external/aarch64/libfdt/fdt_sw.c
CC external/aarch64/libfdt/fdt_rw.c
CC external/aarch64/libfdt/fdt_strerror.c
CC external/aarch64/libfdt/fdt_empty_tree.c
CC external/aarch64/libfdt/fdt_addresses.c
CXX core/math.cc
CXX core/spinlock.cc
CXX core/lfmutex.cc
CXX core/rwlock.cc
CXX core/semaphore.cc
CXX core/condvar.cc
CXX core/debug.cc
CXX core/rcu.cc
CXX core/pagecache.cc
CXX core/mempool.cc
CXX core/alloctracker.cc
In file included from external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:21:0,
from external/aarch64/misc.bin/usr/include/boost/variant.hpp:22,
from core/pagecache.cc:13:
external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp: In instantiation of 'T* boost::addressof(T&) [with T = std::nullptr_t]':
external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:85:32: required from 'boost::detail::variant::get_visitor<T>::pointer boost::detail::variant::get_visitor<T>::operator()(boost::detail::variant::get_visitor<T>::reference) const [with T = std::nullptr_t; boost::detail::variant::get_visitor<T>::pointer = std::nullptr_t*; boost::detail::variant::get_visitor<T>::reference = std::nullptr_t&]'
external/aarch64/misc.bin/usr/include/boost/variant/variant.hpp:1048:24: required from 'boost::detail::variant::invoke_visitor<Visitor>::result_type boost::detail::variant::invoke_visitor<Visitor>::internal_visit(T&, int) [with T = std::nullptr_t; Visitor = boost::detail::variant::get_visitor<std::nullptr_t>; boost::detail::variant::invoke_visitor<Visitor>::result_type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/detail/visitation_impl.hpp:130:9: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl_invoke_impl(int, Visitor&, VoidPtrCV, T*, mpl_::true_) [with Visitor = boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<std::nullptr_t> >; VoidPtrCV = void*; T = std::nullptr_t; typename Visitor::result_type = std::nullptr_t*; mpl_::true_ = mpl_::bool_<true>]'
external/aarch64/misc.bin/usr/include/boost/variant/detail/visitation_impl.hpp:170:41: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl_invoke(int, Visitor&, VoidPtrCV, T*, NoBackupFlag, int) [with Visitor = boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<std::nullptr_t> >; VoidPtrCV = void*; T = std::nullptr_t; NoBackupFlag = boost::variant<std::nullptr_t, mmu::hw_ptep<0>, std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > > >::has_fallback_type_; typename Visitor::result_type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/detail/visitation_impl.hpp:256:5: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl(int, int, Visitor&, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = mpl_::int_<0>; step0 = boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<3l>, std::nullptr_t, boost::mpl::l_item<mpl_::long_<2l>, mmu::hw_ptep<0>, boost::mpl::l_item<mpl_::long_<1l>, std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >, boost::mpl::l_end> > > >, boost::mpl::l_iter<boost::mpl::l_end> >; Visitor = boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<std::nullptr_t> >; VoidPtrCV = void*; NoBackupFlag = boost::variant<std::nullptr_t, mmu::hw_ptep<0>, std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > > >::has_fallback_type_; typename Visitor::result_type = std::nullptr_t*; mpl_::false_ = mpl_::bool_<false>]'
external/aarch64/misc.bin/usr/include/boost/variant/variant.hpp:2362:48: required from 'static typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<std::nullptr_t> >; VoidPtrCV = void*; T0_ = std::nullptr_t; T1 = mmu::hw_ptep<0>; T2 = std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/variant.hpp:2376:43: required from 'typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::internal_apply_visitor(Visitor&) [with Visitor = boost::detail::variant::invoke_visitor<boost::detail::variant::get_visitor<std::nullptr_t> >; T0_ = std::nullptr_t; T1 = mmu::hw_ptep<0>; T2 = std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/variant.hpp:2401:52: required from 'typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::apply_visitor(Visitor&) [with Visitor = boost::detail::variant::get_visitor<std::nullptr_t>; T0_ = std::nullptr_t; T1 = mmu::hw_ptep<0>; T2 = std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:151:36: required from 'typename boost::add_pointer<T>::type boost::get(boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>*) [with U = std::nullptr_t; T0 = std::nullptr_t; T1 = mmu::hw_ptep<0>; T2 = std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename boost::add_pointer<T>::type = std::nullptr_t*]'
external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:178:26: required from 'typename boost::add_reference<T>::type boost::get(boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>&) [with U = std::nullptr_t; T0 = std::nullptr_t; T1 = mmu::hw_ptep<0>; T2 = std::unique_ptr<std::unordered_set<mmu::hw_ptep<0> > >; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename boost::add_reference<T>::type = std::nullptr_t&]'
core/pagecache.cc:225:9: required from here
external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp:59:47: error: call of overloaded 'f(boost::detail::addr_impl_ref<std::nullptr_t>, int)' is ambiguous
return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );
^
external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp:37:23: note: candidate: static T* boost::detail::addressof_impl<T>::f(T&, long int) [with T = std::nullptr_t]
static inline T * f( T & v, long )
^
external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp:43:23: note: candidate: static T* boost::detail::addressof_impl<T>::f(T*, int) [with T = std::nullptr_t]
static inline T * f( T * v, int )
^
Makefile:325: recipe for target 'build/release.aarch64/core/pagecache.o' failed
make: *** [build/release.aarch64/core/pagecache.o] Error 1
make: *** Waiting for unfinished jobs....
Build step 'Execute shell' marked build as failure

Nadav Har'El

unread,
Oct 22, 2015, 4:22:30 AM10/22/15
to Avi Kivity, Osv Dev, justinc1
I'm getting a sense of Deja Vu... This looks like https://github.com/cloudius-systems/osv/issues/632 again, but this bug was solved long ago by using the system's new Boost ...

I see we're getting this on aarch64, not x86 - is it possible we need to update the build system's Boost on aarch64? But why did we start getting this problem only now?

BTW, why is justinc1, of all people, getting a CC of these emails? :-)




--
Nadav Har'El
n...@scylladb.com

Avi Kivity

unread,
Oct 22, 2015, 4:52:02 AM10/22/15
to Nadav Har'El, Avi Kivity, Osv Dev, justinc1
We don't have boost aarch64 rpms on the build system, they come from the external submodules.

We can certainly update them.

Nadav Har'El

unread,
Oct 22, 2015, 4:54:08 AM10/22/15
to Avi Kivity, Avi Kivity, Osv Dev, justinc1
On Thu, Oct 22, 2015 at 11:51 AM, Avi Kivity <a...@scylladb.com> wrote:
We don't have boost aarch64 rpms on the build system, they come from the external submodules.

We can certainly update them.

I can reproduce this on my system as well with "make arch=aarch64". I'll produce a patch...
Strange we only started seeing this now (or maybe I missed it until now?)

a...@cloudius-systems.com

unread,
Oct 22, 2015, 4:59:57 AM10/22/15
to osv...@googlegroups.com, n...@cloudius-systems.com, justin....@xlab.si, a...@cloudius-systems.com
See <http://jenkins.cloudius-systems.com:8080/job/osv-build/1000/>

------------------------------------------
[...truncated 8487 lines...]
CXX bsd/sys/netinet/tcp_syncache.cc
CXX bsd/sys/netinet/tcp_timer.cc
CXX bsd/sys/netinet/tcp_timewait.cc
CXX bsd/sys/netinet/tcp_usrreq.cc
CXX bsd/sys/netinet/cc/cc.cc
CXX bsd/sys/netinet/cc/cc_cubic.cc
CXX bsd/sys/netinet/cc/cc_htcp.cc
CXX bsd/sys/netinet/cc/cc_newreno.cc
CXX bsd/sys/netinet/arpcache.cc
CC bsd/sys/xdr/xdr.c
CC bsd/sys/xdr/xdr_array.c
CC bsd/sys/xdr/xdr_mem.c
CC bsd/sys/dev/random/hash.c
CXX bsd/sys/dev/random/randomdev_soft.cc
CXX bsd/sys/dev/random/yarrow.cc
CXX bsd/sys/dev/random/random_harvestq.cc
CXX bsd/sys/dev/random/harvest.cc
CXX bsd/sys/dev/random/live_entropy_sources.cc
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris.c
CXX bsd/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.cc
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_kstat.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_string.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
CC bsd/sys/cddl/compat/opensolaris/kern/opensolaris_uio.c
CC bsd/sys/cddl/contrib/opensolaris/common/acl/acl_common.c
CC bsd/sys/cddl/contrib/opensolaris/common/avl/avl.c
CC bsd/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c
CC bsd/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c
CC bsd/sys/cddl/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c
CC bsd/sys/cddl/contrib/opensolaris/common/unicode/u8_textprep.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/os/callb.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/os/fm.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/os/list.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/adler32.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/deflate.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/inffast.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/inflate.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/inftrees.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/trees.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/zmod/zutil.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_comutil.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_fletcher.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zprop_common.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/gzip.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_debug.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_init.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_sa.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zle.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zrlock.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
CC bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c
CXX core/mmu.cc
CXX arch/aarch64/early-console.cc
CXX drivers/console.cc
CXX drivers/console-multiplexer.cc
CXX drivers/console-driver.cc
CXX drivers/line-discipline.cc
CXX drivers/clock.cc
CXX drivers/clock-common.cc
CXX drivers/clockevent.cc
CC drivers/ramdisk.c
CXX core/elf.cc
CXX java/jvm/jvm_balloon.cc
CXX java/jvm/java_api.cc
CXX java/jvm/jni_helpers.cc
CXX drivers/random.cc
CXX drivers/zfs.cc
CXX drivers/null.cc
CXX drivers/device.cc
CXX drivers/pci-generic.cc
CXX drivers/pci-device.cc
CXX drivers/pci-function.cc
CXX drivers/pci-bridge.cc
CXX drivers/driver.cc
CXX drivers/pl011.cc
CXX drivers/virtio.cc
CXX drivers/virtio-vring.cc
CXX drivers/virtio-rng.cc
CXX drivers/virtio-blk.cc
CXX drivers/virtio-net.cc
CXX tools/mkfs/mkfs.cc
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
CC bsd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
CC bsd/cddl/contrib/opensolaris/lib/libzpool/common/util.c
CC bsd/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
CC bsd/cddl/compat/opensolaris/misc/mkdirp.c
CC bsd/cddl/compat/opensolaris/misc/zmount.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
CC bsd/sys/cddl/contrib/opensolaris/common/zfs/zprop_common.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_alloc.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_avl.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_dprintf.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_ident.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_list.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_misc.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_open.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_pname.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_string.c
CC bsd/cddl/contrib/opensolaris/lib/libuutil/common/uu_strtoint.c
CXX tools/cpiod/cpiod.cc
CXX tools/cpiod/cpio.cc
CXX tools/ifconfig/ifconfig.cc
CXX tools/route/route_info.cc
CXX tools/ifconfig/network_interface.cc
CXX tools/route/lsroute.cc
CXX tools/uush/uush.cc
CXX tools/uush/ls.cc
CXX tools/uush/mkdir.cc
CXX tests/tst-hello.cc
CC bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c
CC bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
CC bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_util.c
CC bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c
CXX bsd/porting/mnttab.cc
LINK build/release.aarch64/libuutil.so
CC bsd/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
CC bsd/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
LINK libzfs.so
CXX arch/aarch64/arch-trace.cc
CXX arch/aarch64/arch-setup.cc
CXX arch/aarch64/signal.cc
CXX arch/aarch64/arch-cpu.cc
CXX core/pagecache.cc
CXX core/printf.cc
CXX linux.cc
CXX core/commands.cc
CXX core/sched.cc
CXX core/mmio.cc

Nadav Har'El

unread,
Oct 22, 2015, 5:29:20 AM10/22/15
to Avi Kivity, Osv Dev, Pekka Enberg, Claudio Fontana


  CXX core/mmio.cc
In file included from external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:21:0,
                 from external/aarch64/misc.bin/usr/include/boost/variant.hpp:22,
                 from core/pagecache.cc:13:
external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp: In instantiation of 'T* boost::addressof(T&) [with T = std::nullptr_t]':

This is issue 632 (https://github.com/cloudius-systems/osv/issues/632), which happens when you use the old Boost version from external/ together with a new (Gcc 5.1) compiler.

The "solution" for bug 632 was to stop using external/, and take the host's Boost (as well as standard c++ library).

But the problem seen here is in cross-compilation - compiling on x86 for aarch64. At least on Fedora, while the cross *compiler* is available (a compiler for ARM is available on the x86 distribution), cross-libraries are not: we do not have Boost libraries compiled for ARM available in the normal x86 distribution. So for cross-compilation, we use external/ with its old version of Boost, and get bug 632 back in its full glory.

The reason why we only started to see this issue now is that the build machine used to have gcc 4.9, and was now upgraded to gcc 5.1, so issue 632 appeared.

I would like to hear from people who are experienced in cross-compilation (Claudio?) about what solution they'll prefer for this problem:

One possible solution is to upgrade the stuff we have on external/. But then, the problem might become the opposite: somebody with an old compiler might have problems.

Another possible solution is to rely on the person doing cross-compilation to fetch the libraries himself - directly from Fedora's aarch64 repository (or something...). We could even provide a script that does this, and the script would fetch the versions which are suitable for the installed compiler.

Yet another solution is to have multiple subdirectories in external/ for various versions. But this would be a really bloated solution.

Any other suggestions?

Until we do one of these, maybe we should stop the automatic aarch64 build testing, because it will tirelessly send these mails every time...

Claudio Fontana

unread,
Oct 22, 2015, 5:34:55 AM10/22/15
to Nadav Har'El, Avi Kivity, Osv Dev, Pekka Enberg
Hi Nadav,

On 22.10.2015 11:29, Nadav Har'El wrote:
> On Thu, Oct 22, 2015 at 11:59 AM, <a...@cloudius-systems.com> wrote:
>
>> See <http://jenkins.cloudius-systems.com:8080/job/osv-build/1000/>
>>
>> CXX core/mmio.cc
>> In file included from
>> external/aarch64/misc.bin/usr/include/boost/variant/get.hpp:21:0,
>> from
>> external/aarch64/misc.bin/usr/include/boost/variant.hpp:22,
>> from core/pagecache.cc:13:
>> external/aarch64/misc.bin/usr/include/boost/utility/addressof.hpp: In
>> instantiation of 'T* boost::addressof(T&) [with T = std::nullptr_t]':
>>
>
> This is issue 632 (https://github.com/cloudius-systems/osv/issues/632),
> which happens when you use the old Boost version from external/ together
> with a new (Gcc 5.1) compiler.
>
> The "solution" for bug 632 was to stop using external/, and take the host's
> Boost (as well as standard c++ library).
>
> But the problem seen here is in *cross-compilation* - compiling on x86 for
> aarch64. At least on Fedora, while the cross *compiler* is available (a
> compiler for ARM is available on the x86 distribution), cross-libraries are
> not: we do not have Boost libraries compiled for ARM available in the
> normal x86 distribution. So for cross-compilation, we use external/ with
> its old version of Boost, and get bug 632 back in its full glory.
>
> The reason why we only started to see this issue now is that the build
> machine used to have gcc 4.9, and was now upgraded to gcc 5.1, so issue 632
> appeared.
>
> I would like to hear from people who are experienced in cross-compilation
> (Claudio?) about what solution they'll prefer for this problem:
>
> One possible solution is to upgrade the stuff we have on external/. But
> then, the problem might become the opposite: somebody with an old compiler
> might have problems.

We can just mandate a newer version of the compiler.
For this kind of project there is no legacy to maintain, we can do it I think.

>
> Another possible solution is to rely on the person doing cross-compilation
> to fetch the libraries himself - directly from Fedora's aarch64 repository
> (or something...). We could even provide a script that does this, and the
> script would fetch the versions which are suitable for the installed
> compiler.

This is more likely to break in my view.

>
> Yet another solution is to have multiple subdirectories in external/ for
> various versions. But this would be a really bloated solution.
>
> Any other suggestions?
>
> Until we do one of these, maybe we should stop the automatic aarch64 build
> testing, because it will tirelessly send these mails every time...
>

I think the less painful solution for everybody is to just update the components in external/ and mandate a newer version of the compiler.

For the long term I think it would be beneficial to reduce the reliance of the kernel itself from these higher level libraries.

I can give it a good test on a non-Fedora system to ensure that we can cross-build for AArch64 on any Linux system.

Thanks!

CLaudio

Nadav Har'El

unread,
Oct 26, 2015, 3:51:19 AM10/26/15
to Claudio Fontana, Avi Kivity, Osv Dev, Pekka Enberg
On Thu, Oct 22, 2015 at 12:34 PM, Claudio Fontana <claudio...@huawei.com> wrote:
>
> One possible solution is to upgrade the stuff we have on external/. But
> then, the problem might become the opposite: somebody with an old compiler
> might have problems.

We can just mandate a newer version of the compiler.
For this kind of project there is no legacy to maintain, we can do it I think.

I'm fine with this solution. Avi, how do you update the external/ stuff (for both x86_64 and aarch64) from Fedora 22 - do you have a script to fetch and open the RPMs, or you did that manually?
 

>
> Another possible solution is to rely on the person doing cross-compilation
> to fetch the libraries himself - directly from Fedora's aarch64 repository
> (or something...). We could even provide a script that does this, and the
> script would fetch the versions which are suitable for the installed
> compiler.

This is more likely to break in my view.

In my opinion, this is the more correct solution in the long run - have the user run a script which fetches the needed packages directly from their original distribution (e.g., Fedora) instead of us keeping a copy of these Fedora files on OSv's github (the "external/*" submodules). Moreover, most OSv builders (who are not cross-compiling, and not using external/) will not even need to download this stuff.
But we don't have to do this now.
 

I think the less painful solution for everybody is to just update the components in external/ and mandate a newer version of the compiler.

Ok with me (I already have the new compiler :-))
 

For the long term I think it would be beneficial to reduce the reliance of the kernel itself from these higher level libraries.

The thing is, Fedora (for example) doesn't even have cross-compilation libstdc++ - so we'll still need that - even if we weed out every use of Boost from OSv (and I don't think that's likely...).

By the way looking at external/aarch64, much of the stuff there is completely irrelevant for OSv. Would have been nice if we didn't have to carry around all that dead weight, and just include what is absolutely necessary to compile the OSv kernel. But it's not urgent.
 

I can give it a good test on a non-Fedora system to ensure that we can cross-build for AArch64 on any Linux system.

Thanks.

Nadav.

Avi Kivity

unread,
Oct 26, 2015, 5:13:44 AM10/26/15
to Nadav Har'El, Claudio Fontana, Avi Kivity, Osv Dev, Pekka Enberg


On 10/26/2015 09:51 AM, Nadav Har'El wrote:

On Thu, Oct 22, 2015 at 12:34 PM, Claudio Fontana <claudio...@huawei.com> wrote:
>
> One possible solution is to upgrade the stuff we have on external/. But
> then, the problem might become the opposite: somebody with an old compiler
> might have problems.

We can just mandate a newer version of the compiler.
For this kind of project there is no legacy to maintain, we can do it I think.

I'm fine with this solution. Avi, how do you update the external/ stuff (for both x86_64 and aarch64) from Fedora 22 - do you have a script to fetch and open the RPMs, or you did that manually?

Manually.  I'll update gcc and boost now.


 

>
> Another possible solution is to rely on the person doing cross-compilation
> to fetch the libraries himself - directly from Fedora's aarch64 repository
> (or something...). We could even provide a script that does this, and the
> script would fetch the versions which are suitable for the installed
> compiler.

This is more likely to break in my view.

In my opinion, this is the more correct solution in the long run - have the user run a script which fetches the needed packages directly from their original distribution (e.g., Fedora) instead of us keeping a copy of these Fedora files on OSv's github (the "external/*" submodules). Moreover, most OSv builders (who are not cross-compiling, and not using external/) will not even need to download this stuff.
But we don't have to do this now.

Fetching packages reduces the chances of having a reproducible build (go back to some git tag, and generate a working OSv image from that tag).

Nadav Har'El

unread,
Oct 26, 2015, 6:16:31 PM10/26/15
to Avi Kivity, Claudio Fontana, Avi Kivity, Osv Dev, Pekka Enberg
On Mon, Oct 26, 2015 at 11:13 AM, Avi Kivity <a...@scylladb.com> wrote:

Fetching packages reduces the chances of having a reproducible build (go back to some git tag, and generate a working OSv image from that tag).

But unfortunately, the "external" submodule doesn't solve this problem either, at least not on the long term - on my new distro, I *need* to use the new version of Boost and libstdc++, even if I go back to some old git tag which, once upon a time, I used to compile on my old distro with old versions of Boost and libstdc++.  Today, I can't, even if I really wanted to, compile the old version of OSv with the same old libraries I used to compile that version with. Those old libraries simply won't work with my newer compiler.

Unless you want to put in a git submodule also the *executables* of the compiler chain, I really don't see how this "reproducible build" plan will ever work for the long term. I guess "make build_env=external" could indeed help mask short-term differences, though (like minor releases of the libraries). I personally don't think this is worth the extra hassle (and almost a gigabyte of download for external/*), but let's agree to disagree on this :-)

Nadav.

Claudio Fontana

unread,
Nov 2, 2015, 7:54:28 AM11/2/15
to Nadav Har'El, Avi Kivity, Avi Kivity, Osv Dev, Pekka Enberg
Hi,

I tested with latest OSv, cross-compiling with the latest linaro gcc compiler,
it works fine, no problems.

Thanks!

Claudio

Nadav Har'El

unread,
Nov 2, 2015, 7:58:04 AM11/2/15
to Claudio Fontana, Avi Kivity, Avi Kivity, Osv Dev, Pekka Enberg
On Mon, Nov 2, 2015 at 2:54 PM, Claudio Fontana <claudio...@huawei.com> wrote:
Hi,

I tested with latest OSv, cross-compiling with the latest linaro gcc compiler,
it works fine, no problems.

Excellent. Thanks.

Reply all
Reply to author
Forward
0 new messages