Bug 234720

Summary: lang/nml: does not build on i386 with lld as system linker
Product: Ports & Packages Reporter: Ed Maste <emaste>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: New ---    
Severity: Affects Only Me CC: mikael
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 214864    

Description Ed Maste freebsd_committer 2019-01-07 22:34:40 UTC
http://package18.nyi.freebsd.org/build.html?mastername=headi386PR214864-default&build=2019-01-05_21h00m02s
http://package18.nyi.freebsd.org/data/headi386PR214864-default/2019-01-05_21h00m02s/logs/errors/nml-0.92b.log

cc -O -I./bignum/h -I../../ocaml/byterun  -fPIC   -c -o nat_stubs.o nat_stubs.c
../../boot/ncamlrun ../../ocaml/tools/ocamlmklib -o nums bignum/o/KerN.o bignum/o/bnInit.o bignum/o/bnMult.o bignum/o/bnDivide.o bignum/o/bnCmp.o bignum/o/bzf.o bignum/o/bz.o nat_stubs.o
ld: error: relocation R_386_PC32 cannot be used against symbol BnnAdd; recompile with -fPIC
>>> defined in bignum/o/KerN.o
>>> referenced by bignum/o/KerN.o:(.text+0x409)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [Makefile:47: libnums.a] Error 2
...
Comment 1 Ed Maste freebsd_committer 2019-07-24 19:32:28 UTC
lld has been enabled as system linker for i386 on stable/12 in advance of 12.1 (as of a few minutes ago)
Comment 2 Ed Maste freebsd_committer 2020-06-10 02:08:27 UTC
It looks like this port is incorrectly marked BROKEN - it builds fine with BROKEN removed.
Comment 3 Ed Maste freebsd_committer 2020-06-10 02:10:29 UTC
(In reply to Ed Maste from comment #2)
That is, is now incorrectly marked BROKEN. It was broken with LLD in the past, but either a port update or LLD update has addressed the issue.
Comment 4 Mikael Urankar freebsd_committer 2020-06-11 15:32:23 UTC
it's still broken for me (12.1 i386)

cc -O -I./bignum/h -I../../ocaml/byterun  -fPIC   -c -o nat_stubs.o nat_stubs.c
../../boot/ncamlrun ../../ocaml/tools/ocamlmklib -o nums bignum/o/KerN.o bignum/o/bnInit.o bignum/o/bnMult.o bignum/o/bnDivide.o bignum/o/bnCmp.o bignum/o/bzf.o bignum/o/bz.o nat_stubs.o
ld: error: relocation R_386_PC32 cannot be used against symbol BnnAdd; recompile with -fPIC
>>> defined in bignum/o/KerN.o
>>> referenced by bignum/o/KerN.o:(.text+0x409)

I haven't tried -current.
Comment 5 Ed Maste freebsd_committer 2020-06-11 16:07:20 UTC
Ah, I tested on i386-current only - it could be that this will be solved in 12.2 with new Clang/LLVM.