Saturday, June 03, 2017

knot-2.4.2 fails to build on i386

Stuart Henderson <stu@spacehopper.org> writes:

> On 2017/06/01 07:42, Jeremie Courreges-Anglas wrote:
>> CVSROOT: /cvs
>> Module name: ports
>> Changes by: jca@cvs.openbsd.org 2017/06/01 07:42:01
>>
>> Modified files:
>> net/knot : Makefile distinfo
>> net/knot/patches: patch-samples_knot_sample_conf_in
>> net/knot/pkg : PLIST knot.rc
>> Added files:
>> net/knot/patches: patch-src_contrib_lmdb_mdb_c
>> patch-src_libknot_lookup_h
>>
>> Log message:
>> Major update to knot-2.4.2
>>
>> Upstream stopped supporting LTS 1.6.* releases. Let's move to the 2.x
>> branch which only supports LMDB (patched to use MDB_WRITEMAP) and
>> uses __thread (thus, needs clang or lang/gcc).
>>
>> The config format changed a bit, /usr/local/libexec/knot1to2 might help.
>>
>> Most work done by Alexis Vachette, ok fcambus@
>>
>
> Broken on i386,

sigh :)

Probably broken on all 32 bits archs. Here's a tentative workaround for
i386, a better fix will likely involve more work.


Index: Makefile
===================================================================
RCS file: /d/cvs/ports/net/knot/Makefile,v
retrieving revision 1.15
diff -u -p -p -u -r1.15 Makefile
--- Makefile 2 Jun 2017 04:26:23 -0000 1.15
+++ Makefile 3 Jun 2017 09:31:49 -0000
@@ -47,6 +47,10 @@ CONFIGURE_ARGS += --with-storage=${LOCAL
CONFIGURE_ENV = ac_cv_path_PDFLATEX="false" \
ac_cv_path_SPHINXBUILD="false"

+.if ${MACHINE_ARCH} == "i386"
+CFLAGS += -march=i586
+.endif
+
post-install:
mv ${WRKINST}/etc/knot/ ${PREFIX}/share/examples/knot/



> ./.libs/libknotd.a(libknotd_la-rrl.o): In function `ratelimit_apply':
> rrl.c:(.text+0x16a): undefined reference to `__atomic_fetch_add_8'
> rrl.c:(.text+0x19f): undefined reference to `__atomic_fetch_add_8'
> ./.libs/libknotd.a(libknotd_la-stats.o): In function `mod_ctrs_incr':
> stats.c:(.text+0x1d8): undefined reference to `__atomic_fetch_add_8'
> stats.c:(.text+0x1f4): undefined reference to `__atomic_fetch_add_8'
> ./.libs/libknotd.a(libknotd_la-stats.o): In function `.L203':
> stats.c:(.text+0x828): undefined reference to `__atomic_fetch_add_8'
> ./.libs/libknotd.a(libknotd_la-stats.o): In function `.L131':
> stats.c:(.text+0x986): undefined reference to `__atomic_fetch_sub_8'
> stats.c:(.text+0x9c3): undefined reference to `__atomic_fetch_add_8'
> stats.c:(.text+0xa2c): undefined reference to `__atomic_fetch_add_8'
> stats.c:(.text+0xa62): undefined reference to `__atomic_fetch_add_8'
> stats.c:(.text+0xb22): undefined reference to `__atomic_fetch_add_8'
> stats.c:(.text+0xb4a): undefined reference to `__atomic_fetch_add_8'
> ./.libs/libknotd.a(libknotd_la-stats.o):stats.c:(.text+0xbb4): more undefined references to `__atomic_fetch_add_8' follow
>

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE

No comments:

Post a Comment