Przemyslaw,

make install fails as well :( with this error:

(E:\repository\harbour-svn)make install
make -C doc install
make[1]: Entering directory `E:/repository/harbour-svn/doc'
make -C en install
make[2]: Entering directory `E:/repository/harbour-svn/doc/en'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `E:/repository/harbour-svn/doc/en'
make -C es install
make[2]: Entering directory `E:/repository/harbour-svn/doc/es'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `E:/repository/harbour-svn/doc/es'
make[1]: Leaving directory `E:/repository/harbour-svn/doc'
make -C include install
make[1]: Entering directory `E:/repository/harbour-svn/include'
ECHO copy clipdefs.h e:\harbour\include >> _nstall.cmd
make[1]: *** [install] Segmentation fault (core dumped)
make[1]: Leaving directory `E:/repository/harbour-svn/include'
make: *** [include.inst] Error 2

Looking a config/os2/install.cf it is unchanged since august 2008 and it does
not include any other file, so, what went wrong?

Maurilio.


Maurilio Longo wrote:
> Przemyslaw Czerpak wrote:
>> Interesting. Now it looks like GNU make problem.
>> Maybe some trick with eval function can help, f.e. something like:
>>
>>    define lib_object
>>    echo ADDMOD $(1) >> __lib__.tmp
>>    endef
>>
>>    define create_library
>>    IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH)
>>    echo CREATE $(LIB_DIR)/$@ > __lib__.tmp
>>    $(foreach file, $(^F), $(eval $(call lib_object,$(file))))
>>    echo SAVE >> __lib__.tmp
>>    echo END >> __lib__.tmp
>>    $(AR) -M < __lib__.tmp
>>    endef
>>
> 
> With this I get an  error:
> 
> c ../../hbarch.c -ohbarch.o
> gcc -I. -I../../../../include -Wall -W -O3 -DTCPV40HDRS 
> -DHB_FM_STATISTICS_OFF -
> c ../../reserved.c -oreserved.o
> ../../../../config/lib.cf:30: *** missing separator.  Stop.
> make[3]: Leaving directory `E:/repository/harbour-svn/source/common/os2/gcc'
> make[2]: *** [descend] Error 2
> make[2]: Leaving directory `E:/repository/harbour-svn/source/common'
> make[1]: *** [common] Error 2
> make[1]: Leaving directory `E:/repository/harbour-svn/source'
> make: *** [source] Error 2
> 
> 
>>> Of course it works on the assumption that the library is made up of .o 
>>> files.
>> You can use $(OBJ_EXT) instead of .o
>>    $(COMSPEC) /C "for %i in ( *$(OBJ_EXT) ) do echo ADDMOD %i >> _l_.tmp"
> 
> Yes, I can even remove the
> 
> $(COMSPEC) /C
> 
> there is no need to spawn another shell.
> 
>> I do not know OS2 command line size limit but if it's big enough then
>> you can also use:
> 
> 1024 chars
> 
>>    $(COMSPEC) /C "for %i in ($(^F)) do echo ADDMOD %i >> _l_.tmp"
>> Though in such case it should be possible to directly call ar without
>> the above trick by simple:
>>    AR_RULE = $(AR) $(ARFLAGS) cr $(LIB_DIR)/$@ $(^F)
>> so I guess it's smaller then necessary.
>>
> 
> Yes, this limit was reached long ago and the script was created to bypass it.
> 
> Thanks a lot.
> 
> Maurilio.
> 
> PS. I'll do some timing to see how much it takes to build with various -j 
> ASAP :)
> 
>> best regards,
>> Przemek
>> _______________________________________________
>> Harbour mailing list
>> Harbour@harbour-project.org
>> http://lists.harbour-project.org/mailman/listinfo/harbour
>>
> 

-- 
 __________
|  |  | |__| Maurilio Longo
|_|_|_|____| farmaconsult s.r.l.


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to