chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] A fix for parallel build (gmake -j)


From: Mario Domenech Goulart
Subject: Re: [Chicken-users] A fix for parallel build (gmake -j)
Date: Thu, 06 Oct 2011 08:39:59 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux)

Hi Vitaly,

On Thu, 06 Oct 2011 15:37:08 +0300 Vitaly Magerya <address@hidden> wrote:

> Hi, folks. When I try to run a parallel build of chicken 4.7.0 via:
>
>    gmake -j4 PLATFORM=bsd
>
> ... it eventually fails saying this:
>
>> gcc  -shared -Wl,-soname,libchicken.so \
>>   -o libchicken.so library.o eval.o data-structures.o ports.o files.o 
>> extras.o lolevel.o utils.o tcp.o srfi-1.o srfi-4.o srfi-13.o srfi-14.o 
>> srfi-18.o srfi-69.o posixunix.o irregex.o scheduler.o profiler.o stub.o 
>> expand.o chicken-syntax.o chicken-ffi-syntax.o runtime.o apply-hack.x86-64.o 
>> -lm -lpthread
>> gcc  -shared -Wl,-R"." -Wl,-L. chicken.import.o -o chicken.import.so \
>>   -lchicken \
>>   -lm -lpthread
>> gcc  -shared -Wl,-R"." -Wl,-L. lolevel.import.o -o lolevel.import.so \
>>   -lchicken \
>>   -lm -lpthread
>> ./libchicken.so: file not recognized: File format not recognized
>> gmake[1]: *** [chicken.import.so] Error 1
>> gmake[1]: *** Waiting for unfinished jobs....
>> ./libchicken.so: file not recognized: File format not recognized
>> gmake[1]: *** [lolevel.import.so] Error 1
>> ln -sf libchicken.so libchicken.so.6
>> gmake[1]: Leaving directory `/usr/ports/opt/chicken/work/chicken-4.7.0'
>> gmake: *** [all] Error 2
>
> The problems seems to arise because some libraries are being built
> before libchicken.so when "gmake -j" is used.
>
> Anyway, here's a quick fix for this issue:
>
>
> --- rules.make.orig   2011-10-06 14:50:00.000000000 +0300
> +++ rules.make        2011-10-06 14:50:06.000000000 +0300
> @@ -242,7 +242,7 @@
>  
>  # import libraries and extensions
>  
> -%.so: %.o
> +%.so: %.o $(PRIMARY_LIBCHICKEN)
>       $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ 
> $(LINKER_OUTPUT_OPTION) $@ \
>         
> $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX)
>  \
>         $(LIBRARIES) 
>
>
> (I'm not sure PRIMARY_LIBCHICKEN is the right thing to use here though).
>
> So, if you folks think this is sensible, then please commit it.

This issue has been addressed by http://bugs.call-cc.org/ticket/526


Best wishes.
Mario
-- 
http://parenteses.org/mario



reply via email to

[Prev in Thread] Current Thread [Next in Thread]