Does OpenPBS 20 clients support pbspro 19.1 server

I have a CentOS 7.7 cluster running PBSPro 19.1. I would like to add some CentOS 8.1 compute nodes to for testing and tried to install the OpenPBS 20 CentOS 8.1 binaries and then connect it back to the 19.1 server. Did something change in the new version that broke this or am I doing something wrong?

Jon

1 Like

This is an important question, because compiling PBSPro 19.1.3 (from pbspro_src.zip) for CentOS 8 is more difficult than one would expect - there have been a number of hoops to jump through - usually related to Python. My last was:

make[3]: Entering directory '/root/src/pbspro/src/lib/Libpython'
gcc -DHAVE_CONFIG_H -I. -I../../../src/include  -I../../../src/include -I/usr/include/python2.7 -I/usr/include/python2.7   -g -O2 -MT libpbspython_a-common_python_utils.o -MD -MP -MF .deps/libpbspython_a-common_python_utils.Tpo -c -o libpbspython_a-common_python_utils.o `test -f 'common_python_utils.c' || echo './'`common_python_utils.c
In file included from common_python_utils.c:40:
../../../src/include/pbs_python_private.h:64:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

So I install python2 and python2-devel. next issue is:

make[3]: Entering directory '/root/src/pbspro/src/lib/Libsite'
gcc -DHAVE_CONFIG_H -I. -I../../../src/include  -I../../../src/include -I../../../src/resmom/   -g -O2 -MT libsite_a-site_alt_rte.o -MD -MP -MF .deps/libsite_a-site_alt_rte.Tpo -c -o libsite_a-site_alt_rte.o `test -f 'site_alt_rte.c' || echo './'`site_alt_rte.c
mv -f .deps/libsite_a-site_alt_rte.Tpo .deps/libsite_a-site_alt_rte.Po
gcc -DHAVE_CONFIG_H -I. -I../../../src/include  -I../../../src/include -I../../../src/resmom/   -g -O2 -MT libsite_a-site_mom_chu.o -MD -MP -MF .deps/libsite_a-site_mom_chu.Tpo -c -o libsite_a-site_mom_chu.o `test -f 'site_mom_chu.c' || echo './'`site_mom_chu.c
site_mom_chu.c:59:10: fatal error: mom_mach.h: No such file or directory
 #include "mom_mach.h"
          ^~~~~~~~~~~~
compilation terminated.

So now I’m hoping this solution works

Managed to get 19.1.3 installed on CentOS 8.2, took some wrestling but we got there. Works fine. So there’s definitely a change in the 19.1.3/20.0 upgrade that makes them (19.x server, 20.x client) incompatible.

Older version clients are not required/tested to work with the new/upgraded server. It is best to upgrade the client package as well.

Most of the time these are dependency-issues. Python.h is used by GNU Compiler Collection (gcc) to build applications. You need to install a package called python-dev for building Python modules, extending the Python interpreter or embedding Python in applications. You encounter “Python.h: No such file or directory” error while trying to build a shared library using the file extension of another language ( e.g. ‘C’ ). If you are trying to build a shared library using the file extension of another language, you need to install the correct development version of Python.

Reason for this error:

  • You haven’t properly installed the header files and static libraries for python dev.
  • Also, sometimes include files might not be default in the include path.

How to solve this error:

  • Install the missing files and libraries.
  • Include Path and Library.
  • Finally, Compile it.