Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Override ExtUtils::MakeMaker

by roperl (Beadle)
on Jun 01, 2018 at 16:24 UTC ( [id://1215645]=perlquestion: print w/replies, xml ) Need Help??

roperl has asked for the wisdom of the Perl Monks concerning the following question:

Trying to compile the MQSeries module using recently compiled perl Seems to complain about my arch and compiler not matching Use is there a way to override this with compiler=cc and arch=sun4-solaris-64int
/opt/perl/bin/perl Makefile.PL Checking if your kit is complete... Looks good Unrecognized architecture [sun4-solaris-thread-multi] and compiler [/o +pt/solarisstudio12.3/bin/cc]. Not setting rpath. Warning (mostly harmless): No library found for -lmqic32 Writing MYMETA.yml and MYMETA.json Writing MYMETA.yml and MYMETA.json Writing MYMETA.yml and MYMETA.json Unrecognized architecture [sun4-solaris-thread-multi] and compiler [/o +pt/solarisstudio12.3/bin/cc]. Not setting rpath. Writing MYMETA.yml and MYMETA.json Generating a Unix-style Makefile Writing Makefile for MQSeries Writing MYMETA.yml and MYMETA.json
Output of perl -V
# /opt/perl/bin/perl -V Summary of my perl5 (revision 5 version 26 subversion 0) configuration +: Platform: osname=solaris osvers=2.10 archname=sun4-solaris-thread-multi uname='sunos localhost 5.10 generic_150400-40 sun4v sparc sun4v ' config_args='' hint=recommended useposix=true d_sigaction=define useithreads=define usemultiplicity=define use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='/opt/solarisstudio12.3/bin/cc' ccflags ='-D_REENTRANT -I/usr/local/include -D_LARGEFILE_SOURCE -D +_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV' optimize='-O' cppflags='-D_REENTRANT -I/usr/local/include' ccversion='Sun C 5.12 SunOS_sparc 2011/11/16' gccversion='' gccosandvers='' intsize=4 longsize=4 ptrsize=4 doublesize=8 byteorder=4321 doublekind=4 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=2 ivtype='long' ivsize=4 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='/opt/solarisstudio12.3/bin/cc' ldflags =' -L/usr/lib -L/usr/ccs/lib -L/opt/solarisstudio12.3/prod +/lib/sparc -L/opt/solarisstudio12.3/prod/lib -L/lib -L/usr/local/lib +' libpth=/usr/lib /usr/ccs/lib /opt/solarisstudio12.3/prod/lib/sparc + /opt/solarisstudio12.3/prod/lib /lib /usr/local/lib libs=-lpthread -lsocket -lnsl -lgdbm -ldl -lm -lc perllibs=-lpthread -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 /opt/perl-5.26.0/lib/5.26.0/sun4-solaris-thread-mu +lti/CORE' cccdlflags='-KPIC' lddlflags='-G -L/usr/lib -L/usr/ccs/lib -L/opt/solarisstudio12.3/p +rod/lib/sparc -L/opt/solarisstudio12.3/prod/lib -L/lib -L/usr/local/l +ib' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under solaris Compiled at Jun 28 2017 17:13:14 @INC: /opt/perl-5.26.0/lib/site_perl/5.26.0/sun4-solaris-thread-multi /opt/perl-5.26.0/lib/site_perl/5.26.0 /opt/perl-5.26.0/lib/5.26.0/sun4-solaris-thread-multi /opt/perl-5.26.0/lib/5.26.0

Replies are listed 'Best First'.
Re: Override ExtUtils::MakeMaker (override %Config))
by beech (Parson) on Jun 01, 2018 at 20:47 UTC

    Hi,

    See ExtUtils::FakeConfig as a means to override Config

    I find it much simpler to install my own perl, no Config editing at all :)

      cool thanks I'll check it out

      I got it to compile without having to change MakeMaker options
      The issue was linking the object files was giving me this error for every symbol
      ld: fatal: symbol 'MQFIELD_STR' is multiply-defined: (file MQSeries.o type=FUNC; file constants.o type=FUNC);

      I added this to the Makefile for the LD variable
      LD = /opt/solarisstudio12.3/bin/cc --allow-multiple-definition

      This allows for the multiply-defined symbols.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (1)
As of 2024-04-24 13:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found