Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

How to satisfy ExtUtils::CBuilder?

by metaperl (Curate)
on Oct 29, 2011 at 15:51 UTC ( [id://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"

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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2024-04-23 11:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found