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

Allow postgresql to cross compile #44083

Merged
merged 15 commits into from Aug 3, 2018

Conversation

dingxiangfei2009
Copy link
Contributor

@dingxiangfei2009 dingxiangfei2009 commented Jul 25, 2018

Motivation for this change

Currently, PostgreSQL does not cross compile due to not listing libXML2 headers as a native build dependency properly, and libossp-uuid as a dependency of PostgreSQL does not cross compile because it does not respect strip command setting made by configure.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

patches = [ ./shtool.patch ];

preConfigure = ''
export ac_cv_va_copy=yes
Copy link
Contributor

Choose a reason for hiding this comment

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

I think conventionally in Nixpkgs, this sort of stuff is not exported but added to configureFlags instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thats the problem. This configure script does not allow you to fix the test results on va_copy. Please advise a better approach, if any.

Copy link
Member

Choose a reason for hiding this comment

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

@dezgeg means passing the foo=var directly to configure, which does work for autoconf-based configure scripts.

@@ -14,8 +14,15 @@ let
outputs = [ "out" "lib" "doc" "man" ];
setOutputFlags = false; # $out retains configureFlags :-/

combinedLibXML2 = symlinkJoin {
Copy link
Contributor

@dezgeg dezgeg Jul 25, 2018

Choose a reason for hiding this comment

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

Hmm, why is this needed? Why doesn`t

nativeBuildInputs = [ libxml2 ];

work?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Possibly, but I just realised that the upstream broke cross-compilation capability, possibly due to #44068 by @Ericson2314. I will close this PR for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dezgeg I tried. However, the configure of postgresql expects the libxml2 path to contain both its headers and its static libraries.

We would either patch the configure, or just supply the combined libxml2.

Copy link
Member

Choose a reason for hiding this comment

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

If you pass it as a buildInput, its dev outputs will be passed with the headers, and the -L to the libs added by cc-wrapper will probably leave the configure script unable to notice the difference. If you make it just a nativeBuildInput you will not get the -L.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@Ericson2314 I just confirmed that if libxml2 is added to buildInputs, the static library is visible to the cross compilers. However, the headers are not picked up by the configure script.

Sorry that I am new to this cross compiling business. Should we modify CFLAGS to point to the headers?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently libxml2 export headers in the include/libxml2 folder in the Nix store, but the CFLAGS is pointing to include only. When configure is resolving #include <libxml/parser.h>, it is looking at the include folder only and this fails the configure checks.

The build works if I point the headers to include/libxml2. The question now is whether libxml2 Nix expression evaluating correctly.

@dingxiangfei2009
Copy link
Contributor Author

Cross compilation is broken. Close for now and will come back later.

@Ericson2314
Copy link
Member

Cross compilation is fixed again.

@@ -22,14 +22,18 @@ let

makeFlags = [ "world" ];

preConfigure = ''
export CFLAGS="$CFLAGS -I${libxml2.dev}/include/libxml2"
Copy link
Member

Choose a reason for hiding this comment

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

I think we usually prefer to do this like:

NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";

Mostly this is because not all build systems recognize CFLAGS.

++ lib.optional (!stdenv.isDarwin) "--with-ossp-uuid";
++ lib.optional stdenv.isDarwin "--with-uuid=e2fs"
++ lib.optional (!stdenv.isDarwin) "--with-ossp-uuid"
++ lib.optional stdenv.isCross "--with-system-tzdata=${tzdata}";
Copy link
Member

Choose a reason for hiding this comment

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

This one you can probably do unconditionally.

@@ -22,14 +22,18 @@ let

makeFlags = [ "world" ];

preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2.dev}/include/libxml2"
Copy link
Member

Choose a reason for hiding this comment

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

Does postgresql also picks this up, when pkgconfig is included in nativeBuildInputs?

Copy link
Member

Choose a reason for hiding this comment

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

Now I see why this fails:

https://github.com/postgres/postgres/blob/master/configure.in#L896

It needs xml2-config compiled for the build platform.

Copy link
Member

Choose a reason for hiding this comment

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

Instead of preConfigure, this can be exported in nix instead:

# needed for cross-compiling, since xml2-config is not compiled for the build platform
NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];

Copy link
Member

Choose a reason for hiding this comment

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

The long-term solution would be pkg-config: However this would been an upstream fix: libarchive/libarchive#407

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see. I will try to raise this issue in postgresql mailing list.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually xml2-config is built correctly but it doesn't get into the PATH since we don't add binaries from dev output to PATH. This is something we should do in stdenv since many other packages will benefit from that as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should I do it in a separate pull request? Or this one?

Copy link
Member

Choose a reason for hiding this comment

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

I think for now this is fine.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes I agree it can be done later.

Let's however conditionalize it on cross, so that someone doesn't break it by noticing it native-compiles fine with it.

@matthewbauer
Copy link
Member

@GrahamcOfBorg build pkgsCross.raspberryPi.postgresql

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

checking for references to /build in /nix/store/m40d4gqyqpgxkdgd3lfnjz9fadl8ji27-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/mwxcfmfh3i0x33v9v56ya6aafgvclvx9-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/mwxcfmfh3i0x33v9v56ya6aafgvclvx9-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
checking for references to /build in /nix/store/mwxcfmfh3i0x33v9v56ya6aafgvclvx9-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/h8bxz465vp74jmk489pv095q3pclbr2m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
gzipping man pages under /nix/store/h8bxz465vp74jmk489pv095q3pclbr2m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man/share/man/
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/h8bxz465vp74jmk489pv095q3pclbr2m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
checking for references to /build in /nix/store/h8bxz465vp74jmk489pv095q3pclbr2m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man...

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

cannot build derivation '/nix/store/qzjamw6aqcwvkqhyhx7k1hy8z3nf1xv2-glibc-2.27-armv6l-unknown-linux-gnueabihf.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/s7332499ac3asclvyybvrhgza6jgyfyp-libossp-uuid-1.6.2-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h545x6lmpcsm7ck1a5hj73xyys4pdngx-ncurses-6.1-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/0x87jzvg1md8frwnw057rp3py6x6imh9-openssl-1.0.2o-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mr1m8xib82kn7j8wshmbfq5x6kl38srg-tzdata-2018e-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/zx6hbxkdjd4386bvz39zllkn0ibpdbm4-zlib-1.2.11-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5phkdfxcganmkd7yjx3jn63vdh1kp3k8-libxml2-2.9.8-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/l3gf8scvvf1532yw66gxflzymn316p8v-readline-6.3p08-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/wwv27pmy7n40gwqwlsfpfvd2yiyk60f4-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv': 9 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/wwv27pmy7n40gwqwlsfpfvd2yiyk60f4-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/h0hchb9rw4ji5sfyzjpji6yccvcgl489-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
armv6l-unknown-linux-gnueabihf-strip is /nix/store/ifj1jyimlkxqg2s568nxqxix913cn3gy-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/h0hchb9rw4ji5sfyzjpji6yccvcgl489-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
checking for references to /build in /nix/store/h0hchb9rw4ji5sfyzjpji6yccvcgl489-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/bq6p2bjp5zl5q2v54rfcc0n5y3hccl50-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
gzipping man pages under /nix/store/bq6p2bjp5zl5q2v54rfcc0n5y3hccl50-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man/share/man/
armv6l-unknown-linux-gnueabihf-strip is /nix/store/ifj1jyimlkxqg2s568nxqxix913cn3gy-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/bq6p2bjp5zl5q2v54rfcc0n5y3hccl50-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
checking for references to /build in /nix/store/bq6p2bjp5zl5q2v54rfcc0n5y3hccl50-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man...
/nix/store/y29a5rbaaj4yk6lbnzd3r6dp8q8af8by-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf

Copy link
Member

@matthewbauer matthewbauer left a comment

Choose a reason for hiding this comment

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

Great work!

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.raspberryPi.postgresql' because:
error: while evaluating the attribute 'buildInputs' of the derivation 'postgresql-9.6.9-armv6l-unknown-linux-gnueabihf' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/stdenv/generic/make-derivation.nix:175:11:
while evaluating 'getOutput' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/lib/attrsets.nix:451:23, called from undefined position:
while evaluating anonymous function at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/stdenv/generic/make-derivation.nix:113:17, called from undefined position:
while evaluating 'isDerivation' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/lib/attrsets.nix:296:18, called from /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/top-level/splice.nix:81:12:
while evaluating the attribute 'libossp_uuid' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/top-level/all-packages.nix:13552:3:
while evaluating 'callPackageWith' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/lib/customisation.nix:108:35, called from /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/top-level/all-packages.nix:13552:18:
while evaluating 'makeOverridable' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/lib/customisation.nix:67:24, called from /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/lib/customisation.nix:112:8:
attribute 'configureFlags' at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/development/libraries/libossp-uuid/default.nix:17:3 already defined at /var/lib/gc-of-borg/nix-test-rs-25/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-25/pkgs/development/libraries/libossp-uuid/default.nix:13:3

@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: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.raspberryPi.postgresql' because:
error: while evaluating the attribute 'buildInputs' of the derivation 'postgresql-9.6.9-armv6l-unknown-linux-gnueabihf' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/stdenv/generic/make-derivation.nix:175:11:
while evaluating 'getOutput' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/lib/attrsets.nix:451:23, called from undefined position:
while evaluating anonymous function at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/stdenv/generic/make-derivation.nix:113:17, called from undefined position:
while evaluating 'isDerivation' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/lib/attrsets.nix:296:18, called from /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/top-level/splice.nix:81:12:
while evaluating the attribute 'libossp_uuid' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/top-level/all-packages.nix:13552:3:
while evaluating 'callPackageWith' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/lib/customisation.nix:108:35, called from /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/top-level/all-packages.nix:13552:18:
while evaluating 'makeOverridable' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/lib/customisation.nix:67:24, called from /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/lib/customisation.nix:112:8:
attribute 'configureFlags' at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/development/libraries/libossp-uuid/default.nix:17:3 already defined at /var/lib/gc-of-borg/nix-root/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/gleber-bastion/pkgs/development/libraries/libossp-uuid/default.nix:13:3

patches = [ ./shtool.patch ];

configureFlags = [
"ac_cv_va_copy=yes"
Copy link
Member

Choose a reason for hiding this comment

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

@Ericson2314 Configure flags is also above

@Ericson2314 Ericson2314 merged commit ebbd6f3 into NixOS:master Aug 3, 2018
@Ericson2314
Copy link
Member

Ericson2314 commented Aug 3, 2018

@GrahamcOfBorg build pkgsCross.raspberryPi.postgresql

@Ericson2314
Copy link
Member

retroactively testing oops (I missed that above, but I also figured at least native builds would continue to work).

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

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

Partial log (click to expand)

checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/zz1n4x7hlrxr059gif1q0y1ax85dmq67-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
gzipping man pages under /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man/share/man/
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man...

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/zz1n4x7hlrxr059gif1q0y1ax85dmq67-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/6s3x2rngd7vnd4wzlw53za1syisin1ww-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
gzipping man pages under /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man/share/man/
armv6l-unknown-linux-gnueabihf-strip is /nix/store/7az0hzy9vvnv4h0krlgckgpf9jrxyavc-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
checking for references to /tmp/nix-build-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv-0 in /nix/store/aajxm8w6ks62kw1lk202fvzn1nk601gx-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man...

@Ericson2314
Copy link
Member

Cool :)

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: pkgsCross.raspberryPi.postgresql

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

Partial log (click to expand)

cannot build derivation '/nix/store/qzjamw6aqcwvkqhyhx7k1hy8z3nf1xv2-glibc-2.27-armv6l-unknown-linux-gnueabihf.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/pyh6qfvvr1k8rk00c4bnjb05rmz55zk3-libossp-uuid-1.6.2-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h545x6lmpcsm7ck1a5hj73xyys4pdngx-ncurses-6.1-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/0x87jzvg1md8frwnw057rp3py6x6imh9-openssl-1.0.2o-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mr1m8xib82kn7j8wshmbfq5x6kl38srg-tzdata-2018e-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/zx6hbxkdjd4386bvz39zllkn0ibpdbm4-zlib-1.2.11-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5phkdfxcganmkd7yjx3jn63vdh1kp3k8-libxml2-2.9.8-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/l3gf8scvvf1532yw66gxflzymn316p8v-readline-6.3p08-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/23gxzs01jnrk7mihran0yma16x2g19x7-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv': 9 dependencies couldn't be built
error: build of '/nix/store/23gxzs01jnrk7mihran0yma16x2g19x7-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

cannot build derivation '/nix/store/qzjamw6aqcwvkqhyhx7k1hy8z3nf1xv2-glibc-2.27-armv6l-unknown-linux-gnueabihf.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/pyh6qfvvr1k8rk00c4bnjb05rmz55zk3-libossp-uuid-1.6.2-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h545x6lmpcsm7ck1a5hj73xyys4pdngx-ncurses-6.1-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/0x87jzvg1md8frwnw057rp3py6x6imh9-openssl-1.0.2o-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mr1m8xib82kn7j8wshmbfq5x6kl38srg-tzdata-2018e-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/zx6hbxkdjd4386bvz39zllkn0ibpdbm4-zlib-1.2.11-armv6l-unknown-linux-gnueabihf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5phkdfxcganmkd7yjx3jn63vdh1kp3k8-libxml2-2.9.8-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/l3gf8scvvf1532yw66gxflzymn316p8v-readline-6.3p08-armv6l-unknown-linux-gnueabihf.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/23gxzs01jnrk7mihran0yma16x2g19x7-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv': 9 dependencies couldn't be built
error: build of '/nix/store/23gxzs01jnrk7mihran0yma16x2g19x7-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

The following builds were skipped because they don't evaluate on aarch64-linux: retroactively...

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/5rg6p7bx4b2kac0bfrjdywrbxa2gw9wc-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
armv6l-unknown-linux-gnueabihf-strip is /nix/store/ifj1jyimlkxqg2s568nxqxix913cn3gy-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/5rg6p7bx4b2kac0bfrjdywrbxa2gw9wc-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc
checking for references to /build in /nix/store/5rg6p7bx4b2kac0bfrjdywrbxa2gw9wc-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/hpq0cadkjl6rybklsb38x10ylzwzx91m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
gzipping man pages under /nix/store/hpq0cadkjl6rybklsb38x10ylzwzx91m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man/share/man/
armv6l-unknown-linux-gnueabihf-strip is /nix/store/ifj1jyimlkxqg2s568nxqxix913cn3gy-armv6l-unknown-linux-gnueabihf-binutils-2.30/bin/armv6l-unknown-linux-gnueabihf-strip
patching script interpreter paths in /nix/store/hpq0cadkjl6rybklsb38x10ylzwzx91m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man
checking for references to /build in /nix/store/hpq0cadkjl6rybklsb38x10ylzwzx91m-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf-man...
/nix/store/0sx9j5505xdj12bj0mszxml1sfr9z5gk-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: pkgsCross.raspberryPi.postgresql

Partial log (click to expand)

gzipping man pages under /nix/store/gngci1dmdgq0snaybd1v347sa2990rf2-readline-6.3p08-armv6l-unknown-linux-gnueabihf-man/share/man/
patching script interpreter paths in /nix/store/gngci1dmdgq0snaybd1v347sa2990rf2-readline-6.3p08-armv6l-unknown-linux-gnueabihf-man
checking for references to /build in /nix/store/gngci1dmdgq0snaybd1v347sa2990rf2-readline-6.3p08-armv6l-unknown-linux-gnueabihf-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/syqi91zzw4q21gyl33pcg6skiigr31hf-readline-6.3p08-armv6l-unknown-linux-gnueabihf-doc
patching script interpreter paths in /nix/store/syqi91zzw4q21gyl33pcg6skiigr31hf-readline-6.3p08-armv6l-unknown-linux-gnueabihf-doc
checking for references to /build in /nix/store/syqi91zzw4q21gyl33pcg6skiigr31hf-readline-6.3p08-armv6l-unknown-linux-gnueabihf-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/bz0q2fd2c68czf2n21lvj6bbxmy866wz-readline-6.3p08-armv6l-unknown-linux-gnueabihf-info
patching script interpreter paths in /nix/store/bz0q2fd2c68czf2n21lvj6bbxmy866wz-readline-6.3p08-armv6l-unknown-linux-gnueabihf-info
checking for references to /build in /nix/store/bz0q2fd2c68czf2n21lvj6bbxmy866wz-readline-6.3p08-armv6l-unknown-linux-gnueabihf-info...
/nix/store/0sx9j5505xdj12bj0mszxml1sfr9z5gk-postgresql-9.6.9-armv6l-unknown-linux-gnueabihf

@FRidh
Copy link
Member

FRidh commented Aug 7, 2018

@Ericson2314 this was a mass-rebuild and should have gone to staging.

@FRidh FRidh mentioned this pull request Aug 7, 2018
9 tasks
@Ericson2314
Copy link
Member

Sorry @FRidh. I missed that completely.

@dingxiangfei2009 dingxiangfei2009 deleted the cross-compiling-postgresql branch November 28, 2018 01:28
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 7, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 7, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 8, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 9, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 16, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 17, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Mar 17, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Apr 3, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Apr 4, 2024
This was introduced in NixOS#44083 to fix cross building, where xml2-config
wouldn't run on the host platform. This was fixed upstream two years
later [1], so that from v13 on pkg-config is used before xml2-config is.

Once v12 is EOL, we can remove this entirely.

[1]: postgres/postgres@0bc8ceb
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

8 participants