Ticket 4347

Summary: Error building RPMs for 17.02.9 on CentOS7
Product: Slurm Reporter: Chad Cropper <chad.cropper>
Component: Build System and PackagingAssignee: Tim Wickberg <tim>
Status: RESOLVED TIMEDOUT QA Contact:
Severity: 3 - Medium Impact    
Priority: ---    
Version: 17.02.9   
Hardware: Linux   
OS: Linux   
Site: Genus Alineos Sites: ---
Atos/Eviden Sites: --- Confidential Site: ---
Coreweave sites: --- Cray Sites: ---
DS9 clusters: --- HPCnow Sites: ---
HPE Sites: --- IBM Sites: ---
NOAA SIte: --- OCF Sites: ---
Recursion Pharma Sites: --- SFW Sites: ---
SNIC sites: --- Linux Distro: ---
Machine Name: CLE Version:
Version Fixed: Target Release: ---
DevPrio: --- Emory-Cloud Sites: ---
Attachments: rpmbuild config.log
rpmbuild perlbrew-5.22.0
rpmbuild sysperl

Description Chad Cropper 2017-11-08 10:42:38 MST
Created attachment 5528 [details]
rpmbuild config.log

Building 17.02.9 on CentOS7.3. Perl 5.22.0 GCC 6.3.0

export VER=17.02.9
rpmbuild -ta slurm-$VER.tar.bz2 --with lua


RPM build errors:
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurm.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurm/Bitstr.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurm/Constant.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurm/Hostlist.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurm/Stepctx.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/auto/Slurm/Slurm.so
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/Slurmdb.pm
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/auto/Slurmdb/Slurmdb.so
    File not found: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/lib/site_perl/5.22.0/x86_64-linux/auto/Slurmdb/autosplit.ix
    File not found by glob: /root/rpmbuild/BUILDROOT/slurm-17.02.9-1.el7.centos.x86_64/usr/man/man3/Slurm*
Comment 1 Tim Wickberg 2017-11-08 22:49:30 MST
Do you happen to have the logs from rpmbuild itself?

There's nothing obvious in the config.log that indicates what's gone wrong.
Comment 2 Chad Cropper 2017-11-09 12:11:29 MST
I do not see where there is any log from rpmbuild.
Comment 3 Tim Wickberg 2017-11-09 12:48:30 MST
If you can capture the console output itself, that should have some indication of why Perl is not building properly.

The config.log doesn't have anything indicating why this failed.
Comment 4 Chad Cropper 2017-11-13 10:31:34 MST
After redirecting the stdout/err to file, it was obvious that something about my perlbrew installation of 5.22.0 was not meshing with the rpmbuild process (though did not seem to cause issues when I built 17.02.7 back in September). I removed the perlbrew from my profile environment and the packages built as expected and the upgrade is complete.

Is there a specific listing of requirements from perl for the slurm-perl-api build?
Comment 5 Chad Cropper 2017-11-13 10:33:51 MST
Created attachment 5550 [details]
rpmbuild perlbrew-5.22.0
Comment 6 Chad Cropper 2017-11-13 10:34:12 MST
Created attachment 5551 [details]
rpmbuild sysperl
Comment 7 Tim Wickberg 2017-12-05 23:19:32 MST
It's taken some time, and a complete overhaul of our slurm.spec file in 17.11.0, but I think I can explain this.

It looks like our built-in approach to detecting the correct install paths is not working properly here, and that there are newer rpm macros we should be switching to in the future.

Would you mind running these commands under both sysperl and perlbrew environments?

eval "`perl -V:installsitelib`"; echo $installsitelib
eval "`perl -V:installsitearch`"; echo $installsitearch

thanks,
- Tim
Comment 9 Tim Wickberg 2018-01-18 18:19:41 MST
I'm tagging this as 'timedout' at this point. If you'd like to pick this back up, can you please re-open and reply to the questions from comment 7?

cheers,
- Tim


(In reply to Tim Wickberg from comment #7)
> It's taken some time, and a complete overhaul of our slurm.spec file in
> 17.11.0, but I think I can explain this.
> 
> It looks like our built-in approach to detecting the correct install paths
> is not working properly here, and that there are newer rpm macros we should
> be switching to in the future.
> 
> Would you mind running these commands under both sysperl and perlbrew
> environments?
> 
> eval "`perl -V:installsitelib`"; echo $installsitelib
> eval "`perl -V:installsitearch`"; echo $installsitearch
> 
> thanks,
> - Tim