Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

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
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'

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"

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


    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?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://934619]
Approved by spx2
[tye]: gah, Benchmark needs some serious work.
[tye]: though, really, I just replace with single calls to clock_gettime( CLOCK_PROCESS_CPUT IME_ID)

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2017-02-23 03:09 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (338 votes). Check out past polls.