Loading ...
Sorry, an error occurred while loading the content.

netbeans fails to build on Normal Windows build

Expand Messages
  • Mike Williams
    Hi, FYI build on Windows with VC++ 6 SP something or other with FEATURES=NORMAL, produces the following compiler error: netbeans.c(328) : error C2065: EINTR
    Message 1 of 5 , Dec 8, 2003
    • 0 Attachment
      Hi,

      FYI build on Windows with VC++ 6 SP something or other with
      FEATURES=NORMAL, produces the following compiler error:

      netbeans.c(328) : error C2065: 'EINTR' : undeclared identifier

      This is VIM 6.2 and all patches.

      TTFN

      Mike
      --
      Swing dead cat by the tail? More fun using live ones.
    • Mike Williams
      Hi, I have tracked this down further and know the problem but am not sure of the best solution yet. EINTR is obviously declared in errno.h, but this is only
      Message 2 of 5 , Dec 9, 2003
      • 0 Attachment
        Hi,

        I have tracked this down further and know the problem but am not sure
        of the best solution yet. EINTR is obviously declared in errno.h,
        but this is only included in a Windows build from structs.h if
        USE_ICONV is defined, which is not for FEATURES=NORMAL.

        Perhaps netbeans.c needs some pp logic to include errno.h for WIN32
        if USE_ICONV is not defined. However, there is a WSAEINTR Winsock
        error code and perhaps a simple redefine of EINTR to WSAEINTR would
        fo the trick - I am neither a winsock nor a netbeans user to know the
        safety of that hack.

        Perhaps it is a problem in feature.h for Win32 - USE_ICONV is only
        defined if FEAT_MBYTE is defined, which is dependent on FEAT_BIG
        being defined, but this should be a NORMAL build.

        Any suggestions of the right way to go to fix this?

        TTFN

        On 8 Dec 2003 at 17:11, Mike Williams wrote:

        > Hi,
        >
        > FYI build on Windows with VC++ 6 SP something or other with
        > FEATURES=NORMAL, produces the following compiler error:
        >
        > netbeans.c(328) : error C2065: 'EINTR' : undeclared identifier
        >
        > This is VIM 6.2 and all patches.
        >
        > TTFN
        >
        > Mike
        > --
        > Swing dead cat by the tail? More fun using live ones.
        >

        Mike
        --
        To Live long and Prosper, always carry a charged phaser.
      • Alejandro Lopez-Valencia
        El Tue, 09 Dec 2003 18:10:50 -0000, Mike Williams ... Look at the way it ms managed in Make_cyg.mak and Make_ming.mak, modify and submit a patch to Bram. (In
        Message 3 of 5 , Dec 9, 2003
        • 0 Attachment
          El Tue, 09 Dec 2003 18:10:50 -0000, Mike Williams
          <mike.williams@...> escribió:


          >
          > Perhaps it is a problem in feature.h for Win32 - USE_ICONV is only
          > defined if FEAT_MBYTE is defined, which is dependent on FEAT_BIG
          > being defined, but this should be a NORMAL build.
          >
          > Any suggestions of the right way to go to fix this?
          >

          Look at the way it ms managed in Make_cyg.mak and Make_ming.mak, modify
          and submit a patch to Bram. (In other words, Win32 builds should use
          FEAT_BYTE unless there is a very good reson not to.)

          --
          The limits of my language are the limits of my world.
          Ludwig Wittgenstein
        • Mike Williams
          Hi ... My bad, I was getting confused from trying to work out the difference between when it built ok and when it didn t. The VC make file and feature.h are
          Message 4 of 5 , Dec 10, 2003
          • 0 Attachment
            Hi

            On 9 Dec 2003 at 13:27, Alejandro Lopez-Valencia wrote:

            > El Tue, 09 Dec 2003 18:10:50 -0000, Mike Williams
            > <mike.williams@...> escribió:
            > >
            > > Perhaps it is a problem in feature.h for Win32 - USE_ICONV is only
            > > defined if FEAT_MBYTE is defined, which is dependent on FEAT_BIG
            > > being defined, but this should be a NORMAL build.
            > >
            > > Any suggestions of the right way to go to fix this?
            > >
            >
            > Look at the way it ms managed in Make_cyg.mak and Make_ming.mak, modify
            > and submit a patch to Bram. (In other words, Win32 builds should use
            > FEAT_BYTE unless there is a very good reson not to.)

            My bad, I was getting confused from trying to work out the difference
            between when it built ok and when it didn't. The VC make file and
            feature.h are ok.

            This is actually a bug in netbeans.c on Windows. The check for EINTR
            is against the last Winsock error for which the errno.h EINTR value
            will never be returned. The fix is to redefine EINTR as WSAEINTR
            which seems to be the Winsock equivalent. Just need to undefine
            EINTR in case errno.h has been included in a header.

            Here is the patch that should fix the bug.

            *** netbeans.c.orig Wed Dec 10 09:41:07 2003
            --- netbeans.c Wed Dec 10 09:41:23 2003
            ***************
            *** 32,37 ****
            --- 32,39 ----
            * errno... */
            # define sock_errno WSAGetLastError()
            # define ECONNREFUSED WSAECONNREFUSED
            + # undef EINTR
            + # define EINTR WSAEINTR
            # define sock_write(sd, buf, len) send(sd, buf, len, 0)
            # define sock_read(sd, buf, len) recv(sd, buf, len, 0)
            # define sock_close(sd) closesocket(sd)


            TTFN

            Mike
            --
            A closed mouth gathers no feet.
          • Bram Moolenaar
            ... Thanks, I ll include it. -- From know your smileys : *
            Message 5 of 5 , Dec 24, 2003
            • 0 Attachment
              Mike Williams wrote:

              > On 9 Dec 2003 at 13:27, Alejandro Lopez-Valencia wrote:
              >
              > > El Tue, 09 Dec 2003 18:10:50 -0000, Mike Williams
              > > <mike.williams@...> escribi=F3:
              > > >
              > > > Perhaps it is a problem in feature.h for Win32 - USE_ICONV is only
              > > > defined if FEAT_MBYTE is defined, which is dependent on FEAT_BIG
              > > > being defined, but this should be a NORMAL build.
              > > >
              > > > Any suggestions of the right way to go to fix this?
              > > >
              > >
              > > Look at the way it ms managed in Make_cyg.mak and Make_ming.mak, modify
              > > and submit a patch to Bram. (In other words, Win32 builds should use
              > > FEAT_BYTE unless there is a very good reson not to.)
              >
              > My bad, I was getting confused from trying to work out the difference
              > between when it built ok and when it didn't. The VC make file and
              > feature.h are ok.
              >
              > This is actually a bug in netbeans.c on Windows. The check for EINTR
              > is against the last Winsock error for which the errno.h EINTR value
              > will never be returned. The fix is to redefine EINTR as WSAEINTR
              > which seems to be the Winsock equivalent. Just need to undefine
              > EINTR in case errno.h has been included in a header.
              >
              > Here is the patch that should fix the bug.

              Thanks, I'll include it.

              --
              From "know your smileys":
              *<|:-) Santa Claus (Ho Ho Ho)

              /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
              /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
              \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
              \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
            Your message has been successfully submitted and would be delivered to recipients shortly.