[gmx-users] gromacs on powerpc
    Martin Siegert 
    siegert at sfu.ca
       
    Mon Aug 15 23:24:55 CEST 2005
    
    
  
Hello Matt,
I configure gromacs on powerpc64 with
gromacs_loc=/usr/local/gromacs
CC=xlc
CXX=xlC
CFLAGS='-q64 -O5 -qarch=auto -qtune=auto -qaltivec'
CXXFLAGS='-q64 -O5 -qarch=auto -qtune=auto -qaltivec'
LDFLAGS='-q64 -L/usr/local/gromacs/lib64 -Wl,-rpath,/usr/local/gromacs/lib64'
export CC CXX CFLAGS CXXFLAGS LDFLAGS
./configure --prefix=$gromacs_loc --exec-prefix=$gromacs_loc --libdir=$gromacs_loc/lib64 --x-libraries=/usr/X11R6/lib64 --enable-shared --enable-ppc-altivec --disable-fortran --disable-mpi --with-x --program-suffix='' --disable-nice --with-xml=no
If you have fftw installed in a non-standard directory (in my case it is
in /usr/local/include and /usr/local/lib64, which xlc searches by default),
you need to add 
CPPFLAGS='-I<fftw_location>/include'
and add
-L<fftw_location>/lib -Wl,-rpath,<fftw_location>/lib
to the LDFLAGS variable.
After running the configure command I need to patch the generated libtool
file:
===========================================================================
--- libtool.orig	2005-07-29 11:26:21.452200688 -0700
+++ libtool	2005-07-29 11:26:52.279135321 -0700
@@ -110,7 +110,7 @@
 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
 
 # How to pass a linker flag through the compiler.
-wl=""
+wl="-Wl,"
 
 # Object file suffix (normally "o").
 objext="o"
@@ -190,8 +190,8 @@
 old_archive_from_expsyms_cmds=""
 
 # Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
+archive_cmds="\$CC -qmkshrobj -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$CC -qmkshrobj -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
 postinstall_cmds=""
 postuninstall_cmds=""
 
@@ -1143,7 +1143,7 @@
     old_convenience=
     deplibs=
     old_deplibs=
-    compiler_flags=
+    compiler_flags='-q64'
     linker_flags=
     dllsearchpath=
     lib_search_path=`pwd`
===========================================================================
In particular, the change of the "wl=..." line is essential. The other
changes are necessary to get shared libraries and 64bit compile to work.
After these changes run "make".
(I still run into other libtool related problems later, but this should
get you going).
Cheers,
Martin
-- 
Martin Siegert
Head, HPC at SFU
WestGrid Site Manager
Academic Computing Services                        phone: (604) 291-4691
Simon Fraser University                            fax:   (604) 291-4242
Burnaby, British Columbia                          email: siegert at sfu.ca
Canada  V5A 1S6
    
    
More information about the gromacs.org_gmx-users
mailing list