Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "emulator" function to systems #50212

Merged
merged 2 commits into from Nov 30, 2018

Conversation

matthewbauer
Copy link
Member

@matthewbauer matthewbauer commented Nov 10, 2018

exeWrapper is based on meson's exe_wrapper idea. Basically, it will give you an emulator that can run whatever executable you want. It is useful for instance in "waf" build systems that expect a "--cross-execute" flag to run some configuration tests. We can use QEMU to emulate Linxux systems. On windows systems we can use WINE.

I am hoping this is useful in more things, for instance running, some tests in the emulator when doing cross compilation.

The QEMU system should be able to run Linux. Running pkgs.exeWrapper { config = "aarch64-unknown-linux-gnu"; }, will give you a bash script to emulate an aarch64 system. I have already rewritten the Nixpkgs cross tests to use this (and can probably add them to release-cross.nix).

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libxml2, talloc, unscd

Partial log (click to expand)

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53
shrinking /nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53/bin/nscd
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53/bin
patching script interpreter paths in /nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53
checking for references to /build in /nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53...
/nix/store/h73hfs1kkr9r8zr8rgjzivdc2ff0azdq-libxml2-2.9.8-bin
/nix/store/h50z2qsy9mpl3swqp5pzwp0q6nblc83a-talloc-2.1.14
/nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libxml2, talloc, unscd

Partial log (click to expand)

shrinking /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14/lib/libtalloc.so.2.1.14
shrinking /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14/lib/libtalloc-compat1-2.1.14.so
gzipping man pages under /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14/lib
patching script interpreter paths in /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14
checking for references to /build in /nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14...
/nix/store/sfvr5ib3yqyxj2vzr832in3dsihqsriy-libxml2-2.9.8-bin
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14
/nix/store/384xr2d5y2bshbyl28r7g20raj0r0j2l-unscd-0.53

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libxml2, talloc

The following builds were skipped because they don't evaluate on x86_64-darwin: unscd

Partial log (click to expand)

post-installation fixup
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14/lib/libpytalloc-util.2.1.14.dylib: fixing dylib
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14/lib/libtalloc-compat1-2.1.14.dylib: fixing dylib
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14/lib/libtalloc.2.1.14.dylib: fixing dylib
gzipping man pages under /nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14/share/man/
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14/lib
patching script interpreter paths in /nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14
/nix/store/fy1lmal54cgkr714fv1iy3m5wprjks2h-libxml2-2.9.8-bin
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libxml2, qemu, talloc, vde2

The following builds were skipped because they don't evaluate on x86_64-darwin: unscd

Partial log (click to expand)

find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/k6fb10fq5k24zxrpyxd0dngxiam3vf7j-qemu-3.0.0-ga': No such file or directory
/nix/store/fy1lmal54cgkr714fv1iy3m5wprjks2h-libxml2-2.9.8-bin
/nix/store/4fmxd0cc5ajjlxzna0yhixga3z93zi8l-qemu-3.0.0
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14
/nix/store/kg78ci82c8z55qwgyazgvxwkcaf5v8y9-vde2-2.3.2

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

  CC      sparc-softmmu/accel/stubs/whpx-stub.o
  CC      sparc-softmmu/accel/stubs/kvm-stub.o
  CC      sparc-softmmu/accel/tcg/tcg-all.o
  CC      sparc-softmmu/accel/tcg/cputlb.o
  CC      sparc64-softmmu/tcg/tcg-op-vec.o
  CC      sparc64-softmmu/tcg/tcg-op-gvec.o
  CC      sparc64-softmmu/tcg/tcg-common.o
  CC      sparc64-softmmu/tcg/optimize.o
building of '/nix/store/l4433cdpd1b12bsh23vrbm5chhg899wk-qemu-3.0.0.drv' timed out after 1800 seconds
error: build of '/nix/store/l4433cdpd1b12bsh23vrbm5chhg899wk-qemu-3.0.0.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
/nix/store/sfvr5ib3yqyxj2vzr832in3dsihqsriy-libxml2-2.9.8-bin
/nix/store/w013xvvqwcps0gnh3zqbxir76b5sdykf-qemu-3.0.0
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14
/nix/store/384xr2d5y2bshbyl28r7g20raj0r0j2l-unscd-0.53
/nix/store/6s5w6k37xg6qkssn24mdwgb4mwxfsz1v-vde2-2.3.2

@matthewbauer matthewbauer changed the title [wip] Add "exeWrapper" function Add "exeWrapper" function Nov 13, 2018
@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libxml2, qemu, talloc, vde2

The following builds were skipped because they don't evaluate on x86_64-darwin: unscd

Partial log (click to expand)

find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
/nix/store/fy1lmal54cgkr714fv1iy3m5wprjks2h-libxml2-2.9.8-bin
/nix/store/j7di4lkyb6hy7kk59nyhcfl7w0vvdzq1-qemu-3.0.0
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14
/nix/store/kg78ci82c8z55qwgyazgvxwkcaf5v8y9-vde2-2.3.2

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
/nix/store/sfvr5ib3yqyxj2vzr832in3dsihqsriy-libxml2-2.9.8-bin
/nix/store/5bw1y54qnssfrjzj7sp8j48ygqiigyc5-qemu-3.0.0
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14
/nix/store/384xr2d5y2bshbyl28r7g20raj0r0j2l-unscd-0.53
/nix/store/6s5w6k37xg6qkssn24mdwgb4mwxfsz1v-vde2-2.3.2

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

these derivations will be built:
  /nix/store/4l7z42arkjbdhcvj1fxnms1gppyyaqgm-qemu-3.0.0.drv
waiting for locks or build slots...
/nix/store/sfvr5ib3yqyxj2vzr832in3dsihqsriy-libxml2-2.9.8-bin
/nix/store/5bw1y54qnssfrjzj7sp8j48ygqiigyc5-qemu-3.0.0
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14
/nix/store/384xr2d5y2bshbyl28r7g20raj0r0j2l-unscd-0.53
/nix/store/6s5w6k37xg6qkssn24mdwgb4mwxfsz1v-vde2-2.3.2

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
/nix/store/h73hfs1kkr9r8zr8rgjzivdc2ff0azdq-libxml2-2.9.8-bin
/nix/store/yqdyzx4l4jlwxawdcap4fqnfpmbsk6xh-qemu-3.0.0
/nix/store/h50z2qsy9mpl3swqp5pzwp0q6nblc83a-talloc-2.1.14
/nix/store/isbgw2kd3gqbrr05l24562zva9qssz57-unscd-0.53
/nix/store/rxpi1zsicn5dz1k0xvvj1gackbfydhgj-vde2-2.3.2

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libxml2, qemu, talloc, vde2

The following builds were skipped because they don't evaluate on x86_64-darwin: unscd

Partial log (click to expand)

find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
find: '/nix/store/bwlxphirlgkq6axjcbs08llzq5hygd31-qemu-3.0.0-ga': No such file or directory
/nix/store/fy1lmal54cgkr714fv1iy3m5wprjks2h-libxml2-2.9.8-bin
/nix/store/j7di4lkyb6hy7kk59nyhcfl7w0vvdzq1-qemu-3.0.0
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14
/nix/store/kg78ci82c8z55qwgyazgvxwkcaf5v8y9-vde2-2.3.2

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: libxml2, qemu, talloc, unscd, vde2

Partial log (click to expand)

  CC      sparc-softmmu/accel/stubs/whpx-stub.o
  CC      sparc-softmmu/accel/stubs/kvm-stub.o
  CC      sparc-softmmu/accel/tcg/tcg-all.o
  CC      sparc-softmmu/accel/tcg/cputlb.o
  CC      sparc64-softmmu/tcg/tcg-op.o
  CC      sparc64-softmmu/tcg/tcg-op-vec.o
  CC      sparc-softmmu/accel/tcg/tcg-runtime.o
  CC      sparc-softmmu/accel/tcg/tcg-runtime-gvec.o
building of '/nix/store/rbsn6dx5dsar7zv3577n9lm2lv37mii1-qemu-3.0.0.drv' timed out after 1800 seconds
error: build of '/nix/store/rbsn6dx5dsar7zv3577n9lm2lv37mii1-qemu-3.0.0.drv' failed

@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgsCross.aarch64-multiplatform.talloc pkgsCross.mingwW64.talloc pkgsCross.powernv.talloc tests.cross.aarch64-multiplatform tests.cross.mingwW64 tests.cross.musl64 tests.cross.fuloongminipc

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: pkgsCross.aarch64-multiplatform.talloc, pkgsCross.powernv.talloc, tests.cross.aarch64-multiplatform, tests.cross.musl64, tests.cross.fuloongminipc

The following builds were skipped because they don't evaluate on aarch64-linux: pkgsCross.mingwW64.talloc, tests.cross.mingwW64

Partial log (click to expand)

patching script interpreter paths in /nix/store/zihfs5b7zv1r7xr6zpgjznqynn51frx0-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-doc
checking for references to /build in /nix/store/zihfs5b7zv1r7xr6zpgjznqynn51frx0-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-doc...
Moving /nix/store/kk6xby9xzwlidsxvigidz3jif0x97cd7-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-bin/bin/xslt-config to /nix/store/qlk5kpcccnp9ir21b5xq1i4qr8g6k1ic-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-dev/bin/xslt-config
rmdir: failed to remove '/nix/store/kk6xby9xzwlidsxvigidz3jif0x97cd7-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-bin/bin': Directory not empty
Moving /nix/store/mp6g4wyjyqcx9yd69pv8fadx1z40kmqk-libxslt-1.1.32-powerpc64le-unknown-linux-gnu/lib/xsltConf.sh to /nix/store/qlk5kpcccnp9ir21b5xq1i4qr8g6k1ic-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-dev/lib/xsltConf.sh
rmdir: failed to remove '/nix/store/mp6g4wyjyqcx9yd69pv8fadx1z40kmqk-libxslt-1.1.32-powerpc64le-unknown-linux-gnu/lib': Directory not empty
Moving /nix/store/58gg9g6pahxz8v0rw35h5isja5zdk600-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-man/share/man/man1 to /nix/store/kk6xby9xzwlidsxvigidz3jif0x97cd7-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-bin/share/man/man1
rmdir: failed to remove '/nix/store/58gg9g6pahxz8v0rw35h5isja5zdk600-libxslt-1.1.32-powerpc64le-unknown-linux-gnu-man/share/man': Directory not empty
cannot build derivation '/nix/store/01f9nmy5gp93lccjjl5ljr7yqlhcyfyq-talloc-2.1.14-powerpc64le-unknown-linux-gnu.drv': 1 dependencies couldn't be built
error: build of '/nix/store/01f9nmy5gp93lccjjl5ljr7yqlhcyfyq-talloc-2.1.14-powerpc64le-unknown-linux-gnu.drv', '/nix/store/1s3dv1wpjvcnwnaw94rf9852s07hqimq-test-file-5.34-mipsel-unknown-linux-gnu.drv', '/nix/store/43lqykxfb8fi4apjclvj3f676sc93jml-test-hello-2.10-aarch64-unknown-linux-gnu.drv', '/nix/store/9vkq504ysxh7rba34nbls6yzx81zv8lp-test-hello-2.10-mipsel-unknown-linux-gnu.drv', '/nix/store/j3ir0zhc2mlpb6d8h5mzcsxsp0y69sbh-test-file-5.34-aarch64-unknown-linux-gnu.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-darwin (full log)

Attempted: pkgsCross.aarch64-multiplatform.talloc, pkgsCross.powernv.talloc, tests.cross.aarch64-multiplatform, tests.cross.mingwW64, tests.cross.musl64, tests.cross.fuloongminipc

The following builds were skipped because they don't evaluate on x86_64-darwin: pkgsCross.mingwW64.talloc

Partial log (click to expand)

cannot build derivation '/nix/store/jhy2fbyd1vb1c06g0ch116j0yzdjswqx-powerpc64le-unknown-linux-gnu-stage-final-gcc-debug-7.3.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/mjhswy85za756km5c986w8fwjqp3gbgk-powerpc64le-unknown-linux-gnu-stage-final-gcc-debug-wrapper-7.3.0.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/a9l4yhcd949kzpfcps7rzb49zpanhphj-stdenv-darwin.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/44fmr4idjlcyi3ckhx0wvxx11ahgfcr6-ncurses-6.1-powerpc64le-unknown-linux-gnu.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/fb4mq9cxf60sq7l2f004wrjfw2f9fny1-zlib-1.2.11-powerpc64le-unknown-linux-gnu.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/v902d570qvkcqs4z02wvi343ghqblix7-libxml2-2.9.8-powerpc64le-unknown-linux-gnu.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/bzrh7irsvf95w2py0riwp46a6gpjx37c-readline-6.3p08-powerpc64le-unknown-linux-gnu.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/kpff95hz3a548cz356vgyy616l2ih4xr-libxslt-1.1.32-powerpc64le-unknown-linux-gnu.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/iavzgcjrlfrn9pbr5l4ax2jypz51xraz-talloc-2.1.14-powerpc64le-unknown-linux-gnu.drv': 4 dependencies couldn't be built
error: build of '/nix/store/31xg5am39iwr8dr2anbjv6541nbbfxk9-test-file-5.34-x86_64-unknown-linux-musl.drv', '/nix/store/8zl1q7sdd7q4j6i1wr3sf1r14354bdqg-test-hello-2.10-mipsel-unknown-linux-gnu.drv', '/nix/store/905f9gigzz4awvjckbqa119b2cvcphpn-test-hello-2.10-x86_64-pc-mingw32.drv', '/nix/store/iavzgcjrlfrn9pbr5l4ax2jypz51xraz-talloc-2.1.14-powerpc64le-unknown-linux-gnu.drv', '/nix/store/jjp029zylglmkniai191y5nks22kjp4s-test-file-5.34-winlinks-x86_64-pc-mingw32.drv', '/nix/store/mlvwi3j68pi2lsqm9rgmwz0wg227y5x5-talloc-2.1.14-aarch64-unknown-linux-gnu.drv', '/nix/store/q6xqqy17864g80q0wm0cvkvwbcyb14ki-test-file-5.34-aarch64-unknown-linux-gnu.drv', '/nix/store/shpxls619jlqv1qb85fv8llpay6byf8n-test-file-5.34-mipsel-unknown-linux-gnu.drv', '/nix/store/y2mc8kx8vw4vyir1hd6id1gkjnhnpyjc-test-hello-2.10-aarch64-unknown-linux-gnu.drv', '/nix/store/yavw1gh54fl74qws5h0j5152lyvsgdrm-test-hello-2.10-x86_64-unknown-linux-musl.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: pkgsCross.aarch64-multiplatform.talloc, pkgsCross.powernv.talloc, tests.cross.aarch64-multiplatform, tests.cross.mingwW64, tests.cross.musl64, tests.cross.fuloongminipc

The following builds were skipped because they don't evaluate on x86_64-linux: pkgsCross.mingwW64.talloc

Partial log (click to expand)

  ftmarshal.o git.o hglobalstream.o ifs.o itemmoniker.o marshal.o memlockbytes.o moniker.o ole2.o \
  ole2impl.o ole2stubs.o ole32_main.o oleobj.o oleproxy.o pointermoniker.o rpc.o stg_prop.o \
  stg_stream.o storage32.o stubmanager.o usrmarshal.o dlldata.o dcom_p.o irot_c.o ole32_objidl_p.o \
  ole32_oleidl_p.o ole32_unknwn_p.o ole32res.res dcom_r.res ole32_objidl_r.res ole32_oleidl_r.res \
  ole32_unknwn_r.res -loleaut32 ../../dlls/uuid/libuuid.a -ladvapi32 -luser32 -lgdi32 -lrpcrt4 \
  ../../libs/port/libwine_port.a -Wb,-doleaut32
building of '/nix/store/kagi726bcgrqc3c7sdj2bvxfi4187swc-wine64-3.0.3.drv' timed out after 1800 seconds
cannot build derivation '/nix/store/6n4yyjlf04c1brl1n9h38855sdkw9g64-test-file-5.34-winlinks-x86_64-pc-mingw32.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/wg3w2abhqsbsnsny5103r4pw0yrdwqvj-test-hello-2.10-x86_64-pc-mingw32.drv': 1 dependencies couldn't be built
error: build of '/nix/store/36wzhc6zm9f53i0mw54wvygy4jns8d8m-talloc-2.1.14-powerpc64le-unknown-linux-gnu.drv', '/nix/store/4wd2vzydhfwhbzi1f5hp3rjmch8ybh6c-test-file-5.34-x86_64-unknown-linux-musl.drv', '/nix/store/6n4yyjlf04c1brl1n9h38855sdkw9g64-test-file-5.34-winlinks-x86_64-pc-mingw32.drv', '/nix/store/fkgnnri1ggwnihpci3axiw2ajv8w4zpc-test-hello-2.10-x86_64-unknown-linux-musl.drv', '/nix/store/wg3w2abhqsbsnsny5103r4pw0yrdwqvj-test-hello-2.10-x86_64-pc-mingw32.drv', '/nix/store/xaikgi8j965klw2h8b0iwi4z20c2wawn-test-hello-2.10-mipsel-unknown-linux-gnu.drv', '/nix/store/y4fzq7hz35gm4nqkzlzh88c0ghingdz9-test-file-5.34-mipsel-unknown-linux-gnu.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

  CC      sparc64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      tricore-softmmu/disas.o
  CC      sparc64-softmmu/hw/timer/mc146818rtc.o
  CC      tricore-softmmu/arch_init.o
  CC      sparc64-softmmu/hw/vfio/common.o
  CC      tricore-softmmu/cpus.o
  CC      sparc64-softmmu/hw/vfio/pci.o
  CC      tricore-softmmu/monitor.o
building of '/nix/store/kq26az0zzyl241d7nkz4870xsshr2722-qemu-3.0.0.drv' timed out after 1800 seconds
error: build of '/nix/store/kq26az0zzyl241d7nkz4870xsshr2722-qemu-3.0.0.drv' failed

# built stuff on the local system. Emulators, simulators, and more.
# Note this will give you a path to an executable - not a derivation.
# Don’t rely on using a certain emulator.
exeWrapper = platform:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The expression is large enough to be imported from an external file.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

/nix/store/7iww4d7acalw05ikxbhprnyj15dlfsc9-qemu-3.0.0
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

checking for references to /build in /nix/store/vidhvq0b6gwa4nzyd622yfa4sb4nsqyb-qemu-3.0.0...
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
/nix/store/vidhvq0b6gwa4nzyd622yfa4sb4nsqyb-qemu-3.0.0
/nix/store/h50z2qsy9mpl3swqp5pzwp0q6nblc83a-talloc-2.1.14

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: qemu, talloc

Partial log (click to expand)

/nix/store/6wnyr7qpcihmi725548z7m2v6m68j51b-qemu-3.0.0
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14

@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgs.tests.cross.hello

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: pkgs.tests.cross.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgs.tests.cross.hello' because:
error: while evaluating the attribute 'buildCommand' of the derivation 'test-hello-2.10-aarch64-unknown-linux-android' at /private/var/lib/ofborg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/stdenv/generic/make-derivation.nix:180:11:
while evaluating anonymous function at /private/var/lib/ofborg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/build-support/exe-wrapper/default.nix:3:1, called from /private/var/lib/ofborg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/test/cross/default.nix:56:16:
Don't know how to run aarch64-unknown-linux-android executables.

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: pkgs.tests.cross.hello

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Unexpected error: command failed with exit code 1 on x86_64-linux (full log)

Attempted: pkgs.tests.cross.hello

Partial log (click to expand)

cannot build derivation '/nix/store/47xs7bkjic3vmmfb8qspc6f1jgcpx47d-hello-2.10-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/97zf2r181y6cjqifz2fxmz2wslmfdq84-test-hello-2.10-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
creating directory '/nix/store/yfqd4kg3jcj72xv83yqkcr555d6ylrbk-xextproto-7.3.0': No space left on device
copying path '/nix/store/nxwchjhd4y5rr732vjjpp4jpmj6mfhzx-xf86vidmodeproto-2.3.1' from 'https://nix-cache.s3.amazonaws.com'...
creating directory '/nix/store/nxwchjhd4y5rr732vjjpp4jpmj6mfhzx-xf86vidmodeproto-2.3.1': No space left on device
copying path '/nix/store/ffmwivqbnbzw2p42yqywz8pp8gkfgkss-xproto-7.0.31' from 'https://nix-cache.s3.amazonaws.com'...
creating directory '/nix/store/ffmwivqbnbzw2p42yqywz8pp8gkfgkss-xproto-7.0.31': No space left on device
copying path '/nix/store/xh42vn6irgl1cwhyzyq1a0jyd9aiwqnf-zlib-1.2.11' from 'https://nix-cache.s3.amazonaws.com'...
creating directory '/nix/store/xh42vn6irgl1cwhyzyq1a0jyd9aiwqnf-zlib-1.2.11': No space left on device
error: creating directory '/tmp/nix-build-android-ndk-r10e-linux-x86_64.zip.drv-0': No space left on device

"powerpc64le" = "ppc64";
}.${final.parsed.cpu.name} or final.parsed.cpu.name;

emulator = pkgs: let
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ericson2314 How do you feel about putting this in lib/systems/default.nix? I want to avoid sticking it in "pkgs" as that is only really supposed to contain callPackage usages.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move the emulator stuff to its own file?

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

checking for references to /build in /nix/store/7iww4d7acalw05ikxbhprnyj15dlfsc9-qemu-3.0.0...
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
/nix/store/7iww4d7acalw05ikxbhprnyj15dlfsc9-qemu-3.0.0
/nix/store/0hnlzq0rhnbiz6j2f1yjx3hhv91hx3x0-talloc-2.1.14

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: qemu, talloc

Partial log (click to expand)

/nix/store/6wnyr7qpcihmi725548z7m2v6m68j51b-qemu-3.0.0
/nix/store/aaq57h07ph8fxj1aqlwhzpwhszwqjmzr-talloc-2.1.14

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

  CC      mips64el-softmmu/accel/stubs/hax-stub.o
  CC      mips64el-softmmu/accel/stubs/hvf-stub.o
  CC      mips64el-softmmu/accel/stubs/whpx-stub.o
  CC      mips64el-softmmu/accel/stubs/kvm-stub.o
  CC      mips64el-softmmu/accel/tcg/tcg-all.o
  CC      mips64el-softmmu/accel/tcg/cputlb.o
  CC      mips64el-softmmu/accel/tcg/tcg-runtime.o
  CC      mips64el-softmmu/accel/tcg/tcg-runtime-gvec.o
building of '/nix/store/7np6im1syiv7b10rjfih0q5fzqpirlnh-qemu-3.0.0.drv' timed out after 3600 seconds
error: build of '/nix/store/7np6im1syiv7b10rjfih0q5fzqpirlnh-qemu-3.0.0.drv' failed

@matthewbauer matthewbauer changed the title Add "exeWrapper" function Add "emulator" function to systems Nov 30, 2018
@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgs.tests.cross.hello.aarch64-multiplatform

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: pkgs.tests.cross.hello.aarch64-multiplatform

Partial log (click to expand)

cannot build derivation '/nix/store/pxsv55dmnybiw3vlj09xm9wqp1sjvzaa-aarch64-unknown-linux-gnu-stage-static-gcc-debug-wrapper-7.3.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/2xxlwhl4xbrhap9vcbznqb0dc499amgd-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/ivsl8nn7wchlk18mdlvpvi4x4h4l9z2z-glibc-2.27-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/27q3wv9ickn1jzwl56hhs5qzymc0bimh-aarch64-unknown-linux-gnu-binutils-wrapper-2.30.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mfii6k3b9gkzx3di873igc4zv25lm486-aarch64-unknown-linux-gnu-stage-final-gcc-debug-7.3.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/y1pmi8r81h54c1ywwwzvynrg4i29lw94-aarch64-unknown-linux-gnu-stage-final-gcc-debug-wrapper-7.3.0.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/slr4vxyf1lx8gvi4gykl9n6lwpzqlg5v-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/idwl0np1x4bqy78hf0rygfx258dx7wik-hello-2.10-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/16qfbkdq7dnlfk2713nscwnckkp07p6i-test-hello-2.10-aarch64-unknown-linux-gnu.drv': 1 dependencies couldn't be built
error: build of '/nix/store/16qfbkdq7dnlfk2713nscwnckkp07p6i-test-hello-2.10-aarch64-unknown-linux-gnu.drv' failed

@GrahamcOfBorg
Copy link

No attempt on x86_64-linux (full log)

The following builds were skipped because they don't evaluate on x86_64-linux: pkgs.tests.cross.hello.aarch64-multiplatform

Partial log (click to expand)

Cannot nix-instantiate `pkgs.tests.cross.hello.aarch64-multiplatform' because:
error: while evaluating the attribute 'buildCommand' of the derivation 'test-hello-2.10-aarch64-unknown-linux-gnu' at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/rbvermaa-spot/pkgs/stdenv/generic/make-derivation.nix:180:11:
while evaluating 'emulator' at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/rbvermaa-spot/lib/systems/default.nix:80:18, called from /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/rbvermaa-spot/pkgs/test/cross/default.nix:56:16:
while evaluating the attribute 'platform.isi686' at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/rbvermaa-spot/lib/systems/examples.nix:44:5:
attribute 'isi686' missing, at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/rbvermaa-spot/lib/systems/default.nix:99:14

Makes it easier to use mapAttrs with lib.systems.examples. Now every
entry in it are legitimate systems.
You can use stdenv.hostPlatform.emulator to get an executable that
runs cross-built binaries. This could be any emulator. For instance,
we use QEMU to emulate Linux targets and Wine to emulate Windows
targets. To work with qemu, we need to support custom targets.

I’ve reworked the cross tests in pkgs/test/cross to use this
functionality.

Also, I’ve used talloc to cross-execute with the emulator. There
appears to be a cross-execute for all waf builds. In the future, it
would be nice to set this for all waf builds.

Adds stdenv.hostPlatform.qemuArch attrbute to get the qemuArch for
each platform.
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/n4hb93w6j076xcjw5pm09rdmc09s075b-binutils-2.30/bin/strip
cannot link '/nix/store/.links/1l5qq55ff1z51vg9xhfwn6z0cjz5vdvg40fz1675js55impf4krq' to '/nix/store/90rf7n73slqy9db4ly797qh5psfzwgl0-qemu-3.0.0/bin/qemu-ppc64': No space left on device
/nix/store/90rf7n73slqy9db4ly797qh5psfzwgl0-qemu-3.0.0
/nix/store/n56ax0ynjv31k0bxv46las6dmvgfg9ls-talloc-2.1.14

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: qemu, talloc

Partial log (click to expand)

checking for references to /build in /nix/store/5x6l8rqnyiing1xw9jli9i1xlp37fmm6-qemu-3.0.0...
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
strip is /nix/store/qjrnv0qw44bw1hc23zhfh26xd1c25dfs-binutils-2.30/bin/strip
/nix/store/5x6l8rqnyiing1xw9jli9i1xlp37fmm6-qemu-3.0.0
/nix/store/frpy0161swf0aksaz1nsry4v10clxfks-talloc-2.1.14

@lopsided98
Copy link
Contributor

I wonder if this can be used to help cross compile packages that use gobject-introspection.

@matthewbauer matthewbauer deleted the host-emulator branch February 22, 2019 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants