Bug 258472 - irc/unreal: fix build with clang 13
Summary: irc/unreal: fix build with clang 13
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dimitry Andric
URL:
Keywords:
Depends on:
Blocks: 258209
  Show dependency treegraph
 
Reported: 2021-09-13 08:17 UTC by Dimitry Andric
Modified: 2021-10-02 11:35 UTC (History)
1 user (show)

See Also:


Attachments
irc/unreal: fix inline which should be static (762 bytes, patch)
2021-09-13 08:17 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2021-09-13 08:17:00 UTC
During an exp-run for llvm 13 (see bug 258209), it turned out that irc/unreal fails to build with clang 13:

cc -I../include -I@TREINCDIR@ -I/wrkdirs/usr/ports/irc/unreal/work/Unreal3.2.10.7/extras/regexp/include -pipe -O2 -pipe  -I/usr/local/include -fcommon -fstack-protector-strong -fno-strict-aliasing  -funsigned-char -Wl,-export-dynamic  -L/usr/local/lib  -fstack-protector-strong   -lssl -lcrypto -o ircd timesynch.o res.o s_bsd.o auth.o aln.o channel.o cloak.o crule.o dbuf.o  events.o fdlist.o hash.o help.o ircd.o ircsprintf.o list.o lusers.o  match.o modules.o packet.o parse.o s_auth.o  s_conf.o s_debug.o s_err.o s_extra.o s_kline.o  s_misc.o s_numeric.o s_serv.o s_svs.o  socket.o  ssl.o s_user.o charsys.o scache.o send.o support.o umodes.o  version.o whowas.o zip.o cidr.o random.o extcmodes.o  extbans.o md5.o api-isupport.o api-command.o  -L/usr/local/lib  -fstack-protector-strong  -lcrypt  /wrkdirs/usr/ports/irc/unreal/work/Unreal3.2.10.7/extras/regexp/lib/libtre.a   -L/usr/local/lib -fstack-protector-strong  -L/usr/local/lib -lcares -lssl -lcrypto
ld: error: undefined symbol: parse_addlag
>>> referenced by parse.c
>>>               parse.o:(parse)
>>> referenced by parse.c
>>>               parse.o:(parse)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

This is because parse_addlag() is marked as 'inline' but does not have either 'static' or 'extern' specifiers. Add a 'static' specifier to resolve the link error.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2021-09-13 08:17:56 UTC
Created attachment 227868 [details]
irc/unreal: fix inline which should be static
Comment 2 Fernando Apesteguía freebsd_committer freebsd_triage 2021-09-16 05:57:06 UTC
^Triage: Reporter is committer, assign accordingly.
Comment 3 commit-hook freebsd_committer freebsd_triage 2021-10-02 11:33:48 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dc7880696558831fccc6ce5a7470095dd6765cf4

commit dc7880696558831fccc6ce5a7470095dd6765cf4
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-09-13 08:15:15 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-10-02 11:30:32 +0000

    irc/unreal: fix inline which should be static

    During an exp-run for llvm 13 (see bug 258209), it turned out that
    irc/unreal fails to build with clang 13:

    cc -I../include -I@TREINCDIR@ -I/wrkdirs/usr/ports/irc/unreal/work/Unreal3.2.10.7/extras/regexp/include -pipe -O2 -pipe  -I/usr/local/include -fcommon -fstack-protector-strong -fno-strict-aliasing  -funsigned-char -Wl,-export-dynamic  -L/usr/local/lib  -fstack-protector-strong   -lssl -lcrypto -o ircd timesynch.o res.o s_bsd.o auth.o aln.o channel.o cloak.o crule.o dbuf.o  events.o fdlist.o hash.o help.o ircd.o ircsprintf.o list.o lusers.o  match.o modules.o packet.o parse.o s_auth.o  s_conf.o s_debug.o s_err.o s_extra.o s_kline.o  s_misc.o s_numeric.o s_serv.o s_svs.o  socket.o  ssl.o s_user.o charsys.o scache.o send.o support.o umodes.o  version.o whowas.o zip.o cidr.o random.o extcmodes.o  extbans.o md5.o api-isupport.o api-command.o  -L/usr/local/lib  -fstack-protector-strong  -lcrypt  /wrkdirs/usr/ports/irc/unreal/work/Unreal3.2.10.7/extras/regexp/lib/libtre.a   -L/usr/local/lib -fstack-protector-strong  -L/usr/local/lib -lcares -lssl -lcrypto
    ld: error: undefined symbol: parse_addlag
    >>> referenced by parse.c
    >>>               parse.o:(parse)
    >>> referenced by parse.c
    >>>               parse.o:(parse)
    cc: error: linker command failed with exit code 1 (use -v to see invocation)
    *** Error code 1

    This is because parse_addlag() is marked as 'inline' but does not have
    either 'static' or 'extern' specifiers. Add a 'static' specifier to
    resolve the link error.

    PR:             258472
    Approved by:    maintainer timeout (2 weeks)
    MFH:            2021Q4

 irc/unreal/files/patch-src_parse.c (new) | 11 +++++++++++
 1 file changed, 11 insertions(+)