so, apparently, you have two Perl installations, which you should take care to not mix up. (BTW, I said perl -V (capital V) - this would've shown the compiler and other settings that the particular version of Perl has been built with. The same compiler should be used to build extensions...).
Ok in my home I have this
sadm@bioinfo-z:~$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
Platform:
osname=solaris, osvers=2.10, archname=sun4-solaris-64int
uname='sunos localhost 5.10 sun4u sparc SUNW,Ultra-2'
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultipl
+icity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xar
+ch=v8 -D_TS_ERRNO',
optimize='-xO3 -xspace -xildoff',
cppflags=''
ccversion='Sun WorkShop', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1
+6
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='of
+f_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =''
libpth=/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-R /usr/
+perl5/5.8.4/lib/sun4-solaris-64int/CORE'
cccdlflags='-KPIC', lddlflags='-G'
Characteristics of this binary (from libperl):
Compile-time options: USE_64_BIT_INT USE_LARGE_FILES
Locally applied patches:
22667 The optree builder was looping when constructing the ops
+ ...
22715 Upgrade to FileCache 1.04
22733 Missing copyright in the README.
22746 fix a coredump caused by rv2gv not fully converting a PV
+ ...
22755 Fix 29149 - another UTF8 cache bug hit by substr.
22774 [perl #28938] split could leave an array without ...
22775 [perl #29127] scalar delete of empty slice returned garb
+age
22776 [perl #28986] perl -e "open m" crashes Perl
22777 add test for change #22776 ("open m" crashes Perl)
22778 add test for change #22746 ([perl #29102] Crash on assig
+n ...
22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's
+ ...
22796 [perl #29346] Double warning for int(undef) and abs(unde
+f) ...
22818 BOM-marked and (BOMless) UTF-16 scripts not working
22823 [perl #29581] glob() misses a lot of matches
22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/
+1 cpu)
22830 [perl #29637] Thread creation time is hypersensitive
22831 improve hashing algorithm for ptr tables in perl_clone:
+...
22839 [perl #29790] Optimization busted: '@a = "b", sort @a' .
+..
22850 [PATCH] 'perl -v' fails if local_patches contains code s
+nippets
22852 TEST needs to ignore SCM files
22886 Pod::Find should ignore SCM files and dirs
22888 Remove redundant %SIG assignments from FileCache
23006 [perl #30509] use encoding and "eq" cause memory leak
23074 Segfault using HTML::Entities
23106 Numeric comparison operators mustn't compare addresses o
+f ...
23320 [perl #30066] Memory leak in nested shared data structur
+es ...
23321 [perl #31459] Bug in read()
SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962
Built under solaris
Compiled at Feb 13 2006 05:12:02
%ENV:
PERL5LIB="/home/sadm/lib/site_perl/sun4-solaris-64int:/home/sadm/l
+ib/site_perl/"
@INC:
/home/sadm/lib/site_perl/sun4-solaris-64int
/home/sadm/lib/site_perl//5.8.4/sun4-solaris-64int
/home/sadm/lib/site_perl//5.8.4
/home/sadm/lib/site_perl/
/usr/perl5/5.8.4/lib/sun4-solaris-64int
/usr/perl5/5.8.4/lib
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int
/usr/perl5/site_perl/5.8.4
/usr/perl5/site_perl
/usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int
/usr/perl5/vendor_perl/5.8.4
/usr/perl5/vendor_perl
presuming you want to install the GD binding for the Perl 5.8.7 (in your home(?)),
Yes, that's my intention.
are you still getting the same error cannot find include file: <gd.h>, if you run /home/sadm/.perl/bin/perl Makefile.PL && make as your regular user, and if so, is the header file gd.h in fact accessible under the include path that is specified on the cc command line (i.e. -I/usr/local/include)?
Yes, the same error I have.
---
neversaint and everlastingly indebted.......
| [reply] [d/l] |
sadm@bioinfo-z:~$ perl -ve
This is perl, v5.8.7 built for sun4-solaris-thread-multi
and now, you have, apparently under the same circumstances (i.e. same user)
sadm@bioinfo-z:~$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
(...)
(note the different Perl version)
As I said, do try not to mix them up :) To build an extension
for a particular version of Perl, you have to run Makefile.PL with
that same version. Perl will then use the configuration belonging
to that version to set things up correctly. The easiest way to make sure
this happens is to call the desired perl with an absolute path.
(...)
Yes, the same error I have.
Did you in fact call Perl with an absolute path (/home/sadm/.perl/bin/perl Makefile.PL),
or just perl Makefile.PL? In case you've actually got the right
Perl, you should see "5.8.7" (which I presume is the version in your
home) somewhere in the make output.
If you're still having problems with gd.h not being found,
do check if it really is readable, e.g. run ls -l /usr/local/include/gd.h as
the same user you ran make (and look at the permissions).
If you're absolutely sure the header file is there and readable,
but the compiler still won't find it (despite having -I/usr/local/include on
its command line), you could use the system call tracer truss to figure out
what going on:
truss -f -t open,stat -o debug.out ...
where ... is the entire cc command line that is
failing (cut-n-paste it as is from the make output). Make
sure you run the command from the directory that GD.c is in.
Then inspect debug.out, specifically looking for stuff
concerning gd.h (e.g. grep 'gd\.h' debug.out, etc...).
This will tell you what paths are being tried, and if the open
succeeded. In the latter case you'd see a filedescriptor number,
e.g. '= 4' at the end of the line. Otherwise, you'd see the
respective error, e.g. Err#2 ENOENT. (It's usually OK to get
several errors, as long as at least one attempt to open the file
is succeeding...)
Good luck!
| [reply] [d/l] [select] |