Skip to content
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

duplication of crates in rust-std-nightly-arm-* tarballs #31101

Closed
japaric opened this Issue Jan 22, 2016 · 4 comments

Comments

Projects
None yet
3 participants
@japaric
Copy link
Member

japaric commented Jan 22, 2016

The rust-std-nightly-arm-unknown-linux-gnueabihf tarball contains cross compiled crates for two targets: arm-unknown-linux-gnueabi and arm-unknown-linux-gnueabihf (note: hf at the end):

$ wget http://static.rust-lang.org/dist/2016-01-21/rust-std-nightly-arm-unknown-linux-gnueabihf.tar.gz
$ tar xzf rust-std-nightly-arm-unknown-linux-gnueabihf.tar.gz
$ tree rust-std-nightly-arm-unknown-linux-gnueabihf
rust-std-nightly-arm-unknown-linux-gnueabihf
├── components
├── install.sh
├── rust-installer-version
└── rust-std-arm-unknown-linux-gnueabihf
    ├── lib
    │   └── rustlib
    │       ├── arm-unknown-linux-gnueabi <=
    │       │   └── lib
    │       │       ├── liballoc-17a8ccbd.rlib
    │       │       ├── liballoc_jemalloc-17a8ccbd.rlib
    │       │       ├── (...)
    │       ├── arm-unknown-linux-gnueabihf <=
    │       │   └── lib
    │       │       ├── liballoc-17a8ccbd.rlib
    │       │       ├── liballoc_jemalloc-17a8ccbd.rlib
    │       │       ├── (...)
    │       └── x86_64-unknown-linux-gnu
    │           └── bin
    └── manifest.in

I don't think said tarball should contain the cross compiled crates for the arm-unknown-linux-gnueabi target, because those are already provided by the rust-std-nightly-arm-unknown-linux-gnueabi tarball:

$ wget http://static.rust-lang.org/dist/2016-01-21/rust-std-nightly-arm-unknown-linux-gnueabi.tar.gz
$ tar xzf rust-std-nightly-arm-unknown-linux-gnueabi.tar.gz
$ tree rust-std-nightly-arm-unknown-linux-gnueabi
rust-std-nightly-arm-unknown-linux-gnueabi
├── components
├── install.sh
├── rust-installer-version
└── rust-std-arm-unknown-linux-gnueabi
    ├── lib
    │   └── rustlib
    │       ├── arm-unknown-linux-gnueabi <=
    │       │   └── lib
    │       │       ├── liballoc-17a8ccbd.rlib
    │       │       ├── liballoc_jemalloc-17a8ccbd.rlib
    │       │       ├── (...)
    │       └── x86_64-unknown-linux-gnu
    │           └── bin
    └── manifest.in

$ diff -r \
    *-gnueabihf/rust-std-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-gnueabi/lib \
    *-gnueabi/rust-std-arm-unknown-linux-gnueabi/lib/rustlib/arm-unknown-linux-gnueabi/lib
    && echo they provide the same crates
they provide the same crates

Is there a rationale for this duplication of crates, or is this a packaging bug?

cc @alexcrichton

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Jan 22, 2016

This is definitely a bug and I suspect that it's because arm-unknown-linux-gnueabi is a substring of arm-unknown-linux-gnueabihf, but I unfortunately can't seem to find in the makefiles where that bug is or why it's a bug.

cc @brson, this doesn't happen to look like a rust-installer thing, does it?

@brson

This comment has been minimized.

Copy link
Contributor

brson commented Jan 27, 2016

I would guess that it's this condition, but OMG I can't decipher what's going on in this file anymore.

I also don't know why x86_64-unknown-linux-gnu/bin is in the tarball.

@japaric

This comment has been minimized.

Copy link
Member Author

japaric commented Mar 29, 2016

The new tarballs don't have this problem because they are now being produced using rustbuild. The reported problem has been fixed, but the bug remains in the Makefile-based build system. Not sure if I should close this?

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Mar 29, 2016

Ah yeah we're unlikely to go back to the makefiles for these targets, and we'll eventually want to remove all the makefiles, so I think this is a non-issue. Thanks for the ping @japaric!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.