View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004777 | unreal | installing | public | 2016-11-14 05:46 | 2016-11-14 11:16 |
Reporter | rfrederick | Assigned To | syzop | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | amd64 | OS | FreeBSD | OS Version | 10.3 |
Product Version | 4.0.8 | ||||
Fixed in Version | 4.0.8.1 | ||||
Summary | 0004777: UnrealIRCd 4.0.8 Fails to Build with Clang/LLVM on FreeBSD 10.3 | ||||
Description | UnrealIRCd 4.0.8 fails to build with Clang/LLVM on FreeBSD 10.3 with the following build error: === cc -I/home/rfrederick/unrealircd-4.0.8/include -D_THREAD_SAFE -pthread -I/home/rfrederick/unrealircd-4.0.8/extras/regexp/include -I/home/rfrederick/unrealircd-4.0.8/extras/pcre2/include -I/usr/local/include -pipe -g -O2 -funsigned-char -Wl,-export-dynamic -fno-strict-overflow -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector --param ssp-buffer-size=1 -fPIE -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 ircd.o ircsprintf.o list.o match.o modules.o packet.o parse.o s_auth.o mempool.o operclass.o s_conf.o s_debug.o s_dispatch.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 random.o extcmodes.o moddata.o uid.o extbans.o api-isupport.o api-command.o api-clicap.o md5.o crypt_blowfish.o updconf.o crashreport.o -Wl,-rpath=/home/rfrederick/unrealircd/lib -pie -Wl,-z,relro -Wl,-z,now -lcrypt -L/home/rfrederick/unrealircd/lib -ltre -L/home/rfrederick/unrealircd/lib -lpcre2-8 -L/usr/local/lib -lcares -lssl -lcrypto /usr/bin/ld: /home/rfrederick/unrealircd/lib/libtre.a(tre-compile.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /home/rfrederick/unrealircd/lib/libtre.a: could not read symbols: Bad value cc: error: linker command failed with exit code 1 (use -v to see invocation) gmake[1]: *** [Makefile:67: ircd] Error 1 gmake[1]: Leaving directory '/usr/home/rfrederick/unrealircd-4.0.8/src' gmake: *** [Makefile:141: build] Error 2 === Building with GCC is successful. | ||||
Steps To Reproduce | Attempt building and installing UnrealIRCd 4.0.8 on a FreeBSD 10.3 system without GCC installed. | ||||
Tags | bulding, clang, freebsd | ||||
3rd party modules | |||||
|
Will check it out |
|
Just installed FreeBSD and I can confirm UnrealIRCd does not build on 10.3 with clang (and without gcc). The error itself is slightly different but probably same cause. |
|
Looks like TRE is being built statically. c-ares and pcre2 are being built correctly (dynamically). |
|
configure:13001: checking whether the cc linker (/usr/bin/ld) supports shared libraries configure:13982: result: yes configure:14003: checking whether -lc should be explicitly linked in configure:14008: cc -c -g -O2 -Wall conftest.c >&5 configure:14011: $? = 0 configure:14026: cc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2 configure:14029: $? = 0 configure:14041: result: no configure:14049: checking dynamic linker characteristics configure:14663: result: no configure:14687: checking how to hardcode library paths into programs configure:14712: result: immediate configure:14726: checking whether stripping libraries is possible configure:14731: result: yes configure:15533: checking if libtool supports shared libraries configure:15535: result: no <============================================================= configure:15538: checking whether to build shared libraries configure:15559: result: no configure:15562: checking whether to build static libraries configure:15566: result: yes configure:15660: creating libtool configure:16293: creating ./config.status |
|
The problem is in the TRE library. There's no newer version available than we ship. They are still at 0.8.0 from 2009. They do have a repository at github. But after cloning, you need to run a few commands to make the version usable + package as .tar.gz... this isn't working or at least not producing a working ./configure for all systems. Hmmmmm. |
|
Update TRE to git version because of FreeBSD build problems with clang https://github.com/unrealircd/unrealircd/commit/00ad832a59757b8fa6113ca8bd33338963995d0e I'll release 4.0.8.1 later today/tomorrow which contains this fix. |
|
I have released 4.0.8.1. It's available from the main site. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-11-14 05:46 | rfrederick | New Issue | |
2016-11-14 05:46 | rfrederick | Tag Attached: freebsd clang building | |
2016-11-14 05:54 | rfrederick | Tag Detached: freebsd clang building | |
2016-11-14 05:54 | rfrederick | Tag Attached: bulding | |
2016-11-14 05:54 | rfrederick | Tag Attached: clang | |
2016-11-14 05:54 | rfrederick | Tag Attached: freebsd | |
2016-11-14 08:30 | syzop | Assigned To | => syzop |
2016-11-14 08:30 | syzop | Status | new => acknowledged |
2016-11-14 08:30 | syzop | Note Added: 0019510 | |
2016-11-14 09:46 | syzop | Status | acknowledged => confirmed |
2016-11-14 09:46 | syzop | Note Added: 0019511 | |
2016-11-14 09:55 | syzop | Note Added: 0019512 | |
2016-11-14 09:55 | syzop | Note Edited: 0019512 | |
2016-11-14 10:02 | syzop | Note Added: 0019513 | |
2016-11-14 10:26 | syzop | Note Added: 0019514 | |
2016-11-14 10:50 | syzop | Status | confirmed => resolved |
2016-11-14 10:50 | syzop | Resolution | open => fixed |
2016-11-14 10:50 | syzop | Fixed in Version | => 4.0.8.1 |
2016-11-14 10:50 | syzop | Note Added: 0019515 | |
2016-11-14 11:16 | syzop | Note Added: 0019516 |