in reply to Re^6: Need Help Porting XS Modules to Windows
in thread Need Help Porting XS Modules to Windows

Notepad's "save as" "ANSI" should at least get rid of the BOM

Thanks - that works fine.
With that fixed, I then face exactly the same problems with ICC-Support-Lapack-0.6 as I reported for ICC-Support-Levmar-0.50.

That's about as far as I've got.
I don't trust Module::Build to do things correctly and I don't make any attempt to become familiar with it. There's also a lot I don't know about macos.
Can the OP provide Makefile.PL files (as replacements to the Build.PL files) that work fine on his macs ?

Cheers,
Rob
  • Comment on Re^7: Need Help Porting XS Modules to Windows

Replies are listed 'Best First'.
Re^8: Need Help Porting XS Modules to Windows
by syphilis (Archbishop) on Oct 02, 2018 at 14:41 UTC
    That's about as far as I've got

    I've just now managed to get ICC-Support-Lapack-0.6 and ICC-Support-Levmar-0.50 to build ok and pass the test suite on Strawberry-5.28.0.
    With the 'Levmar' module, the following command gets run at the end of the 'perl Build':
    g++.exe -o "blib\arch\auto\ICC\Support\Levmar\Levmar.xs.dll" -Wl,--ima +ge-base,0x2d170000 -mdll -s -L"C:\_64\strawberry-5.28.0\perl\lib\CORE +" -L"C:\_64\strawberry-5.28.0\c\lib" "lib\ICC\Support\Levmar.lds" -framework Accelerate "lib\ICC\Support\L +evmar.exp"
    That command fails in the way I outlined earlier. But if I remove the last 4 arguments and manually run:
    g++.exe -o "blib\arch\auto\ICC\Support\Levmar\Levmar.xs.dll" -Wl,--ima +ge-base,0x2d170000 -mdll -s -L"C:\_64\strawberry-5.28.0\perl\lib\CORE +" -L"C:\_64\strawberry-5.28.0\c\lib"
    then the build is completed, and I can then successfully run 'perl Build test'.

    And it's the same for the 'Lapack' module (except, of course, that occurrences of "Levmar" are replaced by "Lapack").

    However, manually running edited commands is not an ideal way to complete a build.
    It would be better if Module::Build could be coerced into producing the shortened command that actually works.
    I don't know how to get Module::Build to do that. Someone other than me would have to sort that out.

    Cheers,
    Rob