Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

How to satisfy ExtUtils::CBuilder?

by metaperl (Curate)
on Oct 29, 2011 at 15:51 UTC ( #934619=perlquestion: print w/ replies, xml ) Need Help??
metaperl has asked for the wisdom of the Perl Monks concerning the following question:

`perl Build.PL` complains that libcc_s.a is not found, however it is on my `LD_LIBRARY_PATH` ... what can I do to get ExtUtils::CBuilder to find it?

li2-168:~/.cpan/build/Crypt-Eksblowfish-0.009-kzs2xR# apt-file search gcc_s.a
gcc-mingw-w64: /usr/lib/gcc/i686-w64-mingw32/4.6/libgcc_s.a
gcc-mingw-w64: /usr/lib/gcc/x86_64-w64-mingw32/4.6/libgcc_s.a
li2-168:~/.cpan/build/Crypt-Eksblowfish-0.009-kzs2xR# echo $LD_LIBRARY_PATH
:/usr/lib/gcc/i686-w64-mingw32/4.6:/usr/lib/gcc/x86_64-w64-mingw32/4.6
li2-168:~/.cpan/build/Crypt-Eksblowfish-0.009-kzs2xR# perl Build.PL
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
Warning: ExtUtils::CBuilder not installed or no compiler detected
Proceeding with configuration, but compilation may fail during Build

Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Crypt-Eksblowfish' version '0.009'
li2-168:~/.cpan/build/Crypt-Eksblowfish-0.009-kzs2xR#






The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

-- Terence Parr, "Enforcing Strict Model View Separation in Template Engines"

Comment on How to satisfy ExtUtils::CBuilder?
Replies are listed 'Best First'.
Re: How to satisfy ExtUtils::CBuilder?
by Anonymous Monk on Oct 29, 2011 at 22:39 UTC

    complains that libcc_s.a is not found, however it is on my `LD_LIBRARY_PATH`

    I don't think ld cares about LD_LIBRARY_PATH at compile-time, but I also think LD_LIBRARY_PATH is for dynamic libraries (.so) not static ones (.a)

    The real problem is, why your compiler toolchain doesn't know where to find libcc_s.a, which is part of your compiler toolchain.

    For example

    $ g++ -print-search-dirs install: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/ programs: =c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/;c:/mingw/bin/../ +libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw3 +2/bin/mingw32/4.5.2/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../. +./mingw32/bin/ libraries: =c:/mingw/bin/../lib/gcc/mingw32/4.5.2/;c:/mingw/bin/../lib +/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib/m +ingw32/4.5.2/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw +32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../mingw32/4.5.2/ +;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../;/mingw/lib/mingw32/4 +.5.2/;/mingw/lib/

    g++ knows where to find libgcc_s.a

    c:/mingw/bin/../lib/gcc/mingw32/4.5.2/
    C:\MinGW\lib\gcc\mingw32\4.5.2\libgcc_s.a
    

    I don't know where ld keeps such a dir list, but IIRC, it responds to export LDFLAGS= -L/path/to/where/libcc_s/resides

    In any case, I doubt this is a perl specific problem, or ExtUtils::CBuilder problem

    $ perl -V:ldflags ldflags='-s -L"c:\perl\5.14.1\lib\MSWin32-x86-multi-thread\CORE" -L"C: +\MinGW\lib"';
Re: How to satisfy ExtUtils::CBuilder?
by Khen1950fx (Canon) on Oct 29, 2011 at 21:27 UTC
        No. It's necessary.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://934619]
Approved by spx2
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (17)
As of 2015-07-30 13:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (271 votes), past polls