[sheepdog-users] Compilation error of bundled lirbrary isa-l

Marcin Mirosław marcin at mejor.pl
Mon Nov 24 15:40:33 CET 2014


W dniu 24.11.2014 o 14:45, Hitoshi Mitake pisze:
> At Mon, 17 Nov 2014 16:00:09 +0100,
> Marcin Mirosław wrote:
>>
>> Hello!
>> Please look at this error:
>>
>>>>> Compiling source in /var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999 ...
>>>>> Working in BUILD_DIR: "/var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999"
>> make -j1
>> Making all in lib
>> make[1]: Entering directory
>> '/var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999/lib'
>> cd isa-l/ && make && cd ..
>> make[2]: Entering directory
>> '/var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999/lib/isa-l'
>> mkdir -p bin
>>   ---> Building erasure_code/ec_highlevel_func.c
>> /var/tmp/portage/net-fs/sheepdog-9999/image/
>> <command-line>:0:1: error: macro names must be identifiers
>> make.inc:143: recipe for target 'bin/ec_highlevel_func.o' failed
>> make[2]: *** [bin/ec_highlevel_func.o] Error 1
>> make[2]: Leaving directory
>> '/var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999/lib/isa-l'
>> Makefile:630: recipe for target 'libisa.a' failed
>> make[1]: *** [libisa.a] Error 2
>> make[1]: Leaving directory
>> '/var/tmp/portage/net-fs/sheepdog-9999/work/sheepdog-9999/lib'
>> Makefile:451: recipe for target 'all-recursive' failed
>> make: *** [all-recursive] Error 1
>>
>> Because isa-l is builded silently I can't see invocation of failing
>> command. Using "make -n" I suspect that it is:
>>
>> mkdir -p bin
>> echo "  ---> Building erasure_code/ec_highlevel_func.c
>> /var/tmp/portage/net-fs/sheepdog-9999/image/"
>> gcc  -Wall  -O2 -D /var/tmp/portage/net-fs/sheepdog-9999/image/ -D
>> NDEBUG -Ierasure_code -Iinclude   -c -o bin/ec_highlevel_func.o
>> erasure_code/ec_highlevel_func.c
>>
>> So wrong parametr is: "-D /var/tmp/portage/net-fs/sheepdog-9999/image/"
>> but I don't know why build system set such strange MACRO name.
>>
>> commit: 1a712aea5af272c3ac5eb64c0a2f1d41d053f951
> 
> Hmm, seems odd. Could you remove
>     -D ZLIB_WINAPI
> from 37th line of lib/isa-l/Makefile.nmake, and try again?

No change.
I did some makefile debug, wrong macro comes from $(DEFINES) also
$(COMPILE.c) contains wrong "-D ....."
So it loks that line:
DEFINES += $(addprefix -D , $D)
from make.inc:84 add wrong parameters. If I comment out this line
sheepdog builds fine but I'm not sure if it's correct way to solve it.

Marcin





More information about the sheepdog-users mailing list