• Re: Problemm with xHb GIT building

    From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 14:18:22 2024
    Il 09/01/2024 13:14, Andrzej Morgiewicz ha scritto:

    Warning W8065 contrib\hbhpdf\hpdf_utils.c 219: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 223: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 238: Call to function 'modff' with no prototype in function HPDF_FToA

    Please, add this at the end of BCC32 include\windows\crtl\math.h:

    #define modff( f, i ) ( float ) modf( f, ( double * ) i )

    Just after this line:

    #endif /* !defined(__clang__) */

    Then retry and let me know.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 14:23:49 2024
    Il 09/01/2024 13:14, Andrzej Morgiewicz ha scritto:

    Hi,
    Today I've tried to build xHarbour basing on GIT respsitory. Till now I'mn usig SVN xHarbour.org with HWGUI and RDDSQL commercial lib. Copiled with BCC58.
    I can't build with BCC58 becouse of error mentioned earlier by Pere Cordonet.

    Let me try with BCC58...

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 14:50:43 2024
    Il 09/01/2024 14:27, Enrico Maria Giordano ha scritto:

    Let me try with BCC58...

    Sorry, I don't have BCC58. Can you send it to me, please?

    Never mind. I found it thanks to the wayback machine.

    Is this the error you are referring to?

    Error E2141 harboury.c 4545: Declaration syntax error in function hb_comp_yyparse

    Please confirm.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 14:54:15 2024
    Il 09/01/2024 14:50, Enrico Maria Giordano ha scritto:

    Error E2141 harboury.c 4545: Declaration syntax error in function hb_comp_yyparse

    Ron, can you look at it, please?

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Andrzej Morgiewicz on Tue Jan 9 09:11:39 2024
    Andrzej Morgiewicz wrote:

    Hi,
    Today I've tried to build xHarbour basing on GIT respsitory. Till now I'mn usig SVN xHarbour.org with HWGUI and RDDSQL commercial lib. Copiled with BCC58.
    I can't build with BCC58 becouse of error mentioned earlier by Pere Cordonet. Eventually I used bcc77 and succesfully built core. But failed building contribs:
    MAKE Version 5.43 Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
    bcc32 -c -tWM -D__WIN32__ -D_HAVE_SQLITE_CONFIG_H -DHAVE_CONFIG_H -DHARBOUR_CONF -DOPENSSL_NO_DEPRECATED -DHB_VM_ALL -DHB_FM_DL_ALLOC -I"source\rtl\zlib" -I"contrib\pdflite\include" -I"contrib\png" -I"contrib\tiff" -I"contrib\jpeg" -I"include" -I"\
    Borland\bcc77\include" -I"obj\b32" -I"contrib\sixapi\include" -I"contrib\freeimage\include" -I"contrib\gd\include" -I"contrib\xwt\include" -I"contrib\xwt\src\xwt_win" -I"contrib\rddsql" -I"contrib\hbsqlit3" -O2 -OS -Ov -Oi -Oc -Ve -k- -q -a8 -w -w-8027
    -w-8071 -w-8121 -w-8060 -w-8080 -w-8084 -oobj\b32\hpdf_utils.obj contrib\hbhpdf\hpdf_utils.c
    contrib\hbhpdf\hpdf_utils.c:
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 219: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 223: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 238: Call to function 'modff' with no prototype in function HPDF_FToA
    *** 1 errors in Compile ***
    ** error 2 ** deleting obj\b32\hpdf_utils.obj
    I found this propably needs math.h from xHarbourBuilder.

    Using bcc32c.exe or bcc32.exe? Please try bcc32c.exe which is the
    default and auto dettected if you do NOT set any environment variables.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Andrzej Morgiewicz on Tue Jan 9 09:06:20 2024
    Andrzej Morgiewicz wrote:

    Hi,
    Today I've tried to build xHarbour basing on GIT respsitory. Till now I'mn usig SVN xHarbour.org with HWGUI and RDDSQL commercial lib. Copiled with BCC58.
    I can't build with BCC58 becouse of error mentioned earlier by Pere Cordonet. Eventually I used bcc77 and succesfully built core. But failed building contribs:
    MAKE Version 5.43 Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
    bcc32 -c -tWM -D__WIN32__ -D_HAVE_SQLITE_CONFIG_H -DHAVE_CONFIG_H -DHARBOUR_CONF -DOPENSSL_NO_DEPRECATED -DHB_VM_ALL -DHB_FM_DL_ALLOC -I"source\rtl\zlib" -I"contrib\pdflite\include" -I"contrib\png" -I"contrib\tiff" -I"contrib\jpeg" -I"include" -I"\
    Borland\bcc77\include" -I"obj\b32" -I"contrib\sixapi\include" -I"contrib\freeimage\include" -I"contrib\gd\include" -I"contrib\xwt\include" -I"contrib\xwt\src\xwt_win" -I"contrib\rddsql" -I"contrib\hbsqlit3" -O2 -OS -Ov -Oi -Oc -Ve -k- -q -a8 -w -w-8027
    -w-8071 -w-8121 -w-8060 -w-8080 -w-8084 -oobj\b32\hpdf_utils.obj contrib\hbhpdf\hpdf_utils.c
    contrib\hbhpdf\hpdf_utils.c:
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 219: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 223: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 238: Call to function 'modff' with no prototype in function HPDF_FToA
    *** 1 errors in Compile ***
    ** error 2 ** deleting obj\b32\hpdf_utils.obj
    I found this propably needs math.h from xHarbourBuilder.

    So my questions are:
    Is it possible to build with any Borland compilers?
    if not, what openssource compiler will be best to build xHarbour, xHarbourBuilder, SQLRDD and HWGUI. Or I'll will have to buy commercian one ?
    Thanks in advance
    Andrzej Morgiewicz





    Hi Andrzej

    1. Yes I am able to build xHarbour with contribs using the FREE
    Embarcadero C++ 7.30. You can use it without ay setup by just calling make_bc.bat if installed to the default locattion \bcc102.

    2. I am currently working on setup of MingW CLang - I believe this will
    be the best settup. Another serious contender on Windows is the FREE
    (but not open source) VS 2022 Community Edition.

    Ron

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Enrico Maria Giordano on Tue Jan 9 09:15:03 2024
    Enrico Maria Giordano wrote:


    Il 09/01/2024 13:14, Andrzej Morgiewicz ha scritto:

    Warning W8065 contrib\hbhpdf\hpdf_utils.c 219: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 223: Call to function 'modff' with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 238: Call to function 'modff' with no prototype in function HPDF_FToA

    Please, add this at the end of BCC32 include\windows\crtl\math.h:

    #define modff( f, i ) ( float ) modf( f, ( double * ) i )

    Just after this line:

    #endif /* !defined(__clang__) */

    Then retry and let me know.


    Enrico,

    I highly discourage the practice of modifying compiler's header file. It
    is indeed a very odd bug for bcc 7.70. I assume this is ttrue ONLY for bcc32.exe since bcc32c.exe compiles all fine even with earlier version
    7.30.

    Either way, instead of modifying the system header you may add such a
    define with a -D user flag. Also this should be reported to Embarcadero.

    Ron

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 14:27:39 2024
    Il 09/01/2024 14:23, Enrico Maria Giordano ha scritto:

    Let me try with BCC58...

    Sorry, I don't have BCC58. Can you send it to me, please?

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 16:51:03 2024
    Il 09/01/2024 15:15, Ron Pinkas ha scritto:

    I highly discourage the practice of modifying compiler's header file. It
    is indeed a very odd bug for bcc 7.70. I assume this is ttrue ONLY for bcc32.exe since bcc32c.exe compiles all fine even with earlier version
    7.30.

    I don't understand. I just tried with BCC32 7.30 and got the usual:

    Warning W8065 contrib\hbhpdf\hpdf_utils.c 219: Call to function 'modff'
    with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 223: Call to function 'modff'
    with no prototype in function HPDF_FToA
    Warning W8065 contrib\hbhpdf\hpdf_utils.c 238: Call to function 'modff'
    with no prototype in function HPDF_FToA

    This is my commands:

    SET CC_DIR=e:\fw\temp\bcc73
    make_bc all

    And there is no definition of modff in math.h of BCC32 7.30.

    Either way, instead of modifying the system header you may add such a
    define with a -D user flag.

    Interesting. How?

    Also this should be reported to Embarcadero.

    I'm not interested, sorry. It seems that this bug is there since BCC32
    7.20 if not earlier.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to All on Tue Jan 9 12:09:17 2024
    This is my commands:

    SET CC_DIR=e:\fw\temp\bcc73
    make_bc all

    And there is no definition of modff in math.h of BCC32 7.30.


    My unmodified official Embarcadero 7.30 downloaded directly from
    Embarcadero has include\windows\crtl math.h with line 173:

    #if defined(__clang__)
    float _EXPFUNC acosf(float);
    float _EXPFUNC asinf(float);
    float _EXPFUNC atanf(float);
    float _EXPFUNC coshf(float);
    float _EXPFUNC fabsf(float);
    float _EXPFUNC fmodf(float, float);
    float _EXPFUNC frexpf(float, int *);
    float _EXPFUNC hypotf(float, float);
    float _EXPFUNC log10f(float);
    float _EXPFUNC modff(float, float *);

    Either way, instead of modifying the system header you may add such a define with a -D user flag.

    Interesting. How?

    Let's first find out why you have an error that you should not have.

    Here is what my \bcc102\bin\bcc32c.exe say:

    Z:\GitHub\xharbour>\BCC102\bin\bcc32c.exe
    Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.
    bcc32c.exe: error: no input files

    Z:\GitHub\xharbour>

    Ron



    Also this should be reported to Embarcadero.

    I'm not interested, sorry. It seems that this bug is there since BCC32
    7.20 if not earlier.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 18:56:31 2024
    Il 09/01/2024 18:09, Ron Pinkas ha scritto:

    And there is no definition of modff in math.h of BCC32 7.30.

    My unmodified official Embarcadero 7.30 downloaded directly from
    Embarcadero has include\windows\crtl math.h with line 173:

    #if defined(__clang__)
    float _EXPFUNC acosf(float);
    float _EXPFUNC asinf(float);
    float _EXPFUNC atanf(float);
    float _EXPFUNC coshf(float);
    float _EXPFUNC fabsf(float);
    float _EXPFUNC fmodf(float, float);
    float _EXPFUNC frexpf(float, int *);
    float _EXPFUNC hypotf(float, float);
    float _EXPFUNC log10f(float);
    float _EXPFUNC modff(float, float *);

    Mine too. But it is only for CLANG flavour. We are speaking about BCC32
    (not CLANG).

    Either way, instead of modifying the system header you may add such a
    define with a -D user flag.

    Interesting. How?

    Let's first find out why you have an error that you should not have.

    The error is expected, since there is no definition for modff.

    Here is what my \bcc102\bin\bcc32c.exe say:

    Z:\GitHub\xharbour>\BCC102\bin\bcc32c.exe
    Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.
    bcc32c.exe: error: no input files

    This is bcc32c.exe. The problem is with bcc32.exe.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 19:38:08 2024
    Il 09/01/2024 19:28, Ron Pinkas ha scritto:

    This is bcc32c.exe. The problem is with bcc32.exe.

    But there is no bcc32.exe in official Embarcadero 7.30!

    But it IS in the commercial version! Sorry, Ron, we have already
    discussed of this argument. We should support any BCC version, as long
    as it is used and it is possible. Don't you agree?

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Tue Jan 9 19:58:27 2024
    Il 09/01/2024 14:54, Enrico Maria Giordano ha scritto:

    Error E2141 harboury.c 4545: Declaration syntax error in function
    hb_comp_yyparse

    Ron, can you look at it, please?

    Nothing about this problem?

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Enrico Maria Giordano on Tue Jan 9 13:28:45 2024
    Enrico Maria Giordano wrote:


    Il 09/01/2024 18:09, Ron Pinkas ha scritto:

    And there is no definition of modff in math.h of BCC32 7.30.

    My unmodified official Embarcadero 7.30 downloaded directly from Embarcadero has include\windows\crtl math.h with line 173:

    #if defined(__clang__)
    float _EXPFUNC acosf(float);
    float _EXPFUNC asinf(float);
    float _EXPFUNC atanf(float);
    float _EXPFUNC coshf(float);
    float _EXPFUNC fabsf(float);
    float _EXPFUNC fmodf(float, float);
    float _EXPFUNC frexpf(float, int *);
    float _EXPFUNC hypotf(float, float);
    float _EXPFUNC log10f(float);
    float _EXPFUNC modff(float, float *);

    Mine too. But it is only for CLANG flavour. We are speaking about BCC32
    (not CLANG).

    Either way, instead of modifying the system header you may add such a define with a -D user flag.

    Interesting. How?

    Let's first find out why you have an error that you should not have.

    The error is expected, since there is no definition for modff.

    Here is what my \bcc102\bin\bcc32c.exe say:

    Z:\GitHub\xharbour>\BCC102\bin\bcc32c.exe
    Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.
    bcc32c.exe: error: no input files

    This is bcc32c.exe. The problem is with bcc32.exe.


    But there is no bcc32.exe in official Embarcadero 7.30!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Enrico Maria Giordano on Tue Jan 9 18:00:56 2024
    Enrico Maria Giordano wrote:


    Il 09/01/2024 19:28, Ron Pinkas ha scritto:

    This is bcc32c.exe. The problem is with bcc32.exe.

    But there is no bcc32.exe in official Embarcadero 7.30!

    But it IS in the commercial version! Sorry, Ron, we have already
    discussed of this argument. We should support any BCC version, as long
    as it is used and it is possible. Don't you agree?


    I am not interested in any argument Enrico, I responded to clarify
    because you said 7.30.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Enrico Maria Giordano on Tue Jan 9 19:59:01 2024
    Enrico Maria Giordano wrote:


    Il 09/01/2024 14:54, Enrico Maria Giordano ha scritto:

    Error E2141 harboury.c 4545: Declaration syntax error in function hb_comp_yyparse

    Ron, can you look at it, please?

    Nothing about this problem?


    Legacy BCC can not compile the parser generated by latest bison, but
    CAN compile parser generated by older Bison. Users of BCC55 and
    posssibly all later legacy bcc32.exe can compile xHarbour if they
    install win_flex_bison:

    https://github.com/lexxmark/winflexbison/releases/tag/v2.5.16

    and set HB_USE_BISON=1

    I am currently testing later version to see which is the latest that
    works and will post a revised find_bison.bat asap.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ron Pinkas@21:1/5 to Ron Pinkas on Tue Jan 9 21:03:43 2024
    Ron Pinkas wrote:
    Enrico Maria Giordano wrote:


    Il 09/01/2024 14:54, Enrico Maria Giordano ha scritto:

    Error E2141 harboury.c 4545: Declaration syntax error in function hb_comp_yyparse

    Ron, can you look at it, please?

    Nothing about this problem?


    Legacy BCC can not compile the parser generated by latest bison, but
    CAN compile parser generated by older Bison. Users of BCC55 and
    posssibly all later legacy bcc32.exe can compile xHarbour if they
    install win_flex_bison:

    https://github.com/lexxmark/winflexbison/releases/tag/v2.5.16

    and set HB_USE_BISON=1

    I am currently testing later version to see which is the latest that
    works and will post a revised find_bison.bat asap.

    Support for winflexbison 2.5.16 is ready - user should unzip to default
    folder name under \ of xHarbour srive or C:, and set HB_USE_BISON=1

    Tested to build core correctly with BCC 5.5

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Wed Jan 10 09:52:12 2024
    Il 10/01/2024 01:59, Ron Pinkas ha scritto:

    Legacy BCC can not compile the parser generated by latest bison, but
    CAN compile parser generated by older Bison. Users of BCC55 and
    posssibly all later legacy bcc32.exe can compile xHarbour if they
    install win_flex_bison:

    https://github.com/lexxmark/winflexbison/releases/tag/v2.5.16

    and set HB_USE_BISON=1

    I am currently testing later version to see which is the latest that
    works and will post a revised find_bison.bat asap.

    Ah, ok, I did not know or remember it.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Enrico Maria Giordano@21:1/5 to All on Wed Jan 10 09:51:14 2024
    Il 10/01/2024 00:00, Ron Pinkas ha scritto:

    But there is no bcc32.exe in official Embarcadero 7.30!

    But it IS in the commercial version! Sorry, Ron, we have already
    discussed of this argument. We should support any BCC version, as long
    as it is used and it is possible. Don't you agree?

    I am not interested in any argument Enrico, I responded to clarify
    because you said 7.30.

    Sorry, wrong term. No "argument" but "subject". Anyway, the fact is that bcc32.exe 7.30 does exist and we should support it.

    --
    Enrico Maria Giordano

    http://www.emagsoftware.it
    http://www.emagsoftware.it/emgmusic
    http://www.emagsoftware.it/spectrum
    http://www.emagsoftware.it/tbosg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)