Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I just tried to install Devel::Cover on my home box running WinXP and Strawberry Perl 5.8.8. It failed with:
C:\DOCUME~1\linjoh\LOCALS~1\Temp\cpan\build\Devel-Cover-0.63>g++ -o bl +ib\arch\auto\Devel\Cover\Cover.dll -Wl,- -base-file -Wl,dll.base -mdll -s -L"c:\strawberry-perl\perl\lib\CORE" +-L"c:\strawberry-perl\mingw\lib" Cover.o -Wl,--image-base,0x31410000 C:\strawberry-perl\perl\lib\CORE\libperl +58.a -lmsvcrt -lmoldname -lkernel32 -lus er32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -lolea +ut32 -lnetapi32 -luuid -lws2_32 -lmpr -l winmm -lversion -lodbc32 -lodbccp32 dll.exp Cover.o:Cover.c:(.text+0x2002): undefined reference to `Perl_pp_nextst +ate' Cover.o:Cover.c:(.text+0x2050): undefined reference to `Perl_pp_nextst +ate' Cover.o:Cover.c:(.text+0x20c2): undefined reference to `Perl_pp_setsta +te' Cover.o:Cover.c:(.text+0x2110): undefined reference to `Perl_pp_setsta +te' Cover.o:Cover.c:(.text+0x2182): undefined reference to `Perl_pp_dbstat +e' Cover.o:Cover.c:(.text+0x21d0): undefined reference to `Perl_pp_dbstat +e' Cover.o:Cover.c:(.text+0x2237): undefined reference to `Perl_pp_enters +ub' Cover.o:Cover.c:(.text+0x2270): undefined reference to `Perl_pp_enters +ub' Cover.o:Cover.c:(.text+0x22d7): undefined reference to `Perl_pp_cond_e +xpr' Cover.o:Cover.c:(.text+0x2377): undefined reference to `Perl_pp_and' Cover.o:Cover.c:(.text+0x2417): undefined reference to `Perl_pp_andass +ign' Cover.o:Cover.c:(.text+0x24b7): undefined reference to `Perl_pp_or' Cover.o:Cover.c:(.text+0x2557): undefined reference to `Perl_pp_orassi +gn' Cover.o:Cover.c:(.text+0x25f7): undefined reference to `Perl_pp_xor' Cover.o:Cover.c:(.text+0x2697): undefined reference to `Perl_pp_requir +e' Cover.o:Cover.c:(.text+0x2737): undefined reference to `Perl_pp_exec' collect2: ld returned 1 exit status
This is the same error CPAN testers see. But looking at the CPAN Testers Matrix says it seem to work on Cygwin, at least some of the time.

And, ack'ing through my cygwin perl directory shows that these symbols are present in:

Binary file 5.8\cygwin\CORE\libperl.a matches Binary file 5.8\cygwin\CORE\libperl.dll.a matches

But ack'ing the Strawberry installation only matches header files (as with Cygwin). No match on .\lib\CORE\libperl58.a (or ./bin/perl58.dll?) where I suppose it would go if exported.

So, could this be because of the way Strawberry Perl is built? Is there some way to have it export those symbols similar to what Cygwin does?

Looking at the diff between my configuration and a working Cygwin Perl configuration, there are two ld flags that look promising (-Wl,--export-all-symbols and -Wl,--enable-auto-import).

I won't build a new Perl right now (getting a bit late), but maybe someone with a bit more clue can give me a hint on whether this sounds like the way to go?

Thanks,

/J


In reply to Problems installing Devel::Cover on Strawberry, seems to work on Cygwin by jplindstrom

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-19 10:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found