Thanks Przemek:

>Have you tried to run OS2 OpenWatcom binaries created on other OS?
>I.e. in Windows or Linux?

Not yet. Is first try  :-)

>Can you locate what exactly caused GPF?
>As I can see in os2/gcc.cf for library creation this code:

>   for %i in ( *$(OBJ_EXT) ) do @echo ADDMOD %i >> __lib__.tmp

>is used instead of:

>   $(foreach file, $(^F), $(lib_object))
>
>and I can only guess it is workaround (quite dangerous) for such or
>similar problem.
>In such case replacing in os2/watcom.cf[114]:

>   $(foreach file, $(^F), $(lib_object))

>with:

>   for %i in ( *$(OBJ_EXT) ) do @echo -+%i >> __lib__.tmp

>gives the same effect and may help.

>They seems to be correct at least for hbpp.exe and harbour.exe
>so I think that the problem is somewhere else.

I checked docs and tried with switch values used in Oct, Nov 2008 and keep failing

But using your change:
   for %i in ( *$(OBJ_EXT) ) do @echo -+%i >> __lib__.tmp
build fine

I think problem is some kind of limit in make.exe, and/or Watcom

rtl\...\__lib__,tmp file in Nov08 contain 220 objects, and now contain 249

"define create_library" are equal except for @ in echo


With your change hbrtl.lib is created, building continue and then fail:

=====================================================
SYS0008: There is not enough memory available to process this command.
All available memory is in use.
SYS0008: There is not enough memory available to process this command.
All available memory is in use.
make[3]: *** [hbrun.exe] Error 1
make[2]: *** [descend] Error 2
make[1]: *** [hbrun] Error 2
make: *** [utils] Error 2
=====================================================


and make_ow.log show:

=====================================================
make -C hbrun
make[2]: Entering directory `E:/harbour907c/harbour/utils/hbrun'

[E:\harbour907c\harbour\utils\hbrun]if not exist obj mkdir obj

[E:\harbour907c\harbour\utils\hbrun]if not exist obj\os2 mkdir obj\os2

[E:\harbour907c\harbour\utils\hbrun]if not exist obj\os2\watcom mkdir obj\os2\watcom

[E:\harbour907c\harbour\utils\hbrun]if not exist ..\..\bin\os2 mkdir ..\..\bin\os2

[E:\harbour907c\harbour\utils\hbrun]if not exist ..\..\bin\os2\watcom mkdir ..\..\bin\os2\watcom make[3]: Entering directory `E:/harbour907c/harbour/utils/hbrun/obj/os2/watcom' make[3]: Leaving directory `E:/harbour907c/harbour/utils/hbrun/obj/os2/watcom'
make[2]: Leaving directory `E:/harbour907c/harbour/utils/hbrun'
make[1]: Leaving directory `E:/harbour907c/harbour/utils'
=====================================================

I am using make381


David Macias

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

Reply via email to