Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^4: DBD::Oracle only installs under /root ?

by toledotown (Novice)
on Mar 19, 2018 at 15:30 UTC ( [id://1211246]=note: print w/replies, xml ) Need Help??


in reply to Re^3: DBD::Oracle only installs under /root ?
in thread DBD::Oracle only installs under /root ?

Thanks, here is the requested info.

[root@server ~]# which perl /usr/bin/perl Summary of my perl5 (revision 5 version 16 subversion 3) configuration +: Platform: osname=linux, osvers=3.8.13-55.1.8.el7uek.x86_64, archname=x86_64- +linux-thread-multi uname='linux x86-ol7-builder-01.us.oracle.com 3.8.13-55.1.8.el7uek +.x86_64 #2 smp wed mar 11 18:46:26 pdt 2015 x86_64 x86_64 x86_64 gnul +inux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOU +RCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 + -grecord-gcc-switches -m64 -mtune=generic -Dccdlflags=-Wl,--enable +-new-dtags -Dlddlflags=-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOUR +CE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 +-grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro -DDEBUGGING +=-g -Dversion=5.16.3 -Dmyhostname=localhost -Dperladmin=root@localhos +t -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -D +siteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/us +r/local/lib64/perl5 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share +/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 -Dvendorarch=/usr/lib64 +/perl5/vendor_perl -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr +/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithread +s -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db + -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -D +installusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/le +ss -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_ +r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endserven +t_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustom +ize' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasin +g -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D +_FILE_OFFSET_BITS=64', optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions +-fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switc +hes -m64 -mtune=generic', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -f +stack-protector -I/usr/local/include' ccversion='', gccversion='4.8.5 20150623 (Red Hat 4.8.5-11)', gcco +sandvers='' 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='gcc', ldflags =' -fstack-protector' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread +-lc -lgdbm_compat perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.17' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,--en +able-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_F +ORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buf +fer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro ' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT +_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API USE_SITECUSTOMIZE Locally applied patches: Fedora Patch1: Removes date check, Fedora/RHEL specific Fedora Patch3: support for libdir64 Fedora Patch4: use libresolv instead of libbind Fedora Patch5: USE_MM_LD_RUN_PATH Fedora Patch6: Skip hostname tests, due to builders not being +network capable Fedora Patch7: Dont run one io test due to random builder fail +ures Fedora Patch9: Fix find2perl to translate ? glob properly (RT# +113054) Fedora Patch10: Fix broken atof (RT#109318) Fedora Patch13: Clear $@ before "do" I/O error (RT#113730) Fedora Patch14: Do not truncate syscall() return value to 32 b +its (RT#113980) Fedora Patch15: Override the Pod::Simple::parse_file (CPANRT#7 +7530) Fedora Patch16: Do not leak with attribute on my variable (RT# +114764) Fedora Patch17: Allow operator after numeric keyword argument +(RT#105924) Fedora Patch18: Extend stack in File::Glob::glob, (RT#114984) Fedora Patch19: Do not crash when vivifying $| Fedora Patch20: Fix misparsing of maketext strings (CVE-2012-6 +329) Fedora Patch21: Add NAME headings to CPAN modules (CPANRT#7339 +6) Fedora Patch22: Fix leaking tied hashes (RT#107000) [1] Fedora Patch23: Fix leaking tied hashes (RT#107000) [2] Fedora Patch24: Fix leaking tied hashes (RT#107000) [3] Fedora Patch25: Fix dead lock in PerlIO after fork from thread + (RT#106212) Fedora Patch26: Make regexp safe in a signal handler (RT#11487 +8) Fedora Patch27: Update h2ph(1) documentation (RT#117647) Fedora Patch28: Update pod2html(1) documentation (RT#117623) Fedora Patch29: Document Math::BigInt::CalcEmu requires Math:: +BigInt (CPAN RT#85015) RHEL Patch30: Use stronger algorithm needed for FIPS in t/op/c +rypt.t (RT#121591) RHEL Patch31: Make *DBM_File desctructors thread-safe (RT#6191 +2) RHEL Patch32: Use stronger algorithm needed for FIPS in t/op/t +aint.t (RT#123338) RHEL Patch33: Remove CPU-speed-sensitive test in Benchmark tes +t RHEL Patch34: Make File::Glob work with threads again RHEL Patch35: Fix CRLF conversion in ASCII FTP upload (CPAN RT +#41642) RHEL Patch36: Do not leak the temp utf8 copy of namepv (CPAN R +T#123786) RHEL Patch37: Fix duplicating PerlIO::encoding when spawning t +hreads (RT#31923) Built under linux Compiled at May 26 2017 09:46:04 %ENV: PERL5LIB="/root/perl5/lib/perl5:" PERL_LOCAL_LIB_ROOT=":/root/perl5" PERL_MB_OPT="--install_base /root/perl5" PERL_MM_OPT="INSTALL_BASE=/root/perl5" @INC: /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .

Replies are listed 'Best First'.
Re^5: DBD::Oracle only installs under /root ?
by marto (Cardinal) on Mar 19, 2018 at 15:47 UTC
    %ENV: PERL5LIB="/root/perl5/lib/perl5:" PERL_LOCAL_LIB_ROOT=":/root/perl5" PERL_MB_OPT="--install_base /root/perl5" PERL_MM_OPT="INSTALL_BASE=/root/perl5" @INC: /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5

    You can see from the config above why this server is installing modules into this location. Ideally your perls should have the same configuration across your fleet, do avoid any problems from this one being different. If your servers are uniform then there are alternatives (e.g. build your own perl say in /app/appname, building/installing modules on one server and deploying from there, rather than building on each).

    Update: for clarity, note the PERL_ env vars.

      Ok, so I changed the variables to the below:

      %ENV: PERL5LIB="/usr/local/lib64/perl5" PERL_LOCAL_LIB_ROOT=":/root/perl5" PERL_MB_OPT="--install_base /root/perl5" PERL_MM_OPT="INSTALL_BASE=/root/perl5" @INC: /usr/local/lib64/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5

      Next, compiled again and they still installed to:

      /usr/local/lib64/perl5/lib/perl5/x86_64-linux-thread-multi

      We are a decent sized company but this is our only server with perl in use hence my lack of understanding on this wizardry lol.

      EDIT

      When running the below the odd path persists:

      [root@jobsub DBD-Oracle-1.74-nM1KgO]# make -n install true true true true true true /usr/bin/perl "-MExtUtils::Command::MM" -e pod2man "--" --section=3 -- +perm_rw=644 \ lib/DBD/Oracle/Troubleshooting.pod blib/man3/DBD::Oracle::Troublesho +oting.3pm \ lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/man3/DBD::Oracle::Tro +ubleshooting::Cygwin.3pm \ lib/DBD/Oracle.pm blib/man3/DBD::Oracle.3pm \ lib/DBD/Oracle/Troubleshooting/Sun.pod blib/man3/DBD::Oracle::Troubl +eshooting::Sun.3pm \ lib/DBD/Oracle/Troubleshooting/Macos.pod blib/man3/DBD::Oracle::Trou +bleshooting::Macos.3pm \ lib/DBD/Oracle/Troubleshooting/Vms.pod blib/man3/DBD::Oracle::Troubl +eshooting::Vms.3pm \ lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/man3/DBD::Oracle::Troub +leshooting::Hpux.3pm \ lib/DBD/Oracle/Troubleshooting/Aix.pod blib/man3/DBD::Oracle::Troubl +eshooting::Aix.3pm \ lib/DBD/Oracle/Object.pm blib/man3/DBD::Oracle::Object.3pm \ lib/DBD/Oracle/Troubleshooting/Linux.pod blib/man3/DBD::Oracle::Trou +bleshooting::Linux.3pm \ lib/DBD/Oracle/Troubleshooting/Win64.pod blib/man3/DBD::Oracle::Trou +bleshooting::Win64.3pm \ lib/DBD/Oracle/GetInfo.pm blib/man3/DBD::Oracle::GetInfo.3pm \ lib/DBD/Oracle/Troubleshooting/Win32.pod blib/man3/DBD::Oracle::Trou +bleshooting::Win32.3pm true /usr/bin/perl -MExtUtils::Install -e 'install([ from_to => {@ARGV}, ve +rbose => '\''0'\'', uninstall_shadows => '\''0'\'', dir_mode => '\''7 +55'\'' ]);' -- \ read /usr/local/lib64/perl5/auto/DBD/Oracle/.packlist \ write /usr/local/lib64/perl5/lib/perl5/x86_64-linux-thread-mul +ti/auto/DBD/Oracle/.packlist \ blib/lib /usr/local/lib64/perl5/lib/perl5 \ blib/arch /usr/local/lib64/perl5/lib/perl5/x86_64-linux-thread +-multi \ blib/bin /usr/local/lib64/perl5/bin \ blib/script /usr/local/lib64/perl5/bin \ blib/man1 /usr/local/lib64/perl5/man/man1 \ blib/man3 /usr/local/lib64/perl5/man/man3 /usr/bin/perl -MExtUtils::Command::MM -e 'warn_if_old_packlist' -- \ /usr/lib64/perl5/auto/DBD/Oracle true echo Appending installation info to /usr/local/lib64/perl5/lib/perl5/x +86_64-linux-thread-multi/perllocal.pod /usr/bin/perl -MExtUtils::Command -e 'mkpath' -- /usr/local/lib64/perl +5/lib/perl5/x86_64-linux-thread-multi /usr/bin/perl -MExtUtils::Command::MM -e 'perllocal_install' -- \ "Module" "DBD::Oracle" \ "installed into" "/usr/local/lib64/perl5/lib/perl5" \ LINKTYPE "dynamic" \ VERSION "1.74" \ EXE_FILES "" \ >> /usr/local/lib64/perl5/lib/perl5/x86_64-linux-thread-multi/ +perllocal.pod

      EDIT 2 - I think this is happening because the Makefile.PL is improperly choosing my distro! If I look at the Makefile created after running perl Makefile.PL The below shows where it will install the module based on base OS

      PREFIX = $(INSTALL_BASE) INSTALLPRIVLIB = $(INSTALL_BASE)/lib/perl5 DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) INSTALLSITELIB = $(INSTALL_BASE)/lib/perl5 DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) INSTALLVENDORLIB = $(INSTALL_BASE)/lib/perl5 DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) INSTALLARCHLIB = $(INSTALL_BASE)/lib/perl5/x86_64-linux-thread-multi DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) INSTALLSITEARCH = $(INSTALL_BASE)/lib/perl5/x86_64-linux-thread-multi DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) INSTALLVENDORARCH = $(INSTALL_BASE)/lib/perl5/x86_64-linux-thread-mult +i DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) INSTALLBIN = $(INSTALL_BASE)/bin DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) INSTALLSITEBIN = $(INSTALL_BASE)/bin DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) INSTALLVENDORBIN = $(INSTALL_BASE)/bin DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) INSTALLSCRIPT = $(INSTALL_BASE)/bin DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) INSTALLSITESCRIPT = $(INSTALL_BASE)/bin DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT) INSTALLVENDORSCRIPT = $(INSTALL_BASE)/bin DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT) INSTALLMAN1DIR = $(INSTALL_BASE)/man/man1 DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) INSTALLSITEMAN1DIR = $(INSTALL_BASE)/man/man1 DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) INSTALLVENDORMAN1DIR = $(INSTALL_BASE)/man/man1 DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) INSTALLMAN3DIR = $(INSTALL_BASE)/man/man3 DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) INSTALLSITEMAN3DIR = $(INSTALL_BASE)/man/man3 DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) INSTALLVENDORMAN3DIR = $(INSTALL_BASE)/man/man3 DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)

      and here is the same section from my 'good' server

      PREFIX = $(SITEPREFIX) PERLPREFIX = /usr SITEPREFIX = /usr/local VENDORPREFIX = /usr INSTALLPRIVLIB = /usr/share/perl5 DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) INSTALLSITELIB = /usr/local/share/perl5 DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) INSTALLVENDORLIB = /usr/share/perl5/vendor_perl DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) INSTALLARCHLIB = /usr/lib64/perl5 DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) INSTALLSITEARCH = /usr/local/lib64/perl5 DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) INSTALLVENDORARCH = /usr/lib64/perl5/vendor_perl DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) INSTALLBIN = /usr/bin DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) INSTALLSITEBIN = /usr/local/bin DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) INSTALLVENDORBIN = /usr/bin DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) INSTALLSCRIPT = /usr/bin DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) INSTALLSITESCRIPT = /usr/local/bin DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT) INSTALLVENDORSCRIPT = /usr/bin DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT) INSTALLMAN1DIR = /usr/share/man/man1 DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) INSTALLSITEMAN1DIR = /usr/local/share/man/man1 DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) INSTALLVENDORMAN1DIR = /usr/share/man/man1 DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) INSTALLMAN3DIR = /usr/share/man/man3 DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) INSTALLSITEMAN3DIR = /usr/local/share/man/man3 DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) INSTALLVENDORMAN3DIR = /usr/share/man/man3 DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)

      FINAL edit

      I think I did something ugly and unspeakable but it worked... I copied the lines that had the correct path from the above Makefile into my desired Makefile. May god have mercy on my soul.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2024-04-20 05:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found