{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/35843","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/35843/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/35843/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/35843/events","html_url":"https://github.com/rust-lang/rust/issues/35843","id":172246859,"number":35843,"title":"rustc and cargo binaries crash on startup on ARM with glibc, because libpthread is loaded too late","user":{"login":"nathan7","id":50854,"avatar_url":"https://avatars.githubusercontent.com/u/50854?v=3","gravatar_id":"","url":"https://api.github.com/users/nathan7","html_url":"https://github.com/nathan7","followers_url":"https://api.github.com/users/nathan7/followers","following_url":"https://api.github.com/users/nathan7/following{/other_user}","gists_url":"https://api.github.com/users/nathan7/gists{/gist_id}","starred_url":"https://api.github.com/users/nathan7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathan7/subscriptions","organizations_url":"https://api.github.com/users/nathan7/orgs","repos_url":"https://api.github.com/users/nathan7/repos","events_url":"https://api.github.com/users/nathan7/events{/privacy}","received_events_url":"https://api.github.com/users/nathan7/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-08-20T01:40:51Z","updated_at":"2016-08-22T19:22:39Z","closed_at":null,"body":"```\r\n[nathan@alarm ~]$ curl -sSf https://static.rust-lang.org/rustup.sh | sh -s -- --channel=nightly \r\nrustup: gpg available. signatures will be verified\r\nrustup: downloading manifest for 'nightly'\r\nrustup: downloading toolchain for 'nightly'\r\n######################################################################## 100.0%\r\ngpg: assuming signed data in '/home/nathan/.rustup/dl/53065fae72c98b6e8b0d/rust-nightly-armv7-unknown-linux-gnueabihf.tar.gz'\r\ngpg: Signature made Fri Aug 19 14:19:07 2016 UTC using RSA key ID 5CB4A9347B3B09DC\r\ngpg: Good signature from \"Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org>\" [unknown]\r\ngpg: WARNING: This key is not certified with a trusted signature!\r\ngpg:          There is no indication that the signature belongs to the owner.\r\nPrimary key fingerprint: 108F 6620 5EAE B0AA A8DD  5E1C 85AB 96E6 FA1B E5FE\r\n     Subkey fingerprint: C134 66B7 E169 A085 1886  3216 5CB4 A934 7B3B 09DC\r\nrustup: installing toolchain for 'nightly'\r\nrustup: extracting installer\r\ninstall: uninstalling component 'rustc'\r\ninstall: uninstalling component 'rust-std-armv7-unknown-linux-gnueabihf'\r\ninstall: uninstalling component 'rust-docs'\r\ninstall: uninstalling component 'cargo'\r\ninstall: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh\r\ninstall: installing component 'rustc'\r\ninstall: installing component 'rust-std-armv7-unknown-linux-gnueabihf'\r\ninstall: installing component 'rust-docs'\r\ninstall: installing component 'cargo'\r\n\r\n    Rust is ready to roll.\r\n\r\n[nathan@alarm ~]$ rustc\r\nSegmentation fault (core dumped)\r\n[nathan@alarm ~]$ cargo\r\nSegmentation fault (core dumped)\r\n```\r\n\r\nrelated: https://sourceware.org/bugzilla/show_bug.cgi?id=16628\r\n\r\nworkaround:\r\n```\r\n[nathan@alarm ~]$ sudo patchelf --add-needed libpthread.so.0 $(which rustc)\r\nwarning: working around a Linux kernel bug by creating a hole of 61440 bytes in ‘/usr/local/bin/rustc’\r\n[nathan@alarm ~]$ rustc\r\nUsage: rustc [OPTIONS] INPUT\r\n\r\nOptions:\r\n    -h --help           Display this message\r\n    --cfg SPEC          Configure the compilation environment\r\n    -L [KIND=]PATH      Add a directory to the library search path. The\r\n                        optional KIND can be one of dependency, crate, native,\r\n                        framework or all (the default).\r\n    -l [KIND=]NAME      Link the generated crate(s) to the specified native\r\n                        library NAME. The optional KIND can be one of static,\r\n                        dylib, or framework. If omitted, dylib is assumed.\r\n    --crate-type [bin|lib|rlib|dylib|cdylib|staticlib]\r\n                        Comma separated list of types of crates for the\r\n                        compiler to emit\r\n    --crate-name NAME   Specify the name of the crate being built\r\n    --emit [asm|llvm-bc|llvm-ir|obj|link|dep-info]\r\n                        Comma separated list of types of output for the\r\n                        compiler to emit\r\n    --print [crate-name|file-names|sysroot|cfg|target-list|target-cpus|target-features|relocation-models|code-models]\r\n                        Comma separated list of compiler information to print\r\n                        on stdout\r\n    -g                  Equivalent to -C debuginfo=2\r\n    -O                  Equivalent to -C opt-level=2\r\n    -o FILENAME         Write output to <filename>\r\n    --out-dir DIR       Write output to compiler-chosen filename in <dir>\r\n    --explain OPT       Provide a detailed explanation of an error message\r\n    --test              Build a test harness\r\n    --target TARGET     Target triple for which the code is compiled\r\n    -W --warn OPT       Set lint warnings\r\n    -A --allow OPT      Set lint allowed\r\n    -D --deny OPT       Set lint denied\r\n    -F --forbid OPT     Set lint forbidden\r\n    --cap-lints LEVEL   Set the most restrictive lint level. More restrictive\r\n                        lints are capped at this level\r\n    -C --codegen OPT[=VALUE]\r\n                        Set a codegen option\r\n    -V --version        Print version info and exit\r\n    -v --verbose        Use verbose output\r\n\r\nAdditional help:\r\n    -C help             Print codegen options\r\n    -W help             Print 'lint' options and default settings\r\n    -Z help             Print internal options for debugging rustc\r\n    --help -v           Print the full set of options rustc accepts\r\n\r\n[nathan@alarm ~]$ sudo patchelf --add-needed /lib/ld-linux-armhf.so.3 $(which cargo)\r\n[nathan@alarm ~]$ cargo\r\nRust's package manager\r\n\r\nUsage:\r\n    cargo <command> [<args>...]\r\n    cargo [options]\r\n\r\nOptions:\r\n    -h, --help          Display this message\r\n    -V, --version       Print version info and exit\r\n    --list              List installed commands\r\n    --explain CODE      Run `rustc --explain CODE`\r\n    -v, --verbose ...   Use verbose output\r\n    -q, --quiet         No output printed to stdout\r\n    --color WHEN        Coloring: auto, always, never\r\n    --frozen            Require Cargo.lock and cache are up to date\r\n    --locked            Require Cargo.lock is up to date\r\n\r\nSome common cargo commands are (see all commands with --list):\r\n    build       Compile the current project\r\n    clean       Remove the target directory\r\n    doc         Build this project's and its dependencies' documentation\r\n    new         Create a new cargo project\r\n    init        Create a new cargo project in an existing directory\r\n    run         Build and execute src/main.rs\r\n    test        Run the tests\r\n    bench       Run the benchmarks\r\n    update      Update dependencies listed in Cargo.lock\r\n    search      Search registry for crates\r\n    publish     Package and upload this project to the registry\r\n    install     Install a Rust binary\r\n\r\nSee 'cargo help <command>' for more information on a specific command.\r\n[nathan@alarm ~]$  \r\n```\r\n\r\nI'm not sure why rustc works at all on x86."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/241521262","html_url":"https://github.com/rust-lang/rust/issues/35843#issuecomment-241521262","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/35843","id":241521262,"user":{"login":"yrnameer","id":20766805,"avatar_url":"https://avatars.githubusercontent.com/u/20766805?v=3","gravatar_id":"","url":"https://api.github.com/users/yrnameer","html_url":"https://github.com/yrnameer","followers_url":"https://api.github.com/users/yrnameer/followers","following_url":"https://api.github.com/users/yrnameer/following{/other_user}","gists_url":"https://api.github.com/users/yrnameer/gists{/gist_id}","starred_url":"https://api.github.com/users/yrnameer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yrnameer/subscriptions","organizations_url":"https://api.github.com/users/yrnameer/orgs","repos_url":"https://api.github.com/users/yrnameer/repos","events_url":"https://api.github.com/users/yrnameer/events{/privacy}","received_events_url":"https://api.github.com/users/yrnameer/received_events","type":"User","site_admin":false},"created_at":"2016-08-22T19:22:39Z","updated_at":"2016-08-22T19:22:39Z","body":"Just for clarity, I also ran the previous ```patchelf``` against cargo prior to doing that. So I can't say for sure whether or not it was required. The backtrace is from the initial crash, perhaps I should have posted an intermediate one."}}
{"actor":{"display_login":"yrnameer"}}