Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Building Algorithm::FastPermute under AS

by robin (Chaplain)
on Mar 05, 2002 at 14:20 UTC ( [id://149370]=note: print w/replies, xml ) Need Help??


in reply to Building Algorithm::FastPermute under AS

Other people have mentioned this problem before, but I'm ashamed to say that I can't remember whether there's a solution. According to Edwin Pratomo, who has done some investigation, the problem is the use of the PUSHBLOCK macro (in the FastPermute source code) in conjunction with the MULTIPLICITY option (which ActiveState use to compile their perls).

Do you have the same problem with Graham Barr's Scalar-List-Utils package? That package also uses PUSHBLOCK, so I wonder how it has been made to work. Does anyone have any ideas?

  • Comment on Re: Building Algorithm::FastPermute under AS

Replies are listed 'Best First'.
Aha! (Re: Building Algorithm::FastPermute under AS)
by robin (Chaplain) on Mar 05, 2002 at 14:47 UTC
    This is the most recent change from Scalar-List-Utils-1.06/ChangeLog:
    Change 645 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr) Some platforms require the main executable to export symbols needed by modules. In 5.7.2 and prior releases of perl Perl_cxinc was not exported so we need to duplicate its functionality
    I'm sure that's the same problem that you're seeing. I'll see if I can steal Graham's solution and add it to Algorithm::FastPermute.
Re: Re: Building Algorithm::FastPermute under AS
by robin (Chaplain) on Mar 05, 2002 at 15:20 UTC
      Yes it would appear that you have resolved the problem.

      I havent tried to use it yet so this could be premature (but probably isnt) but it passed all the tests and installed fine.

      I just wanted to say that your responsiveness regarding this issue is/should be an example to the many who post XS modules that wont build under AS/Cygwin. Not all of us are good enough C programmers to figure this stuff out themselves. I know im not anyway.

      BTW heres the output, thanks a million.

      D:\Perl\HandBuild\Algorithm-FastPermute-0.05>perl makefile.pl Checking if your kit is complete... Looks good Writing Makefile for Algorithm::FastPermute D:\Perl\HandBuild\Algorithm-FastPermute-0.05>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp FastPermute.pm blib\lib\Algorithm\FastPermute.pm cp perms.pl blib\lib\Algorithm\perms.pl D:\Perl\bin\Perl.exe -ID:\Perl\lib -ID:\Perl\lib D:\Perl\lib\E +xtUtils/xsubpp -typemap D:\Perl\lib\ExtUtils\type map FastPermute.xs > FastPermute.xsc && D:\Perl\bin\Perl.exe -ID:\Perl +\lib -ID:\Perl\lib -MExtUtils::Command -e mv FastP ermute.xsc FastPermute.c cl -c -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT + -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_ IMPLICIT_SYS -DPERL_MSVCRT_READFIX -pg -DVERSION=\"0.05\" -DXS_VER +SION=\"0.05\" -ID:\Perl\lib\CORE FastPermute.c Command line warning D4002 : ignoring unknown option '-pg' FastPermute.c "Running Mkbootstrap for Algorithm::FastPermute ()" D:\Perl\bin\Perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::C +ommand -e chmod 644 FastPermute.bs D:\Perl\bin\Perl.exe "-ID:\Perl\lib" "-ID:\Perl\lib" -MExtUtil +s::Mksymlists -e "Mksymlists('NAME' => 'Algorithm ::FastPermute', 'DLBASE' => 'FastPermute', 'DL_FUNCS' => { }, 'FUNCLI +ST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Algorithm\FastPermute\FastPermute.dll + -dll -nologo -nodefaultlib -release -libpath:"D: \Perl\lib\CORE" -machine:x86 FastPermute.obj D:\Perl\lib\CORE\perl5 +6.lib oldnames.lib kernel32.lib user32.lib gdi32.l ib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleau +t32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:FastPe +rmute.def Creating library blib\arch\auto\Algorithm\FastPermute\FastPermute.l +ib and object blib\arch\auto\Algorithm\FastPermute \FastPermute.exp D:\Perl\bin\Perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::C +ommand -e chmod 755 blib\arch\auto\Algorithm\FastP ermute\FastPermute.dll D:\Perl\bin\Perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::C +ommand -e cp FastPermute.bs blib\arch\auto\Algorit hm\FastPermute\FastPermute.bs D:\Perl\bin\Perl.exe -ID:\Perl\lib -ID:\Perl\lib -MExtUtils::C +ommand -e chmod 644 blib\arch\auto\Algorithm\FastP ermute\FastPermute.bs D:\Perl\HandBuild\Algorithm-FastPermute-0.05>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. D:\Perl\bin\Perl.exe -Iblib\arch -Iblib\lib -ID:\Perl\lib -ID: +\Perl\lib test.pl 1..8 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 D:\Perl\HandBuild\Algorithm-FastPermute-0.05>nmake install Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. Installing D:\Perl\site\lib\auto\Algorithm\FastPermute\FastPermute.bs Installing D:\Perl\site\lib\auto\Algorithm\FastPermute\FastPermute.dll Installing D:\Perl\site\lib\auto\Algorithm\FastPermute\FastPermute.exp Installing D:\Perl\site\lib\auto\Algorithm\FastPermute\FastPermute.lib Installing D:\Perl\site\lib\Algorithm\FastPermute.pm Installing D:\Perl\site\lib\Algorithm\perms.pl Writing D:\Perl\site\lib\auto\Algorithm\FastPermute\.packlist Appending installation info to D:\Perl\lib/perllocal.pod

      Yves / DeMerphq
      --
      When to use Prototypes?
      Advanced Sorting - GRT - Guttman Rosler Transform

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://149370]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-04-25 08:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found