Re: The Case for Rust (in the base system)

From: Charlie Li <vishwin_at_freebsd.org>
Date: Sat, 20 Jan 2024 22:38:08 UTC
Juraj Lutter wrote:
> On 20 Jan 2024, at 18:34, Dimitry Andric wrote:
>> It used to be the case that the Rust port could not use an LLVM port,
>> but had to use its own copy, but it seems that as of
>> https://cgit.freebsd.org/ports/commit/?id=098de5bc2195 it is possible
>> again.
> 
> Speaking of this:
> 
> I’ve now tried to build rust with llvm15 on releng/13.2 and all I’ve got 
> was:
> 
> wn-freebsd/release/deps/cargo-daa18b6ffb5dc5da" "-Wl,--gc-sections" 
> "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-z,origin" 
> "-Wl,-rpath
> ,$ORIGIN/../lib"
>    = note: ld: error: relocation R_X86_64_32 cannot be used against 
> local symbol; recompile with -fPIC
>            >>> defined in 
> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage1-tools/x86_64-unknown-freebsd/release/deps/liblibssh2_sy
> s-a60af3093adc87c9.rlib(agent.o)
>            >>> referenced by agent.o:(libssh2_agent_init) in archive 
> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage1-tools/x86_64
> -unknown-freebsd/release/deps/liblibssh2_sys-a60af3093adc87c9.rlib
> 
> 
> Is this something that can be fixed easily?
> 
I haven't seen any other reports of this yet. However, when building 
with external LLVM, even though compatibility bands exist, it is always 
recommended to use the latest LLVM release, currently 17.

-- 
Charlie Li
...nope, still don't have an exit line.