Skip to content

Error while compiling rustc for android #73426

@coolreader18

Description

@coolreader18

In termux/termux-packages#5387 termux/termux-packages#5420, I tried to update termux's (a sort of mini linux distro as an android app) Rust version to 1.44 from 1.42 1.43.1, but I was getting a strange error while compiling stage2:

2020-06-12T02:32:18.9701280Z error: linking with `cc` failed: exit code: 1
2020-06-12T02:32:18.9701400Z   |
2020-06-12T02:32:18.9705976Z   = note: "cc" ...
2020-06-12T02:32:18.9707179Z   = note: /usr/bin/ld: /home/builder/.termux-build/rust/build/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4a5f12d71462636a.rlib(std-4a5f12d71462636a.std.esf88y2y-cgu.1.rcgu.o): undefined reference to symbol '__res_init@@GLIBC_2.2.5'
2020-06-12T02:32:18.9707671Z           /usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6: error adding symbols: DSO missing from command line
2020-06-12T02:32:18.9707959Z           collect2: error: ld returned 1 exit status

Full log here under "Build"

As far as I can tell, this is happening while compiling a proc macro crate that's a dependency of rustc (or I guess rustdoc specifically here), with the crate(s) that use the proc macro targeting android (whose symbol for res_init is just res_init, not __res_init). However, I don't think that should really make a difference, since the target for the proc-macro crate is still just x86_64-unknown-linux-gnu, and adding/editing cfgs to modify the symbol name that gets imported on android doesn't change anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesO-androidOperating system: AndroidT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions