Hi there,


I am trying to recompile http://vault.centos.org/7.0.1406/os/Source/SPackages/rrdtool-1.4.8-8.el7.src.rpm to also get the rrdtool-perl sub package for which there are no binaries provided. But when it tries to build the perl sub module it fails with:


writing /root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/usr/lib64/python2.7/site-packages/py_rrdtool-0.2.2-py2.7.egg-info
make[3]: Leaving directory `/root/rpmbuild/BUILD/rrdtool-1.4.8/bindings'
make[2]: Leaving directory `/root/rpmbuild/BUILD/rrdtool-1.4.8/bindings'
make[1]: Leaving directory `/root/rpmbuild/BUILD/rrdtool-1.4.8/bindings'
make[1]: Entering directory `/root/rpmbuild/BUILD/rrdtool-1.4.8'
make[2]: Entering directory `/root/rpmbuild/BUILD/rrdtool-1.4.8'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/rpmbuild/BUILD/rrdtool-1.4.8'
make[1]: Leaving directory `/root/rpmbuild/BUILD/rrdtool-1.4.8'
+ /usr/bin/install -D -m0755 php4/modules/rrdtool.so /root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/usr/lib64/php/modules/rrdtool.so
+ /usr/bin/rm -rf php4/examples/.svn
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/etc/php.d
+ /usr/bin/cat
+ /usr/bin/mv /root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/usr/share/perl5/vendor_perl/RRDp.pm /root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/usr/lib64/perl5/vendor_perl/
/usr/bin/mv: cannot stat ‘/root/rpmbuild/BUILDROOT/rrdtool-1.4.8-8.el7.centos.x86_64/usr/share/perl5/vendor_perl/RRDp.pm’: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.t4Flhd (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.t4Flhd (%install)
[root@larsbuild7 ~]# 


I get the similar errors (files getting copied in the wrong directories during build time) with other perl srpms.

e.g.  http://vault.centos.org/7.0.1406/os/Source/SPackages/perl-Data-Dumper-2.145-3.el7.src.rpm


rpmbuild -ba rpm/SPECS/perl-Data-Dumper.spec 
Executing(%prep): /bin/sh -e /home/lars/rpm/tmp/rpm-tmp.pLTYSe
+ umask 022
+ cd /home/lars/rpm/BUILD
+ cd /home/lars/rpm/BUILD
+ rm -rf Data-Dumper-2.145
+ /usr/bin/gzip -dc /home/lars/rpm/SOURCES/Data-Dumper-2.145.tar.gz
+ /usr/bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd Data-Dumper-2.145
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ sed -i /MAN3PODS/d Makefile.PL
+ exit 0
Executing(%build): /bin/sh -e /home/lars/rpm/tmp/rpm-tmp.66tgMG
+ umask 022
+ cd /home/lars/rpm/BUILD
+ cd Data-Dumper-2.145
+ perl Makefile.PL INSTALLDIRS=vendor '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'
Checking if your kit is complete...
Looks good
Writing Makefile for Data::Dumper
Writing MYMETA.yml and MYMETA.json
+ make -j12
/usr/bin/perl /usr/share/perl5/vendor_perl/ExtUtils/xsubpp  -typemap /usr/share/perl5/ExtUtils/typemap  Dumper.xs > Dumper.xsc && mv Dumper.xsc Dumper.c
Running Mkbootstrap for Data::Dumper ()
chmod 644 Dumper.bs
cp Dumper.bs blib/arch/auto/Data/Dumper/Dumper.bs
chmod 644 blib/arch/auto/Data/Dumper/Dumper.bs
cp Dumper.pm blib/lib/Data/Dumper.pm
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic   -DVERSION=\"2.145\" -DXS_VERSION=\"2.145\" -fPIC "-I/usr/lib64/perl5/CORE"  -DUSE_PPPORT_H Dumper.c
rm -f blib/arch/auto/Data/Dumper/Dumper.so
gcc  -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  Dumper.o  -o blib/arch/auto/Data/Dumper/Dumper.so \
      \
  
chmod 755 blib/arch/auto/Data/Dumper/Dumper.so
Manifying blib/man3/Data::Dumper.3pm
+ exit 0
Executing(%install): /bin/sh -e /home/lars/rpm/tmp/rpm-tmp.Ltvukd
+ umask 022
+ cd /home/lars/rpm/BUILD
+ '[' /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64 '!=' / ']'
+ rm -rf /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64
++ dirname /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64
+ mkdir -p /home/lars/rpm/BUILDROOT
+ mkdir /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64
+ cd Data-Dumper-2.145
+ make pure_install DESTDIR=/home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home/lars/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Data/Dumper/Dumper.bs
Installing /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home/lars/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Data/Dumper/Dumper.so
Installing /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home/lars/perl5/lib/perl5/x86_64-linux-thread-multi/Data/Dumper.pm
Installing /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home/lars/perl5/man/man3/Data::Dumper.3pm
+ find /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64 -type f -name .packlist -exec rm -f '{}' ';'
+ find /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64 -type f -name '*.bs' -size 0 -exec rm -f '{}' ';'
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/lars/rpm/BUILD/Data-Dumper-2.145
extracting debug info from /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/home/lars/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Data/Dumper/Dumper.so
dwz: Too few files for multifile optimization
/usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
161 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Executing(%check): /bin/sh -e /home/lars/rpm/tmp/rpm-tmp.mwbkfM
+ umask 022
+ cd /home/lars/rpm/BUILD
+ cd Data-Dumper-2.145
+ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/bless.t ..................... ok     
t/bless_var_method.t .......... ok   
t/bugs.t ...................... ok     
t/deparse.t ................... ok   
t/dumper.t .................... ok     
t/dumpperl.t .................. ok     
t/freezer.t ................... ok   
t/freezer_useperl.t ........... ok   
t/indent.t .................... ok     
t/misc.t ...................... ok     
t/names.t ..................... ok     
t/overload.t .................. ok   
t/pair.t ...................... ok   
t/perl-74170.t ................ ok   
t/purity_deepcopy_maxdepth.t .. ok     
t/qr.t ........................ ok   
t/quotekeys.t ................. ok     
t/seen.t ...................... ok     
t/sortkeys.t .................. ok     
t/sparseseen.t ................ ok   
t/terse.t ..................... ok   
t/toaster.t ................... ok   
t/values.t .................... ok   
All tests successful.
Files=23, Tests=647,  1 wallclock secs ( 0.12 usr  0.02 sys +  0.76 cusr  0.08 csys =  0.98 CPU)
Result: PASS
+ exit 0
Processing files: perl-Data-Dumper-2.145-3.el7.centos.x86_64
error: File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/lib64/perl5/vendor_perl/auto/*
error: File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/lib64/perl5/vendor_perl/Data*
error: File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/man/man3/*
Executing(%doc): /bin/sh -e /home/lars/rpm/tmp/rpm-tmp.TkASco
+ umask 022
+ cd /home/lars/rpm/BUILD
+ cd Data-Dumper-2.145
+ DOCDIR=/home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/doc/perl-Data-Dumper-2.145
+ export DOCDIR
+ /usr/bin/mkdir -p /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/doc/perl-Data-Dumper-2.145
+ cp -pr Changes /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/doc/perl-Data-Dumper-2.145
+ cp -pr Todo /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/doc/perl-Data-Dumper-2.145
+ exit 0


RPM build errors:
    File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/lib64/perl5/vendor_perl/auto/*
    File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/lib64/perl5/vendor_perl/Data*
    File not found by glob: /home/lars/rpm/BUILDROOT/perl-Data-Dumper-2.145-3.el7.centos.x86_64/usr/share/man/man3/*
[lars@larsbuild7 ~]$ 


My root user has no .rpmmacros file at all, the lars user has a trivial one:

[lars@larsbuild7 ~]$ cat .rpmmacros 
%_topdir /home/lars/rpm
%_tmppath /home/lars/rpm/tmp
%_rpmlock_path  /home/lars/rpm/locks/transaction
%_signature gpg
%define debug_package %{nil}
%define __os_install_post %{nil}
%_rpmlock_path /home/lars/.mk-externals.tmp/transaction
[lars@larsbuild7 ~]


I assume I have to set some rpm variables like %perlvendor%, %perlarch% or so.

Any hint?

Thanks a lot,

Lars