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