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
pngpp: darwin support #33756
pngpp: darwin support #33756
Conversation
1) Building with clang is addressed by navigating a minor #if in some of the code. 2) I noticed that even when things were building correctly, passing `${out}` as a variable assignment to `make` was actually not working: there were compiler warnings about missing include directories whose bogus paths involved the literal string `out`. I ended up fixing this by performing the assignment to the make variable `PREFIX` in the `Makefile` itself.
@GrahamcOfBorg build pngpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Failure for system: x86_64-darwin
build flags: -j1 -l1 SHELL=/nix/store/hgsbnqhg7zr5vbjazb250ac4wnj3cfhy-bash-4.4-p12/bin/bash docs
VERSION=0.2.9 doxygen
dyld: Library not loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
Referenced from: /nix/store/lqmhaf173dw3kzc46cgvgcc9n8pacma5-doxygen-1.8.11/bin/doxygen
Reason: no suitable image found. Did find:
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices: file system sandbox blocked stat()
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices: file system sandbox blocked stat()
make: *** [Makefile:100: docs] Abort trap: 6
builder for '/nix/store/y7cacm6qlwqlyvpb5km26zg2addffayz-pngpp-0.2.9.drv' failed with exit code 2
error: build of '/nix/store/y7cacm6qlwqlyvpb5km26zg2addffayz-pngpp-0.2.9.drv' failed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: x86_64-linux
finalizing index lists...
writing tag file...
lookup cache used 1277/65536 hits=5893 misses=1327
finished...
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
strip is /nix/store/wxn5gn8amxm1w0ikcx4gbs8a17wvss4j-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
checking for references to /tmp/nix-build-pngpp-0.2.9.drv-0 in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9...
/nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: aarch64-linux
finalizing index lists...
writing tag file...
lookup cache used 1277/65536 hits=5893 misses=1327
finished...
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/yrhp9ag3m666qrf8d6phl1yffg8h7mx2-pngpp-0.2.9
strip is /nix/store/c6qj0j45xizkrx58i65j75a5ysmqhgrs-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/yrhp9ag3m666qrf8d6phl1yffg8h7mx2-pngpp-0.2.9
checking for references to /build in /nix/store/yrhp9ag3m666qrf8d6phl1yffg8h7mx2-pngpp-0.2.9...
/nix/store/yrhp9ag3m666qrf8d6phl1yffg8h7mx2-pngpp-0.2.9
@GrahamcOfBorg build pngpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: aarch64-linux
/nix/store/yrhp9ag3m666qrf8d6phl1yffg8h7mx2-pngpp-0.2.9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: x86_64-linux
finalizing index lists...
writing tag file...
lookup cache used 1277/65536 hits=5893 misses=1327
finished...
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
strip is /nix/store/wxn5gn8amxm1w0ikcx4gbs8a17wvss4j-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
checking for references to /tmp/nix-build-pngpp-0.2.9.drv-0 in /nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9...
/nix/store/4jcmd904wnkx24klr8cq6l6kwq3iaj98-pngpp-0.2.9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: x86_64-darwin
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
lookup cache used 1277/65536 hits=5893 misses=1327
finished...
post-installation fixup
strip is /nix/store/bhfkh37smh9lc5bngdha6zx98k6w6cgd-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/wgvyk3356y5kk10hj5j26yrlqfxk4wqj-pngpp-0.2.9
/nix/store/wgvyk3356y5kk10hj5j26yrlqfxk4wqj-pngpp-0.2.9
We disabled sandboxing on the builders, seems like there's a some kind of problem with propagating impure dependencies. |
preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' | ||
substituteInPlace error.hpp --replace "#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" "#if (__clang__ || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" | ||
'' + '' | ||
sed "s|\(PNGPP := .\)|PREFIX := ''${out}\n\\1|" -i Makefile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makeFlags are quoted, did you try this? makeFlags = [ "PREFIX=$(out)" ];
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weird, that usually works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To expand, I tried everything I could think of, $(out)
in particular because it’s given as an example in the nixpkgs manual. It failed when running make test
. I’d be interested if anybody can figure it out.
Building with clang is addressed by navigating a minor #if in some
of the code.
I noticed that even when things were building correctly, passing
${out}
as a variable assignment tomake
was actually not working:there were compiler warnings about missing include directories whose
bogus paths involved the literal string
out
. I ended up fixing thisby performing the assignment to the make variable
PREFIX
in theMakefile
itself.Motivation for this change
Make pngpp build on darwin.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)