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

openblas: fix config breakage introduced for configs using 'false' #55628

Merged
merged 1 commit into from Feb 17, 2019

Conversation

@dtzWill
Copy link
Member

@dtzWill dtzWill commented Feb 12, 2019

My earlier change mistakenly expected toString false to produce '0'
instead of the empty string, leading to unexpected config changes.

Intended to address issue mentioned here and in following discussion:

#53972 (comment)

Sorry, folks!

(special-case handling of bools here makes this "cleanup" a bit
less of an obvious win but hopefully still preferable overall :))


makeFlags in resulting derivation, according to this one-liner:

$ nix show-derivation -f . openblas|jq ".[].env.makeFlags"

before:
"BINARY=64 CC=cc CROSS= DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE= NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

after:
"BINARY=64 CC=cc CROSS=0 DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE=0 NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

Without knowing how placeholder works, it seems interesting if
entirely unrelated that the PREFIX is same for both! :). TIL.

Motivation for this change
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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

My earlier change mistakenly expected `toString false` to produce '0'
instead of the empty string, leading to unexpected config changes.

Intended to address issue mentioned here and in following discussion:

NixOS#53972 (comment)

Sorry, folks!

(special-case handling of bools here makes this "cleanup" a bit
 less of an obvious win but hopefully still preferable overall :))

-----------

makeFlags in resulting derivation, according to this one-liner:

$ nix show-derivation -f . openblas|jq ".[].env.makeFlags"

before:
"BINARY=64 CC=cc CROSS= DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE= NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

after:
"BINARY=64 CC=cc CROSS=0 DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE=0 NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

Without knowing how `placeholder` works, it seems interesting if
entirely unrelated that the `PREFIX` is same for both! :). TIL.
@dtzWill
Copy link
Member Author

@dtzWill dtzWill commented Feb 12, 2019

  • Seems to fix aarch64 build, per manual build test on aarch64 nixos community builder (which is what I believe Borg uses, FWIW).
  • Cross may not quite be right "yet", unclear if there were regressions here or not but there may have been change in behavior either way.
  • Darwin failure, let's see what borg says? :)

@vcunat
Copy link
Member

@vcunat vcunat commented Feb 13, 2019

Hmm, it was unlucky to run on a day when many darwin binaries are missing for nixpkgs master. EDIT: after all, it was your merge that caused it (curl) ;-)

@FRidh
Copy link
Member

@FRidh FRidh commented Feb 17, 2019

Tested locally, and native build on NixOS works, and cross build for raspberry pi as well.

@FRidh FRidh merged commit 32322da into NixOS:master Feb 17, 2019
13 checks passed
@vcunat
Copy link
Member

@vcunat vcunat commented Feb 18, 2019

Weird thing: this PR makes arpack tests segfault. I reproduced a few times on x86_64-linux: it working when I revert this PR (32322da) and breaking otherwise. /cc maintainer @ttuegel.

EDIT: arpack seems interesting due to octave depending on it.

@averelld averelld mentioned this pull request Feb 22, 2019
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants