Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: building perl with 64-bit

by syphilis (Archbishop)
on May 22, 2014 at 00:18 UTC ( [id://1087038]=note: print w/replies, xml ) Need Help??


in reply to building perl with 64-bit

Hi dsb,

I don't quite follow (which is not necessarily your fault :-)

What is the output of perl -V for the perl you built yourself ?

When you fire up cpan, are you running the one that's part of the perl you built ? Or are you running the one that's part of the system perl ?
(You want the former.)

Is there a way to configure cpan to install 64-bit version to the architecture specific directories

Normally, make install will install into the correct location without there being any need to even think about it.
In which location are modules being placed ? ... and where precisely do you want them to be placed ?

Cheers,
Rob

Replies are listed 'Best First'.
Re^2: building perl with 64-bit
by Anonymous Monk on May 22, 2014 at 11:14 UTC
    Hi When You install perl modules via cpan, you need to make sure you start the proper perl aka:
    /opt/perl/bin/perl -MCPAN -e shell

    or inside a untarred module
    /opt/perl/bin/perl ./MAKEFILE.PL

    Or you can use perlbrew which sets up the PERL5LIB environment variable accordingly.

Re^2: building perl with 64-bit
by dsb (Chaplain) on May 22, 2014 at 12:35 UTC
    Here's my perl -V output:
    >:~$ perl -V Summary of my perl5 (revision 5 version 16 subversion 3) configuration +: Platform: osname=linux, osvers=2.6.32-279.el6.x86_64, archname=x86_64-linux uname='linux nyctrdmonp02 2.6.32-279.el6.x86_64 #1 smp fri jun 22 +12:19:21 utc 2012 x86_64 x86_64 x86_64 gnulinux ' config_args='' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I +/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/loca +l/include' ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-3)', gccos +andvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +6 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/li +b /lib64 /usr/lib64 libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.12' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstac +k-protector' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT +_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under linux Compiled at May 21 2014 13:54:14 @INC: /export/home/scratch/perl/lib/site_perl/5.16.3/x86_64-linux /export/home/scratch/perl/lib/site_perl/5.16.3 /export/home/scratch/perl/lib/5.16.3/x86_64-linux /export/home/scratch/perl/lib/5.16.3
    So the problem is ultimately that I need DBD::Sybase, which fails when using CPAN.

    When searched around for the errors I was getting, I picked up a lot of hints that CPAN was trying to install 32-bit versions which were clashing on my 64-bit box.

    When i went back to the non-prod box that was built out by a guy not with the company any more, I noticed that all the DB(I|D) modules were in the architecture specific directory:

    >:/export/home/scratch/perl/lib$ find . -name DBI* ./site_perl/5.16.3/CGI/Session/Driver/DBI.pm ./site_perl/5.16.3/Log/Log4perl/Appender/DBI.pm ./site_perl/5.16.3/DBI ./site_perl/5.16.3/x86_64-linux/Win32/DBIODBC.pm ./site_perl/5.16.3/x86_64-linux/DBI ./site_perl/5.16.3/x86_64-linux/auto/DBI ./site_perl/5.16.3/x86_64-linux/auto/DBI/DBI.bs ./site_perl/5.16.3/x86_64-linux/auto/DBI/DBI.so ./site_perl/5.16.3/x86_64-linux/auto/DBI/DBIXS.h ./site_perl/5.16.3/x86_64-linux/DBI.pm ./site_perl/5.16.3/x86_64-linux/Bundle/DBI.pm >:/export/home/scratch/perl/lib$ find . -name DBD* ./site_perl/5.16.3/DBD ./site_perl/5.16.3/x86_64-linux/DBD ./site_perl/5.16.3/x86_64-linux/DBI/DBD ./site_perl/5.16.3/x86_64-linux/DBI/DBD.pm ./site_perl/5.16.3/x86_64-linux/auto/DBD ./site_perl/5.16.3/x86_64-linux/Bundle/DBD
    Also notice that there is a DBI folder under the standard site_perl directory, but the DBI.pm package is only in the x86... directory. Never seen that, but again, not very experienced with building a good perl install.

    From there I started looking around for 64-bit specific DBI and DBD packages and found a source for rpms. But that seems fairly tedious, so...here I am. Truth be told, I'm not even sure that these RPM's will work.

    Short version: I want DBI with DBD::Sybase and DBD::Oracle but perl complains when I try to install via CPAN.

    dsb
    This @ISA my( $cool ) %SIG

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1087038]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2024-04-23 19:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found