I am trying to build dssp (https://github.com/cmbi/dssp) on a server-node (not on server-login), and I am facing a problem with how the system finds dependencies. I am working on a centos 7.
The procedure of building dssp is : run ./autogen to get a configure.sh file and then execute that one. Then run make.
Running whereis perl and whereis perl5 I get:
[mavridks#haswell-182 dssp-2.3.0]$ whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
[mavridks#haswell-182 dssp-2.3.0]$ whereis perl5
perl5: /usr/lib64/perl5 /usr/share/perl5
Then, running ./autogen I get the error:
Can't locate Data/Dumper.pm in #INC
(#INC contains:
/hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
.)
at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf/Autom4te/C4che.pm line 33.
BEGIN failed--compilation aborted
at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf/Autom4te/C4che.pm line 33.
Compilation failed in require
at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/bin/autom4te line 37.
BEGIN failed--compilation aborted
at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/bin/autom4te line 37.
aclocal: error: echo failed with exit status: 2
(Line breaks added for readability.)
It seems to me that this error when autoconf is called has something to do with not locating correctly the Perl files or having more paths than it should? Another thought would be that I don't have root privileges on the server and that perhaps this creates a problem?
Any ideas or suggestions are welcomed.
NOTE:
The server uses a module system to load various dependencies. I need Autotools and Boost. The module I am using, if this is something of importance, are
[mavridks#haswell-182 dssp-2.3.0]$ module list
Currently Loaded Modules:
1) numactl/.2.0.10-GCC-4.8.4 (H)
2) hwloc/.1.10.1-GCC-4.8.4 (H)
3) OpenMPI/1.8.4-GCC-4.8.4
4) OpenBLAS/0.2.13-GCC-4.8.4-LAPACK-3.5.0
5) gompi/1.7.20
6) FFTW/3.3.4-gompi-1.7.20
7) ScaLAPACK/2.0.2-gompi-1.7.20-OpenBLAS-0.2.13-LAPACK-3.5.0
8) goolf/1.7.20
9) bzip2/.1.0.6-goolf-1.7.20 (H)
10) zlib/.1.2.8-goolf-1.7.20 (H)
11) Boost/1.58.0-goolf-1.7.20
12) slurm/18-08-4-1-hits
13) GCC/4.8.4
14) gcc/dummy
15) sge/dummy
16) M4/1.4.17-GCC-4.8.4
17) Autoconf/2.69-GCC-4.8.4
18) Automake/1.15-GCC-4.8.4
19) libtool/2.4.6-GCC-4.8.4
20) Autotools/20150215-GCC-4.8.4
Where:
H: Hidden Module
EDIT:
After the comment of Håkon Hægland I get:
[mavridks#haswell-005 ~]$ perl --version | grep 'This is'
This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-thread-multi
[mavridks#haswell-005 ~]$ perl -MData::Dumper -E 'say $INC{"Data/Dumper.pm"}'
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/Data/Dumper.pm
EDIT 2:
Here is the result after re-running the ./autogen
[mavridks#haswell-112 dssp-2.3.0]
$ PERL5LIB=/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/lib/perl5/5.30.0 ./autogen.sh
/hits/sw/shared/apps/Automake/1.15-GCC-4.8.4/bin/aclocal:
Perl lib version (5.30.0) doesn't match executable '/usr/bin/perl' version (5.16.3)
at /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/Config.pm line 62.
Compilation failed in require
at /hits/sw/shared/apps/Automake/1.15-GCC-4.8.4/share/automake-1.15/Automake/Config.pm line 41.
BEGIN failed--compilation aborted
at /hits/sw/shared/apps/Automake/1.15-GCC-4.8.4/share/automake-1.15/Automake/Config.pm line 41.
Compilation failed in require
at /hits/sw/shared/apps/Automake/1.15-GCC-4.8.4/bin/aclocal line 37.
BEGIN failed--compilation aborted
at /hits/sw/shared/apps/Automake/1.15-GCC-4.8.4/bin/aclocal line 37.
(Line breaks added for readability.)
EDIT 3:
After a lot of helpful comments and an answer I am adding some more info:
First one connects to the server login-node. Running whereis perl gives:
[mavridks#haswell-login ~]$ whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
and also, running
[mavridks#haswell-login ~]$ perl --version
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-
linux-thread-multi
(with 39 registered patches, see perl -V for more detail)
.Finally one gets:
[mavridks#haswell-login ~]$ perl -MData::Dumper -E 'say
$INC{"Data/Dumper.pm"}'
/usr/lib64/perl5/vendor_perl/Data/Dumper.pm
Side-note: What do we get running perl -V?
a) On the login-node:
[mavridks#haswell-login ~]$ perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=linux, osvers=3.10.0-693.17.1.el7.x86_64, archname=x86_64-linux-thread-multi
uname='linux x86-01.bsys.centos.org 3.10.0-693.17.1.el7.x86_64 #1 smp thu jan 25 20:13:58 utc 2018 x86_64 x86_64 x86_64 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=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_SOURCE=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#localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/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 -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -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-switches -m64 -mtune=generic',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.8.5 20150623 (Red Hat 4.8.5-36)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
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,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-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 failures
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 bits (RT#113980)
Fedora Patch15: Override the Pod::Simple::parse_file (CPANRT#77530)
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-6329)
Fedora Patch21: Add NAME headings to CPAN modules (CPANRT#73396)
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#114878)
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/crypt.t (RT#121591)
RHEL Patch31: Make *DBM_File desctructors thread-safe (RT#61912)
RHEL Patch32: Use stronger algorithm needed for FIPS in t/op/taint.t (RT#123338)
RHEL Patch33: Remove CPU-speed-sensitive test in Benchmark test
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 RT#123786)
RHEL Patch37: Fix duplicating PerlIO::encoding when spawning threads (RT#31923)
RHEL Patch38: Add SSL support to Net::SMTP (CPAN RT#93823) [1]
RHEL Patch39: Add SSL support to Net::SMTP (CPAN RT#93823) [2]
RHEL Patch40: Add SSL support to Net::SMTP (CPAN RT#93823) [3]
RHEL Patch41: Add SSL support to Net::SMTP (CPAN RT#93823) [4]
RHEL Patch42: Do not overload ".." in Math::BigInt (CPAN RT#80182)
RHEL Patch43: Fix CVE-2018-18311 Integer overflow leading to buffer overflow
Built under linux
Compiled at Jan 21 2019 22:09:19
#INC:
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
.
[mavridks#haswell-login ~]$
b) On the gpu-node:
[mavridks#haswell-179 ~]$ perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=linux, osvers=3.10.0-693.17.1.el7.x86_64, archname=x86_64-linux-thread-multi
uname='linux x86-01.bsys.centos.org 3.10.0-693.17.1.el7.x86_64 #1 smp thu jan 25 20:13:58 utc 2018 x86_64 x86_64 x86_64 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=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_SOURCE=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#localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/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 -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -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-switches -m64 -mtune=generic',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.8.5 20150623 (Red Hat 4.8.5-36)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
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,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-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 failures
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 bits (RT#113980)
Fedora Patch15: Override the Pod::Simple::parse_file (CPANRT#77530)
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-6329)
Fedora Patch21: Add NAME headings to CPAN modules (CPANRT#73396)
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#114878)
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/crypt.t (RT#121591)
RHEL Patch31: Make *DBM_File desctructors thread-safe (RT#61912)
RHEL Patch32: Use stronger algorithm needed for FIPS in t/op/taint.t (RT#123338)
RHEL Patch33: Remove CPU-speed-sensitive test in Benchmark test
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 RT#123786)
RHEL Patch37: Fix duplicating PerlIO::encoding when spawning threads (RT#31923)
RHEL Patch38: Add SSL support to Net::SMTP (CPAN RT#93823) [1]
RHEL Patch39: Add SSL support to Net::SMTP (CPAN RT#93823) [2]
RHEL Patch40: Add SSL support to Net::SMTP (CPAN RT#93823) [3]
RHEL Patch41: Add SSL support to Net::SMTP (CPAN RT#93823) [4]
RHEL Patch42: Do not overload ".." in Math::BigInt (CPAN RT#80182)
Built under linux
Compiled at Oct 30 2018 18:59:43
#INC:
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
.
Then one connects to a gpu-node. It seems we still have the same perl:
[mavridks#haswell-179 ~]$ whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
but now Data/Dumber is no more ( running perl -MData::Dumper -E 'say $INC{"Data/Dumper.pm"}' ):
[mavridks#haswell-179 ~]$ perl -MData::Dumper -E 'say $INC{"Data/Dumper.pm"}'
Can't locate Data/Dumper.pm in #INC (#INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.
Then the IT department suggested loading the perl module; the server is built on a module system where all groups have the ability to load software as modules ( appending the right files in the path - this is the system used https://lmod.readthedocs.io/en/latest/#overview). So, if we run module load Perl we have:
[mavridks#haswell-179 ~]$ whereis perl
perl: /usr/bin/perl /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl /usr/share/man/man1/perl.1.gz
which means we have changed something( the distribution used may I say?). But now we have:
[mavridks#haswell-179 ~]$ perl -MData::Dumper -E 'say $INC{"Data/Dumper.pm"}'
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/Data/Dumper.pm
which means we have the Data/Dumper on the system.
Finally, one need to load all the autotools as a module too. Then, it seems that the execution of the autogen.sh script is looking for perl modules from the system ( the one from login and not gpu) but of course it can't locate them.
[mavridks#haswell-179 dssp-2.3.0]$ ./autogen.sh
Can't locate Data/Dumper.pm in #INC (#INC contains: /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf/Autom4te/C4che.pm line 33.
BEGIN failed--compilation aborted at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/share/autoconf/Autom4te/C4che.pm line 33.
Compilation failed in require at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/bin/autom4te line 37.
BEGIN failed--compilation aborted at /hits/sw/shared/apps/Autoconf/2.69-GCC-4.8.4/bin/autom4te line 37.
aclocal: error: echo failed with exit status: 2
You have two builds of perl installed.
/usr/bin/perl, v5.16.3[1]
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl, v5.30.0[2]
I shall dub them "system perl" and "modular perl" respectively.
The system perl doesn't have Data::Dumper installed.[3]
The modular perl does have Data::Dumper installed.[4]
whereis shows only the system perl in your PATH, but later commands show perl invoking the modular perl. So either perl is an alias for the modular perl,[5] or you ran your tests in different environments (i.e. your PATH changed).
Is it appropriate to set PERL5LIB?
At one point, you set env var PERL5LIB to /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/lib/perl5/5.30.0. This is not appropriate.
This is incorrect for the system perl.[6]
This is unnecessary for the modular perl. It is redundant.[7]
Why doesn't the system perl have Data::Dumper installed?
Perl has certain modules that come with it. For virtually as long as support for modules has existed in Perl, this has included Data::Dumper. Data::Dumper should always be available.
However, certain linux distros split Perl into multiple packages. It appears that Data::Dumper is found in the perl(Data::Dumper) package in CentOS 7.
So the solution is to install that package.
Since Data::Dumper is dual-lived, it can also be installed from CPAN. This doesn't require any special permissions. That said, I usually recommend installing perl locally instead of messing with the system perl. It seems you already have such a Perl. This leads us to the next sub-answer.
What if I want to use the modular perl?
I'm not sure.
A quick experiment leads me to believe this can be solved by simply placing the modular perl in the PATH before /usr/bin.
export PATH="/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin:$PATH"
Alternatively, quick experiments suggest that both of the following also work:
./configure PERL=/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl
PERL=/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl ./configure
If these don't do the trick, this can be asked as a separate question.
What if I disagree with something in this answer?
Some of my statements were guesses. For example, /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl wasn't mentioned anywhere in your question. If you believe I've made a mistake, please provide the output of the following command (parens and all):
(
echo 'System perl:'
/usr/bin/perl -v | grep 'This is'
PERL5LIB= /usr/bin/perl -e'CORE::say for #INC'
echo
echo "Data::Dumper in system perl?"
PERL5LIB= /usr/bin/perl -e'
use Data::Dumper;
CORE::say $Data::Dumper::VERSION;
CORE::say INC{"Data/Dumper.pm"};
'
echo
echo 'Modular perl:'
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -v | grep 'This is'
PERL5LIB= /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -e'CORE::say for #INC'
echo
echo "Data::Dumper in modular perl?"
PERL5LIB= /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -e'
use Data::Dumper;
CORE::say $Data::Dumper::VERSION;
CORE::say $INC{"Data/Dumper.pm"};
'
echo
echo 'Perl env vars:'
perl -e'CORE::say "$_: $ENV{$_}" for grep /^PERL/, keys(%ENV)'
echo
echo 'type perl:'
type perl
)
Footnotes.
This can be verified using
/usr/bin/perl -v | grep 'This is'
This can be verified using
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -v | grep 'This is'
This can be verified using
/usr/bin/perl -e'use Data::Dumper;'
This can be verified using
/hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -e'use Data::Dumper;'
In some shells (incl dash, bash and ksh), this can be verified using
type perl
This is what lead to Perl lib version (5.30.0) doesn't match executable '/usr/bin/perl' version (5.16.3).
This can be verified using
PERL5LIB= /hits/sw/shared/apps/Perl/5.30.0-GCCcore-8.3.0/bin/perl -e'CORE::say for #INC;'
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
I am trying to use ffmpeg's built-in x265 library to process .VOB files through h.265codec.
What I understood from the ffmpeg documentation was that:
-c:v libx265 tells ffmpeg to use the h.265 codec for video streams
-x265-params passes options to x265 encoder instead of ffmpeg
But whenever try to run the command, ffmpeg doesn't seem to recognize/pass the options to x265.
It gives the error
Unrecognized option '-y4m'.
Error splitting the argument list: Option not found
Why is this?
Here's the command (edited spacing):
C:\ffmpeg (20170123-e371f03-win64-static)\bin>
ffmpeg -i concat:'input1.VOB'\'input.VOB'
-map 0:v -map 0:a -r 24000/1001 -f yuv4mpegpipe
-c:v libx265 -x265-params
--y4m --fps 24000/1001 -p veryslow --open-gop --bframes 16
--b-p yramid --bitrate 2500 --rect --amp --aq-mode 3 --no-sao --qcomp 0.75
--no-strong -intra-smoothing --psy-rd 1.6 --psy-rdoq 5.0 --rdoq-level 1
--tu-inter-depth 4 --tu-intra-depth 4 --ctu 32 --max-tu-size 16 --pass 1
--slow-firstpass --stats v. stats --sar 1 --range full 'E:\output.hevc'
ffmpeg version N-83195-ge371f03 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --e
nable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --
enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-li
bfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug -
-enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enabl
e-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li
bsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolam
e --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable
-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --ena
ble-zlib
libavutil 55. 44.100 / 55. 44.100
libavcodec 57. 75.100 / 57. 75.100
libavformat 57. 63.100 / 57. 63.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 69.100 / 6. 69.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Unrecognized option '-y4m'.
Error splitting the argument list: Option not found
That's not the correct syntax. Use
-x265-params "y4m=1:fps=24000/1001:p=veryslow:...."
"--y4m" is not a param of x265. in the first place, it should not be there. it is the container for the output that is going into the yuv4mpegpipe. In your syntax, the error there is your codec. x265 don't any idea what yuv4mpegpipe is...
ffmpeg -i concat:'input1.VOB'\'input.VOB'
-map 0:v -map 0:a -r 24000/1001 -f yuv4mpegpipe
-c:v libx265(remove this)-x265-params(remove this)and change it to this "yuv4" -o "input1.VOB.output.y4m"
write this b4 x265-params after erasing --y4m
ffmpeg.exe -i "input1.VOB.output.y4m"<<-this is the output file that went into the yuv4mpegpipe that you want converted to HEVC)(y4m is like mp4 mkv avi mov) --c:v libx265 --x265-params -->>> --y4m --fps 24000/1001 -p veryslow --open-gop --bframes 16
--b-pyramid --bitrate 2500 --rect --amp --aq-mode 3 --no-sao --qcomp 0.75
--no-strong-intra-smoothing --psy-rd 1.6 --psy-rdoq 5.0 --rdoq-level 1
--tu-inter-depth 4 --tu-intra-depth 4 --ctu 32 --max-tu-size 16 --pass 1
--slow-firstpass --stats v. stats --sar 1 --range full 'E:\output.hevc'
if I were to write this, it goes like:
ffmpeg.exe -i concat:'input1.VOB'\'input.VOB' --map 0,1 --c:v yuv4 --s 3840x2160 --r 24000/1001 --f yuv4mpegpipe --pix-fmt yuv444p16le -o "output-yuv444p16le.y4m"
ffmpeg.exe -i "yuv444p16le.y4m" --fps 24000/1001 --p veryslow --c:v libx265 --x265-params --open-gop --bframes 16 --b-pyramid --bitrate 2500 --rect --amp --aq-mode 3 --no-sao --qcomp 0.75 --no-strong-intra-smoothing --psy-rd 1.6 --psy-rdoq 5.0 --rdoq-level 1 --tu-inter-depth 4 --tu-intra-depth 4 --ctu 32 --max-tu-size 16 --pass 1 --slow-firstpass --stats v. stats --sar 1 --range full -o E:\output_yuv444p16le.hevc'
I have been using ffmpeg to convert a sequence of jpegs to a video using the following syntax:
ffmpeg.exe -f image2 -i image_%05d.png -vcodec mpeg4 -b 800k video.mpg
It doesn't work:
C:\Documents and Settings\Atelier\Mes documents\dev\projets\emptycanvas\testresu
lt\objets\starbuck.tests.TestAnimationSphereInterieur>"c:\Documents and Settings
\Atelier\Mes documents\Téléchargements\ffmpeg-20120608-git-718607b-win32-static\
bin\ffmpeg.exe" -f image2 -i image_%05d.png -vcodec mpeg4 -b 800k video.mpg
ffmpeg version N-41416-g718607b Copyright (c) 2000-2012 the FFmpeg developers
built on Jun 8 2012 12:46:19 with gcc 4.6.3
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass
--enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable
-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libope
njpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libth
eora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
libvorbis --enable-libvpx --ena libavutil 51. 56.100 / 51. 56.100
libavcodec 54. 25.100 / 54. 25.100
libavformat 54. 6.101 / 54. 6.101
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 78.101 / 2. 78.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
image_%05d.png: No such file or directory
On Windows XP...
been using ffmpeg to convert a sequence of jpegs
...
-i image_%05d.png
...
image_%05d.png: No such file or directory
You might have better luck with -i image_%05.jpg. That will input images named image_00001.jpg, image_00002.jpg, image_00003.jpg, etc.
Problem is that the window shell expands the %05d. You can prevent that by doubling the %
ffmpeg.exe -f image2 -i image_%%05d.png -vcodec mpeg4 -b 800k video.mpg
I run ffmpeg on Windows.
I try to run
ffmpeg -i input.avi -filter:v frei0r=pixeliz0r=0.02:0.02 ouput.avi
I have this error:
No such filter: 'frei0r
Error opening filters!
When I run ffmpeg.exe I got:
ffmpeg version git-N-30610-g1929807, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 7 2011 15:55:06 with gcc 4.5.3
configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-
runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --
enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl
e-libx264 --enable-libxavs --enable-libxvid --enable-zlib --disable-outdev=sdl -
-pkg-config=pkg-config
Note the --enable-frei0r above.
Any idea where I can get the ffmpeg for windows with frei0r enabled and working ?
Ok finally got it going: http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=312&p=2716#p2716
Basically download some frei0r plugin dll's (http://oss.netfarm.it/mplayer-win32.php has some, http://people.videolan.org/~jb/vlmc/effects.7z has some)
then set FREI0R_PATH=c:\vids\effects\
Then it should "just work" like
ffmpeg.exe -loglevel debug -i input_file -vf "frei0r=glow:20" -t 10 output_file
GL!
From ffmpeg: how to add pixellate effect? , you have a link to http://ffmpeg.zeranoe.com/builds/ . It seems these are Windows build with frei0r enabled.
When using -loglevel debug option, ffmpeg gives information where it looks for frei0r plugins.
On windows you need to create folders following this information. For instance create path: C:\usr\lib\frei0r-1\ and put all filter DLLs there.