Hola, buen dia;
Por fin pude correr UT en una linux debian.
Gracias por la ayuda Charly!!!
Estos serian los cambios en los fuentes:
/***************/
FUNCTION UCompile( cCode, cCodePP )
LOCAL oHrb
LOCAL hPP
LOCAL cOs := OS()
LOCAL cHBHeader := ''
LOCAL cHbInclude := nil
LOCAL cPrgFlags := nil
DEFAULT cCodePP TO ''
DO CASE
CASE "Windows" $ cOs ; cHBHeader := "c:\harbour\include"
CASE "Linux" $ cOs ; cHBHeader := "~/harbour/include"
ENDCASE
if !empty( hb_GetEnv( "HB_INCLUDE" ) )
cHbInclude:= "-I" + hb_GetEnv( "HB_INCLUDE" )
endif
if !empty( hb_GetEnv( "HB_USER_PRGFLAGS" ) )
cPrgFlags:= hb_GetEnv( "HB_USER_PRGFLAGS" )
endif
hPP := UAddPPRules()
UReplaceBlocks( @cCode, "{%", "%}" )
cCodePP := __pp_Process( hPP, cCode )
oHrb = HB_CompileFromBuf( cCodePP, .T., "-n", "-q2", "-I" + cHBheader, ;
cHbInclude, cPrgFlags )
RETU oHrb
/****************/
Y es que le problema era al momento de compilar con la funcion HB_compileFromBuf()
Los parametros que estan vacios, deben de ir como valores de tipo NIL y no como caracteres vacios.
Entonces si la variable hb_GetEnv( "HB_INCLUDE" ) no estaba definida, esta variable se enviaba como caracter vacio,
pero debe ser como tipo NIL.
Espero que alguno le sea de utilidad.
Saludos
Osvaldo Ramirez