HMMER 2.3.2 Porting Notes to IBM pSeries – 18March04

Background

Hmmer WebSite: http://hmmer.wustl.edu
Version: 2.3.2
System: eServer pSeries Model 630, 1.2 GHz, 4Way, 8 GB Memory
O/S: SuSE Linux Enterprise Server 8
Compilers: GNU gcc 3.2-32 & IBM VisualAge 6.0.0-1

Libgcc: 3.2-32

 

Out of the Box Experience

The code failed identify the platform to configure out of the box. It seem the original config.guess script is old, timestamp='2001-07-12'. To get this version of ./configure the following options needs to be specified: --build=powerpc64-unknown-linux-gnu.

Downloaded a newer version from ftp://ftp.gnu.org/pub/gnu/config/ , timestamp='2003-07-02' (for some unknown reason this ftp site now longer has this version of configure posted). This version corrected the problem and the ./configure script created/generated Makefile(s) which successfully identified the platform and built the application without need for the --build option.

Additionally, the config.sub script was updated to the same timestamp as config.guess so that these two scripts were at the same level.

Configure Script Incorrectly Identifies libpthreads.so Instead of libpthread.so Using VAC

When using the IBM VisualAge Compiler (VAC), with the following inputs to the ./configure script:

export CC=xlc_r
export CFLAGS="-qipa"
./configure --enable-threads

The script fails to identify the correct threads library, libpthread.so. Here is the output from config.log:

configure:2984: checking for the pthreads library -lpthreads
configure:3023: xlc_r -o conftest -qipa    conftest.c -lpthreads  >&5
1586-404 (E) Archive library file "libpthreads.so" not found.
configure:3026: $? = 0
configure:3029: test -s conftest
configure:3032: $? = 0
configure:3045: result: yes
<<< Note: Strictly speaking this should have failed.

After further investigation, while the ./configure script incorrectly identifies the threads library it is not an issue since the compiler invocation xlc_r does correctly link with the correct threads library libthread.so. In the end the compilations work but a few misleading error messages get generated.



Testing

Tested in threaded mode several sets of compiler flags with GCC 3.2 and VAC 6.0 no problems found.  No testing was performed using PVM.

Recommendations

Update source distribution to the latest version of the config.sub and config.guess scripts.

Or if the config.guess with timestamp='2001-07-12' is retained, the need to use the --build=powerpc64-unknown-linux-gnu option in the ./configure needs to be documented in a README or similar file.


Prebuilt Binaries

Prebuilt 64-bit thread enabled binaries are supplied. They were compilers with the IBM VisualAge compiler Version 6.0.0-1. Options used : 


    Configure options = --enable-threads --enable-lfs
   
CC = xlc_r
  
  CCFLAGS = -O -q64 -qtune=pwr4 -qcache=auto


Question?

Questions should be directed to: arenburg@us.ibm.com.