Hi Bill,

You seem to be mixing an old version of hbmake.exe
with current SVN Harbour version. Also, you seem to
be using an old version of hbdebug.lib (renamed from
an old debug.lib) with the recent SVN version of Harbour,
or vice versa a new version of hbdebug.lib with old
version of hbrtl/hbvm.lib.

Hi Viktor

I deleted my Harbour direcotory and got the latest SVN. I looked at the hbmake.prg file and I see the following at line 2288:

  IF lDebug
     cHarbourFlags    += " -b "
     cDefaultLibs     += " debug.lib "
     cDefGccLibs      += " -ldebug "
     cDefGccLibsw     += " -ldebug "
     cGccLibsOs2      += " -ldebug "
     cDefLibGccLibs   += " -ldebug "
     cDefGccLibsUnix  += " -ldebug "
     cDefGccLibsUnixMt+= " -ldebug "
     cDefaultLibsMt   += " debug.lib "
     cDefGccLibsMt    += " -ldebug "
     cDefGccLibsMtw   += " -ldebug "
     cGccLibsOs2Mt    += " -ldebug "
     cDefLibGccLibsMt += " -ldebug "
  ENDIF

As you can see, it uses debug.lib as one of the defaults whenever -b is selected. This library is never made. Only hbdebug.lib is made.

Also in ft_funcs.prg for hbmake there is a slight inconsistency at line 224. The second comparison is given as = instead of = =. ft_funcs.prg did have 2 places where this happened in both the hbdoc and hbmake utils. It was fixed in both places in hbdoc but only the first place in hbmake. It would be rare for this to cause any problems though.

IF cChar >= CHR( 64 ) .AND. cChar <= CHR( 90 ) .OR. cChar >= CHR( 97 ) ; .AND. cChar <= CHR( 122 ) .OR. cChar >= CHR( 48 ) .AND. cChar <= CHR( 57 ) ;
                .OR. cChar == CHR( 60 ) .OR. cchar == CHR( ASC( "-" ) ) ;
--> .OR. cchar == CHR( ASC( "(" ) ) .OR. cchar = CHR( ASC( "|" ) ) .OR. ; cchar == CHR( ASC( '.' ) ) .OR. cchar == CHR( ASC( '*' ) ) .OR. ; cchar == CHR( ASC( '#' ) ) .OR. cchar == CHR( ASC( '"' ) ) .OR. ; cchar == CHR( ASC( '/' ) ) .OR. cchar == CHR( ASC( "@" ) ) ; .OR. cchar == CHR( ASC( "=" ) ) .OR. cchar == CHR( ASC( 'Ä' ) ) ; .OR. cchar == CHR( ASC( '?' ) ) .OR. cchar == CHR( ASC( '!' ) ) ; .OR. cchar == CHR( ASC( "<" ) ) .OR. cchar == CHR( ASC( '>' ) ) ; .OR. cchar == CHR( ASC( '!' ) ) .OR. cchar == CHR( ASC( '+' ) )

Try to use the recent versions of all the above, and
it should work properly. As any alternative, try to
use the _same_ versions of all the above tools/libs
to get correct results. I suggest version 1.0.0 as
the latest stable build, instead of current SVN.

I'm not really interested in the stable build. I was just playing around with Harbour's MD5 hash function. After a recent fix it seems to get the correct hashes while xHarbour MD5 hash has some problems. I was using debug to play with some strings and thought there was a problem with hbmake. I still think there is a problem with the SVN version.
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to