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