Aarch64 build fails with missing files

I’m having trouble building from source on an aarch64 platform running CentOS 7. The configure file and subsequent Makefile get generated OK.
However the build step (with make or make dist ) fails due to missing src/resmom/mom_mach.c and mom_mach.h in either src/include or src/resmom/ .

I was following the instructions here https://pbspro.atlassian.net/wiki/spaces/PBSPro/pages/13991940/Building+PBS+Pro+Using+rpmbuild

Any idea why these files can’t be found or are being searched for if they should be? The don’t seem to be in the source tree.

Does anyone have any advice on this, or can someone comment on how the build system might check or generate these specific source files?

Sorry nobody responded to you @tomdeakin. It looks like packages from http://download.opensuse.org/repositories/home:/pbsproci/ are not being maintained, so I think those instructions need updating. I suggest you start with the latest released source code here: https://github.com/PBSPro/pbspro/releases

Just untar/unzip whichever bundle you want and continue with the instructions in section C to autogen, configure, make dist, and rpmbuild. If the error persists, please post that last few lines of your build log and and a long directory listing of the src/resmom directory.

Allow me to correct what I just wrote…

I suspect a line like the following appears somewhere in your build output:

pbs_mach_type: the operating system "OS_NAME" is unknown

Where OS_NAME is the output of “uname -s”.

The reason for this is because the buildutils/pbs_mach_type script is being called and doesn’t know you are running Linux on aarch64. My suggestion is to alter buildutils/pbs_mach_type so that it prints the string “linux” (all lower case) and then exits with a zero return code. It looks like this area of the code could use some updating, so thanks for bringing it to our attention!

Thanks a lot for the reply. I was using the latest source from GitHub.

On looking through the configure stdout, I think the issue is here:

checking for machine type... ../configure: line 16600: ../buildutils/pbs_mach_type: Permission denied

The issue is that the pbs_mach_type script wasn’t being called at all!!

Digging further, it looks like the problem comes from that fact that the UnZip that ships with CentOS 7.6 (UnZip 6.00) doesn’t keep file permissions.

I used the tar.gz of the Release generated by GitHub instead, which does retain permissions, and then everything build OK.

Thanks for the pointers.

2 Likes