Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2018 16:02:00 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 226988] lang/tclX: fails to link with lld as the system linker
Message-ID:  <bug-226988-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D226988

            Bug ID: 226988
           Summary: lang/tclX: fails to link with lld as the system linker
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: emaste@freebsd.org
                CC: mi@ALDAN.algebra.com
                CC: mi@ALDAN.algebra.com
             Flags: maintainer-feedback?(mi@ALDAN.algebra.com)

I'm working on switching to LLVM's lld linker as the FreeBSD system linker
(/usr/bin/ld)[1], and the port in this PR is reported as a new failure in t=
he
exp-run, PR 214864.

An excerpt from the build log[2]:
---
ld -Bshareable -x -o libtclx8.4.so tclXbsearch.o tclXchmod.o tclXcmdloop.o
tclXdebug.o tclXdup.o tclXfcntl.o tclXfilecmds.o tclXfilescan.o tclXflock.o
tclXfstat.o tclXgeneral.o tclXhandles.o tclXinit.o tclXkeylist.o tclXlib.o
tclXlist.o tclXmath.o tclXmsgcat.o tclXprocess.o tclXprofile.o tclXselect.o
tclXsignal.o tclXstring.o tclXsocket.o tclXutil.o tclXoscmds.o tclXlgets.o
tclXunixCmds.o tclXunixDup.o tclXunixId.o tclXunixOS.o tclXunixSock.o -lm
-L/usr/local/lib -ltclstub86
ld: error: unable to find library -lm
---

Known issues in this port or in lld that affect this port:

(2) lld has no built-in search paths (/lib, /usr/lib). Normally the linker =
is
invoked from the compiler driver, and the search paths are added by the
compiler. If lld is invoked directly library search paths must be specified
explicitly, with -L/lib -L/usr/lib.

FreeBSD 11 and later have lld available as /usr/bin/ld.lld, so one simple
option for testing is to just symlink /usr/bin/ld to ld.lld (and restore it=
 to
ld.bfd).

A port Makefile knob, LLD_UNSAFE=3Dyes, exists to indicate that a port does=
 not
work with lld, and requires either /usr/bin/ld.bfd or binutils from ports. =
This
should work for the common case of ports written in C using GNU autoconf; it
may have no effect on other ports.

[1] https://lists.freebsd.org/pipermail/freebsd-current/2018-March/068985.h=
tml
[2]
http://package18.nyi.freebsd.org/data/headamd64PR214864-default/2018-03-21_=
17h43m11s/logs/errors/tclX-8.4.1.log

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-226988-13>