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
lame: prevent build failure from using outdated symbol list #31174
Conversation
Before this change, trying to build LAME on Darwin would throw an error: Undefined symbols for architecture x86_64: "_lame_init_old", referenced from: -exported_symbol[s_list] command line option ld: symbol(s) not found for architecture x86_64 clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
cc @NixOS/darwin-maintainers. (If there's a better way to 'assign' Darwin tickets, let me know...) |
@GrahamcOfBorg lame ffmpeg mpv |
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.
For system: x86_64-darwin
a) For `nixos-rebuild` you can set
{ nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.
b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
{ allowBroken = true; }
to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)
hrm, that must be something recent |
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.
For system: x86_64-linux
shrinking RPATHs of ELF executables and libraries in /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0
shrinking /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0/bin/.mpv-wrapped
shrinking /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0/lib/libmpv.so.1.25.0
gzipping man pages under /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0/share/man/
stripping (with flags -S) in /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0/lib /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0/bin
patching script interpreter paths in /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0
checking for references to /tmp/nix-build-mpv-0.27.0.drv-0 in /nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0...
/nix/store/hcd67wjwrx5sd708mpxvjddp075pxzgv-lame-3.100
/nix/store/7bbz4j43zbhwi1n83dc7r2jfvg6pc4kd-ffmpeg-3.4-bin
/nix/store/rh0d63r3nwg10xinfprbv9y8b1y2rz01-mpv-0.27.0
On 4 November 2017 9:54:43 am ACDT, Daiderd Jordan ***@***.***> wrote:
hrm, that must be something recent
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#31174 (comment)
@LnL7 I think lame was fine on Darwin before version 3.100, but mpv has never worked out of the box for me due to some dependency of libdrm failing (IIRC). I call it like this: https://github.com/eqyiel/dotfiles/blob/71e9616a15226b9ff101726b0c4345d7794e2c01/nix/.config/nixpkgs/darwin/config/environment.nix#L66
|
@GrahamcOfBorg lame ffmpeg |
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.
For system: x86_64-linux
/nix/store/hcd67wjwrx5sd708mpxvjddp075pxzgv-lame-3.100
/nix/store/7bbz4j43zbhwi1n83dc7r2jfvg6pc4kd-ffmpeg-3.4-bin
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.
For system: x86_64-darwin
Moving /nix/store/cp8861rlnnmhvvw8prf5wjh9ygxlira8-ffmpeg-3.4/share/ffmpeg/examples to /nix/store/m2pxrxnrb2kd0092zcv4b17s4d0a5ns5-ffmpeg-3.4-doc/share/ffmpeg/examples
rmdir: failed to remove '/nix/store/cp8861rlnnmhvvw8prf5wjh9ygxlira8-ffmpeg-3.4/share/ffmpeg': Directory not empty
copying 5 paths...
copying path '/nix/store/6j5ji2814j7ka1qyxa99a2kzxlwb3hw9-ffmpeg-3.4-man'...
copying path '/nix/store/cp8861rlnnmhvvw8prf5wjh9ygxlira8-ffmpeg-3.4'...
copying path '/nix/store/m2pxrxnrb2kd0092zcv4b17s4d0a5ns5-ffmpeg-3.4-doc'...
copying path '/nix/store/gy804jk276j3bk0isjxwq7dw5py5lz76-ffmpeg-3.4-bin'...
copying path '/nix/store/hy7if975y77my4i952z8vkbx63z5m4kk-ffmpeg-3.4-dev'...
/nix/store/djx6azq355mc0669cimcqqjd6nngic8d-lame-3.100
/nix/store/gy804jk276j3bk0isjxwq7dw5py5lz76-ffmpeg-3.4-bin
@eqyiel Pretty sure it worked a while back, packages with a bunch of feature flags often break on darwin. I usually change the defaults to |
Thanks! |
Before this change, trying to build LAME on Darwin would throw an error:
Undefined symbols for architecture x86_64:
"_lame_init_old", referenced from:
-exported_symbol[s_list] command line option
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
Other platforms may have been affected too.
Motivation for this change
Just want to rebuild
mpv
, which depends onffmpeg
, which depends on this.Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)