Change:
Describe the bug build of OpenEXR fails to find -lImath24 To Reproduce Expected behavior Successful build. Screenshots Additional context Add any other context about the problem here. Notify maintainers Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(jfelice): nixpkgs: Maintainer information:
Something seems to be mangling the library names incorrectly? The ilmbase package contains: Notice the periods.
cc.
I lack the hardware to debug this. any ideas?
Repro'd on 10.14
seems to indicate that autoconf-based builds are only supported on linux - we may want to switch this to cmake. Building outside of nix via cmake is working fine for me.
can you give a try?
I can confirm this still builds on at least.
appears to fix this for me (macos 10.14). Reopen if it's still a problem for you.

Discussion:
<del> { stdenv, lib, buildPackages, automake, autoconf, libtool, which, fetchpatch, openexr }: </del> <ins> { stdenv , buildPackages , cmake , libtool , openexr }: </ins> stdenv.mkDerivation rec { pname = "ilmbase"; <del> version = lib.getVersion openexr; </del> <ins> version = stdenv.lib.getVersion openexr; </ins> # the project no longer provides separate tarballs. We may even want to merge # the ilmbase package into openexr in the future.

outputs = [ "out" "dev" ]; <del> preConfigure = '' patchShebangs ./bootstrap ./bootstrap ''; </del> <ins> nativeBuildInputs = [ cmake libtool ]; </ins> depsBuildBuild = [ buildPackages.stdenv.cc ]; <del> nativeBuildInputs = [ automake autoconf libtool which ]; NIX_CFLAGS_LINK = "-pthread"; patches = [ ./cross.patch ]; </del> <ins> patches = [ ./cross.patch ]; </ins> # fails 1 out of 1 tests with # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"

<del> { lib, stdenv, buildPackages, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, zlib, ilmbase, fetchpatch }: let # Doesn't really do anything when not crosscompiling emulator = stdenv.hostPlatform.emulator buildPackages; in </del> <ins> { lib , stdenv , buildPackages , fetchFromGitHub , zlib , ilmbase , fetchpatch , cmake , libtool }: </ins> stdenv.mkDerivation rec { pname = "openexr"; version = "2.4.1";

sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01"; }; <del> sourceRoot = "source/OpenEXR"; </del> outputs = [ "bin" "dev" "out" "doc" ]; <del> # Needed because there are some generated sources. Solution: just run them under QEMU. postPatch = '' for file in b44ExpLogTable dwaLookups do # Ecape for both sh and Automake emu=${lib.escapeShellArg (lib.replaceStrings ["$"] ["$$"] emulator)} before="./$file > $file.h" after="$emu $before" substituteInPlace IlmImf/Makefile.am  --replace "$before" "$after" done # Make sure the patch succeeded [[ $(grep "$emu" IlmImf/Makefile.am | wc -l) = 2 ]] ''; preConfigure = '' patchShebangs ./bootstrap ./bootstrap ''; nativeBuildInputs = [ pkgconfig autoconf automake libtool ]; </del> <ins> nativeBuildInputs = [ cmake libtool ]; </ins> propagatedBuildInputs = [ ilmbase zlib ]; enableParallelBuilding = true; <del> doCheck = false; # fails 1 of 1 tests </del> meta = with stdenv.lib; { description = "A high dynamic-range (HDR) image file format";