# Compiling openpbs v22.05.11 on RHEL6.4

**URL:** <https://community.openpbs.org/t/compiling-openpbs-v22-05-11-on-rhel6-4/3283>\
**Category:** Users/Site Administrators\
**Created:** [September 16, 2022, 6:26pm UTC](https://community.openpbs.org/t/compiling-openpbs-v22-05-11-on-rhel6-4/3283 "2022-09-16T18:26:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![blacksburgturkey](https://avatars.discourse-cdn.com/v4/letter/b/c68b51/32.png) [@blacksburgturkey](https://community.openpbs.org/u/blacksburgturkey)\
**Post date:** [September 16, 2022, 6:26pm UTC](https://community.openpbs.org/t/compiling-openpbs-v22-05-11-on-rhel6-4/3283/1 "2022-09-16T18:26:20Z")

</div>

I’m in need of creating RHEL6.4 rpm’s for openpbs-execution and openpbs-client. To that end, I’ve attempted to provide all build prereqs. The challenge appears to be providing this build sequence visibility to the altinstall of python v3.6.8. Is there some environment variable, or variables I’ll need to ensure that configure can see my manual python install libraries. Using --with-python=/usr/local/bin/, which is where my manual python3 is installed, did not help. I get the same error below with and without that switch added.

I was able to manually install python v3.6.8 using the following sequence:  
VERSION=“3.6.8”  
tar -xzf Python-“$VERSION”.tgz  
cd Python-“$VERSION”  
./configure --prefix=/usr/local --enable-shared LDFLAGS=“-Wl,-rpath /usr/local/lib”  
echo “/usr/local/lib” \> /etc/ld.so.conf.d/custom-python.conf  
make && make altinstall  
ln -sfn /usr/local/bin/python3.6 /usr/bin/python3.6  
ln -sfn /usr/local/bin/python3.6 /usr/bin/python3

To ensure the manual install included the python3-devel files, I used the “–enable-shared” switch.

For the openpbs steps, I did the following:  
OPENPBSVER=22.05.11  
tar -xpf openpbs-“$OPENPBSVER”.tar.gz  
cd openpbs-“$OPENPBSVER”  
yum-builddep -y openpbs.spec [step reports that python3-devel is missing due to my manual install]  
rpmdev-setuptree  
./autogen.sh  
./configure PBS\_VERSION=“$OPENPBSVER” --prefix=/opt/pbs | tee configure\_“$OPENPBSVER”.txt  
Failing outputs last few lines

checking whether ppoll API is supported… no  
checking for PBS home directory… /var/spool/pbs  
checking for PBS server name file… /var/spool/pbs/server\_name  
./configure: line 25209: syntax error near unexpected token `newline' ./configure: line 25209: ` yes:no:’  
checking for PBS database directory… make: \*\*\* No rule to make target `dist’. Stop.

Steps that my install script fails to reach:  
make dist | tee makedist\_“$OPENPBSVER”.txt  
mv openpbs-“$OPENPBSVER”.tar.gz ~/rpmbuild/SOURCES/  
cp ./openpbs.spec ~/rpmbuild/SPECS/  
cd ~/rpmbuild/SPECS/  
rpmbuild -ba openpbs.spec

Contents of first few last few lines of config.log below:  
This file contains any messages produced by compilers while  
running configure, to aid debugging if configure makes a mistake.

It was created by OpenPBS configure 20.0.0, which was  
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure PBS\_VERSION=22.05.11 --prefix=/opt/pbs

## ---------

## Platform.

## ---------

hostname = auslynchpcd06  
uname -m = x86\_64  
uname -r = 2.6.32-358.el6.x86\_64  
uname -s = Linux  
uname -v = #1 SMP Tue Jan 29 11:47:41 EST 2013

/usr/bin/uname -p = unknown  
/bin/uname -X = unknown

/bin/arch = x86\_64  
/usr/bin/arch -k = unknown  
/usr/convex/getsysinfo = unknown  
/usr/bin/hostinfo = unknown  
/bin/machine = unknown  
/usr/bin/oslevel = unknown  
/bin/universe = unknown

PATH: /usr/lib64/qt-3.3/bin  
PATH: /usr/local/sbin  
PATH: /usr/local/bin  
PATH: /sbin  
PATH: /bin  
PATH: /usr/sbin  
PATH: /usr/bin  
PATH: /root/bin

## -----------

## Core tests.

## -----------

configure:2290: checking build system type  
configure:2308: result: x86\_64-unknown-linux-gnu  
configure:2330: checking host system type  
configure:2345: result: x86\_64-unknown-linux-gnu  
configure:2367: checking target system type  
configure:2382: result: x86\_64-unknown-linux-gnu  
configure:2432: checking for a BSD-compatible install  
configure:2500: result: /usr/bin/install -c  
configure:2511: checking whether build environment is sane  
configure:2571: result: yes  
configure:2712: checking for a thread-safe mkdir -p  
configure:2751: result: /bin/mkdir -p  
configure:2764: checking for gawk  
configure:2780: found /bin/gawk  
configure:2791: result: gawk  
configure:2802: checking whether make sets $(MAKE)  
configure:2824: result: yes  
configure:2918: checking for style of include used by make  
configure:2946: result: GNU  
configure:3016: checking for gcc  
configure:3032: found /usr/bin/gcc  
configure:3043: result: gcc  
configure:3275: checking for C compiler version  
configure:3283: gcc --version \>&5  
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)  
Copyright (C) 2010 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions. There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3287: $? = 0  
configure:3294: gcc -v \>&5  
Using built-in specs.  
Target: x86\_64-redhat-linux  
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=[Red Hat Bugzilla Main Page](http://bugzilla.redhat.com/bugzilla) --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-\_\_cxa\_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch\_32=i686 --build=x86\_64-redhat-linux  
Thread model: posix  
gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)  
configure:3298: $? = 0  
configure:3305: gcc -V \>&5  
gcc: ‘-V’ option must have argument  
configure:3309: $? = 1  
configure:3332: checking for C compiler default output file name  
configure:3354: gcc conftest.c \>&5  
configure:3358: $? = 0  
configure:3396: result: a.out  
configure:3415: checking whether the C compiler works  
configure:3425: ./a.out  
configure:3429: $? = 0  
configure:3448: result: yes  
configure:3455: checking whether we are cross compiling  
configure:3457: result: no  
configure:3460: checking for suffix of executables  
configure:3467: gcc -o conftest conftest.c \>&5  
configure:3471: $? = 0  
configure:3497: result:

Last few lines…  
#define HAVE\_UNAME 1  
#define HAVE\_UTIME 1  
#define H\_ERRNO\_DECLARED /**/  
 #define pbs\_socklen\_t socklen\_t  
 #define PBS\_HAVE\_EPOLL /**/  
#define PBS\_HAVE\_EPOLL\_PWAIT /\*\*/  
#define PBS\_SERVER\_HOME “/var/spool/pbs”  
#define PBS\_DEFAULT\_FILE “/var/spool/pbs/server\_name”

configure: exit 2

---

<div class="post-metadata">

**Author:** ![mikescchen](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.openpbs.org/mikescchen/32/192_2.png) [@mikescchen](https://community.openpbs.org/u/mikescchen)\
**Post date:** [September 26, 2022, 10:01am UTC](https://community.openpbs.org/t/compiling-openpbs-v22-05-11-on-rhel6-4/3283/2 "2022-09-26T10:01:56Z")

</div>

I didn’t go through the messages, but I do remember that the RHEL6 built-in PostgreSQL is too old for OpenPBS v19, let alone v22 you’re using.  
I did build a newer copy of PostgreSQL (from source) on that RHEL6 machine and then build OpenPBS v19 on it. But the machine was upgraded to RHEL7 soon after, so I did not gain much experience on that combination.
