in reply to [OT] Building Math::Pari on M$ Windows

I have had problems like this in the past (not specifically this one) where path names have had embedded spaces. Yes, use /E and check the header file included immediately before WinUser.h.
  • Comment on Re: [OT] Building Math::Pari on M$ Windows

Replies are listed 'Best First'.
Re^2: [OT] Building Math::Pari on M$ Windows
by syphilis (Archbishop) on Apr 04, 2007 at 03:02 UTC
    Thanks almut, cdarke for the /E tip. It revealed that there's a function called 'gpsi' in the pari source, and I guess that was the root of the problem the compiler was having with the 'gpsi' identifier. I couldn't find out (didn't look too hard) what was changing the name of the identifier from 'lpsi' to 'gpsi' - in the end I just changed the 2 occurrences of 'lpsi' in WinUser.h to 'lxpsi' and that got me passed that hurdle.

    Next problem was:
    kernel1.c(223) : error C4235: nonstandard extension used : '__asm' key +word not supported on this architecture
    Is that telling me that inlining of assembly code is not supported on this architecture ? Or does it just mean that one needs to use a different keyword and/or technique to inline assembly code ?

    Finally, I tried a straight C build (no asm). That compiled ok, but resulted in a number of segfaults and test failures during the running of the test suite.

    I think I'll just settle for the 32-bit build - ftm, anyway.

    Cheers,
    Rob
    Update:"ftm" eq "for the moment". (I think there are some who might have thought it meant something else :-)
      Is that telling me that inlining of assembly code is not supported on this architecture ?

      Yes, probably. __asm{} was previously, only supported on x86. It would appear to indicate that they haven't yet, or maybe, are not intending to, ungrade the inline assembler to support iapx-64?

      This post on the MS forums might suggest a way around this, via the use of another non-standard extension __emit{}. But then you'd have to translate the opcode to hex yourself, which seems more than a little retro. Shades of Spectrum Duck Shoot :)


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Thanks BrowserUK.

        I must confess that I don't understand the reference to "Spectrum Duck Shoot" at all ... but it certainly sounds like something that I could readily support.

        For me, the main value of the link you provided was that it advised putting the asm code in a separate file. (I freak right out whenever I see something that begins with "0x..." :-)

        Cheers,
        Rob