[Top][All Lists]
[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
- [Chicken-users] A fix for parallel build (gmake -j), Vitaly Magerya, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j), Moritz Wilhelmy, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j),
Mario Domenech Goulart <=
- Re: [Chicken-users] A fix for parallel build (gmake -j), Vitaly Magerya, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j), Vitaly Magerya, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j), Mario Domenech Goulart, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j), Alaric Snell-Pym, 2011/10/06
- Re: [Chicken-users] A fix for parallel build (gmake -j), Vitaly Magerya, 2011/10/08
- [Chicken-users] Testing on OS X PPC, Intel SMP - Re: A fix for parallel build (gmake -j), Toby Thain, 2011/10/11
- Re: [Chicken-users] Testing on OS X PPC, Intel SMP - Re: A fix for parallel build (gmake -j), Vitaly Magerya, 2011/10/12