Installing open PBS

I installed PBS per this link https://github.com/openpbs/openpbs/blob/master/INSTALL

this seems like it installs everything. Server, Scheduler and Mom.

would you follow this for all nodes and just modify the /etc/pbs.conf to only start COMM and MON on the compute nodes?
or is there a better way I did not see any rmp files created from the source download and the only RPM’s that I can see available are for Rhedhat 8.

I have source for openpbs_20.0.1 and I am trying to install on centos 7.7.

I am not too well versed on PBS. any suggestions would be appreciated.

Ron

It’s possible to build the package as a set of RPMs for clients (submission hosts), execution hosts, and the server. The client package is the smallest, then the execution, and the server contains everything. You’ll also find a debuginfo RPM that may be used to analyze core files in the unlikely event something crashes. Here are some instructions to get you started.

Create the following directories: ~/rpmbuild/BUILD ~/rpmbuild/BUILDROOT ~/rpmbuild/RPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS

Once you’ve configured the PBS package you’ll want to run “make dist” from the command line. This will produce a tarball for the next step.

Copy pbspro-*.tar.gz to ~/rpmbuild/SOURCES

Copy pbspro.spec to ~/rpmbuild/SPECS

cd ~/rpmbuild/SPECS

Run the following:
CFLAGS="-g -O2 -pipe -Wall -Werror" rpmbuild -ba pbspro.spec 2>&1 | tee BUILD.LOG

Once complete you should find the RPMs in ~/rpmbuild/RPMS/x86_64

Good luck!

Hi Mkaro,
thanks for the reply. l get an error, am I typing something wrong?

[arnett@pc-hou-csnode14 SPECS] CFLAGS="-g -O2 -pipe -Wall -Werror" rpmbuild -ba openpbs.spec 2>&1|tee BUILD.LOG Ambiguous output redirect. [arnett@pc-hou-csnode14 SPECS]

Which shell are you using? That should work in bash. Everything after openpbs.spec is just meant to capture the output to a file, so it’s not strictly needed.

I am missing something here.

I ran without the redirect and it doesn’t recognize the CLAGS command.

I have the install/source files in my home/OPEN_PBS/source_code/openpbs-20

I then created the dir rpmbuild in my home with the subdirs, and copied the files per your instructions.

BUT the CLAGS command is unknown.

my shell is /bin/tcsh.

do I have to source something to get my environment?

make dist works because it does create the taball and .spec file.

thanks

You’re using tcsh, that explains it. In bash, you can set environment variables for individual commands by expressing them prior to the command itself. With tcsh, I think you need to set the environment variable in your current environment prior to running the command. I believe the syntax would consist of two commands:

setenv CFLAGS="-g -O2 -pipe -Wall -Werror"
rpmbuild -ba pbspro.spec

Thank you… :blush:

I was also missing a library.

for clarity I used setenv CFLAGS “-g -O2 -pipe -Wall -Werror”

then rpmbuild complained about a needed library. A yum install resolved that and I now have rpm’s

can I ask one last question.

I have the below rpm’s on the compute nodes I only need the *client *.rpm correct?

thanks again for the help.

openpbs-client-20.0.1-0.x86_64.rpm

openpbs-debuginfo-20.0.1-0.x86_64.rpm

openpbs-devel-20.0.1-0.x86_64.rpm

openpbs-execution-20.0.1-0.x86_64.rpm

  • openpbs-server-20.0.1-0.x86_64.rpm

image001.jpg

Client RPM goes on nodes where jobs are submitted, not run. Execution goes on nodes where jobs will run, includes everything in client. Server contains the scheduler and server and goes on the cluster head node. Server contains everything in client and execution as well. By default, pbs_mom will not be started on the head node. Modify /etc/pbs.conf if you want to change this. Most admins don’t want jobs running on the head node, but it’s commonly used for testing.

We also have a document which explains how to create the different rpms which you can then choose to install as needed: