databases/memcached mag nicht kompelieren

Esjott

Kellerkind
Moin zusammen,

ich habe die letzten Tage den kleinen Server mit einem Update auf 12.0 gequält (ist ein in-order atom, dieser hier), poudriere hat auch alles brav durchgebaut (llvm80 ist schon ne Qual auf der Mühle, ~23 Stunden :eek:) bis auf memcached, da bricht der build ab:

Code:
=======================<phase: build          >============================
===>  Building for memcached-1.5.16
/usr/sbin/dtrace -h -s memcached_dtrace.d
sed -e 's,void \*,const void \*,g' memcached_dtrace.h |  sed -e 's,char \*,const char \*,g' | tr '
mv mmc_dtrace.tmp memcached_dtrace.h
/usr/bin/make  all-recursive
Making all in doc
/usr/bin/make  all-am
cc -DHAVE_CONFIG_H -I.  -DNDEBUG -I/usr/local/include  -m64 -O2 -pipe -march=native  -no-integrate
/tmp/memcached-88d99b.s: Assembler messages:
/tmp/memcached-88d99b.s:1271: Error: no such instruction: `movbel 24(%rdx),%eax'
/tmp/memcached-88d99b.s:2180: Error: no such instruction: `movbel %eax,40(%rbx,%r14)'
/tmp/memcached-88d99b.s:2316: Error: no such instruction: `movbel 24(%rdx,%rax),%eax'
/tmp/memcached-88d99b.s:2454: Error: no such instruction: `movbel %esi,24(%rdx)'
/tmp/memcached-88d99b.s:2455: Error: no such instruction: `movbel %edi,28(%r14,%rcx)'
/tmp/memcached-88d99b.s:2886: Error: no such instruction: `movbel %ecx,24(%rbx)'
/tmp/memcached-88d99b.s:6281: Error: no such instruction: `movbew 2(%rax),%ax'
/tmp/memcached-88d99b.s:6299: Error: no such instruction: `movbew 2(%r12),%ax'
/tmp/memcached-88d99b.s:7075: Error: no such instruction: `movbew %ax,450(%r12)'
/tmp/memcached-88d99b.s:7077: Error: no such instruction: `movbel %eax,456(%r12)'
/tmp/memcached-88d99b.s:12423: Error: no such instruction: `movbew %r13w,2(%r14)'
/tmp/memcached-88d99b.s:12426: Error: no such instruction: `movbew %cx,6(%r14)'
/tmp/memcached-88d99b.s:12427: Error: no such instruction: `movbel %ebx,8(%r14)'
/tmp/memcached-88d99b.s:14525: Error: no such instruction: `movbew %r15w,2(%rax,%rdi)'
/tmp/memcached-88d99b.s:14527: Error: no such instruction: `movbel %r14d,8(%rax,%rdi)'
/tmp/memcached-88d99b.s:15920: Error: no such instruction: `movbew -110(%rbp),%cx'
cc: error: assembler command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[3]: stopped in /wrkdirs/usr/ports/databases/memcached/work/memcached-1.5.16
*** Error code 1

Stop.
make[2]: stopped in /wrkdirs/usr/ports/databases/memcached/work/memcached-1.5.16
*** Error code 1

Stop.
make[1]: stopped in /wrkdirs/usr/ports/databases/memcached/work/memcached-1.5.16
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/memcached
=>> Cleaning up wrkdir
===>  Cleaning for memcached-1.5.16
build of databases/memcached | memcached-1.5.16 ended at Wed Jul 10 02:17:02 CEST 2019
build time: 00:01:30
!!! build failure encountered !!!

Kann es sein, dass memcached auf diesem prozessor generell nicht zu kompelieren geht? Oder deute ich das falsch? Jemand ne Idee, wo ich weiter suchen kann?

Gruß

Sven
 

Anhänge

  • memcached.txt
    16,6 KB · Aufrufe: 224
Funktioniert es denn, wenn du in deiner make.conf das CPUTYPE?=native raus nimmst? edit: Es sieht halt mehr danach aus als wenn clang bzw. LLVM bzw. der Assembler in Benutzung mit den vom Compiler/LLVM generierten Anweisungen nichts anfangen kann.
 
Statt es zu entfernen kannst du auch unten in die make.conf sowas in der Art einfügen. Ohne Garantie natürlich, hab's nicht getestet. Aber wenn es hier wirklich ein Problem mit dem Zusammenspiel Compiler <-> Assembler <-> CPU gibt, dann kann dir das auch anderswo noch um die Ohren fliegen.

.if ${.CURDIR:M*/databases/memcached}
CPUTYPE=x86-64
.endif
 
Hab eben (ssh auf dem Telefon..) das cputyp?=native auskommentiert, baut durch ohne fehler. Die IF-Schleife teste ich gleich mal, wäre ein netter workaround.
 
Zurück
Oben