Bug 235137 - lang/rust - fails to build on amd64 and non GENERIC kernel
Summary: lang/rust - fails to build on amd64 and non GENERIC kernel
Status: Closed DUPLICATE of bug 234466
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: FreeBSD Rust Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-22 20:00 UTC by former_user
Modified: 2019-01-23 10:51 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (rust)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description former_user 2019-01-22 20:00:28 UTC
Sup,

building an own kernel and removing:

COMPAT_FREEBSD10

renders building lang/rust a funny process full of virtual hugs.

A simple:

file /usr/ports/lang/rust/work/rustc-1.32.0-src/build/x86_64-unknown-freebsd/stage0/bin/cargo

reports:

ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 10.3, FreeBSD-style, with debug_info, not stripped

which might be a problem if COMPAT_FREEBSD10 isn't present in the kernel.

Booting the entire system with the GENERIC kernel solves the problem, though the problem is also solved booting the entire system installing another OS.
Comment 1 Tobias Kortkamp freebsd_committer freebsd_triage 2019-01-22 20:19:25 UTC
> which might be a problem if COMPAT_FREEBSD10 isn't present in the kernel.

Many bootstrap compilers are built for older FreeBSD versions.  Rust
is no exception to this.  Leave both COMPAT_FREEBSD10 and
COMPAT_FREEBSD11 in your kernel config.  There is very little reason
to disable them.

*** This bug has been marked as a duplicate of bug 234466 ***
Comment 2 former_user 2019-01-23 10:51:31 UTC
And many other bootstrap compilers will compile code fine, e.g. openjdk8 which has the same problem, even when being launched on a machine without COMPAT_xxx.

Rust, even when installing from pkg.freebsd.org, won't do anything if the COMPAT_xxx part is missing.