Configure Error on IBM Power6

Having trouble compiling the Yambo source? Using an unusual architecture? Problems with the "configure" script? Problems in GPU architectures? This is the place to look.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani

Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
Jia
Posts: 8
Joined: Tue Feb 23, 2010 5:10 pm

Configure Error on IBM Power6

Post by Jia » Thu Feb 25, 2010 11:43 pm

Dear all,

It seems that I can't compile Yambo successfully on IBM power6 in serial
version or in parallel version.

The following is error message:


checking for Fortran name-mangling scheme... unknown
checking for external C routine (test) naming scheme... unknown
configure: WARNING: unknown Fortran name-mangling scheme
configure: error: unknown Fortran <-> C subroutines name conventions

The following is the serial configure option I used:

./configure CC=xlc_r CPP=cpp F77=xlf_r FC=xlf90_r FCFLAGS="-O2 -q64
-qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f"
--with-fftw=/usr/local/lib --with-netcdf-lib=/usr/local/lib
--with-netcdf-include=/usr/local/include --with-p2y=4.0
--with-iotk=/u/jiali/Code/espresso-4.0.5/iotk --build=powerpc-ibm

The config.log is too large. I can't attach it.

Thanks for your help.

Jia
Dr. Jia Li
Fritz-Haber-Institut der Max-Planck-Gesellschaft

User avatar
Conor Hogan
Posts: 111
Joined: Tue Mar 17, 2009 12:17 pm
Contact:

Re: Configure Error on IBM Power6

Post by Conor Hogan » Fri Feb 26, 2010 12:30 pm

Dear Jia,
I tried your configure options on the SP6 in CINECA, and it worked ok for me. Which revision/version of the code are you using?
Obviously I can't understand more without the config.log file - please try to attach it in bzipped format, or send it to my personal email at [], and I'll have a look at it.
Regards,
Conor
Dr. Conor Hogan
CNR-ISM, via Fosso del Cavaliere, 00133 Roma, Italy;
Department of Physics and European Theoretical Spectroscopy Facility (ETSF),
University of Rome "Tor Vergata".

Jia
Posts: 8
Joined: Tue Feb 23, 2010 5:10 pm

Re: Configure Error on IBM Power6

Post by Jia » Fri Feb 26, 2010 1:24 pm

dear Conor,

i am now using Yambo 3.2.1 r.542.The config.log file has been sent to your mailbox.
Thanks

Jia
Dr. Jia Li
Fritz-Haber-Institut der Max-Planck-Gesellschaft

User avatar
Conor Hogan
Posts: 111
Joined: Tue Mar 17, 2009 12:17 pm
Contact:

Re: Configure Error on IBM Power6

Post by Conor Hogan » Fri Feb 26, 2010 2:33 pm

Dear Jia,
The problem appears in the config.log (which was huge, only because the xlf90 -help output was copied 10 times!) as:

Code: Select all

configure:7517: checking for Fortran name-mangling scheme
configure:7536: xlf90_r -c -O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f   conftest.f >&5
** foobar   === End of Compilation 1 ===
** foo_bar   === End of Compilation 2 ===
1501-510  Compilation successful for file conftest.f.
configure:7543: $? = 0
configure:7598: xlc_r -o conftest -g   conftest.c cfortran_test.o   -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser -lpthreads -lm >&5
ld: 0711-736 ERROR: Input file cfortran_test.o:
        XCOFF64 object files are not allowed in 32-bit mode.
so there is some mixing of 32 and 64 bit objects for some reason. Why this causes problems on your machine, but not on mine, I don't know.

To fix the problem, I can suggest you force xlc_r to use a -q64 flag, like:

Code: Select all

./configure --build=powerpc-ibm FC=xlf90_r F77=xlf_r CC=xlc_r CPP=cpp FCFLAGS="-O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f" CFLAGS="-q64"
and if that doesnt work, trying forcing all the compilers to use the -q64 flag, e.g.

Code: Select all

CC='/usr/bin/xlc_r -q64'
F77='/usr/bin/xlf_r -q64'
CXX='/usr/bin/xlc_r -q64' 
If the problem persists, look carefully at the relevant lines in config.log where the error appears and post them here.

Regards,
Conor
Dr. Conor Hogan
CNR-ISM, via Fosso del Cavaliere, 00133 Roma, Italy;
Department of Physics and European Theoretical Spectroscopy Facility (ETSF),
University of Rome "Tor Vergata".

Jia
Posts: 8
Joined: Tue Feb 23, 2010 5:10 pm

Re: Configure Error on IBM Power6

Post by Jia » Fri Feb 26, 2010 6:45 pm

Dear Conor,

The configure with -q64 works well. But I encounter another mistake when i compile yambo. The compilation is interrupted when compiling the file of mod_parser_m.f. I check the Makefile in parser directory. It seems that the flag using to compile the mod_parser_m.f is f90uflags, however, the f90uflags is not defined. I don't know how to define the f90uflags.
The attachment is the compilation log file.
Thanks

Jia
You do not have the required permissions to view the files attached to this post.
Dr. Jia Li
Fritz-Haber-Institut der Max-Planck-Gesellschaft

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: Configure Error on IBM Power6

Post by andrea marini » Fri Feb 26, 2010 9:41 pm

Dear Jia,

did you run a make clean_all before running the configure and the gmake again ? .f files are, in general, left from previous unsuccessfull compilations and, if not cleaned, can produce unwanted errors.
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

Jia
Posts: 8
Joined: Tue Feb 23, 2010 5:10 pm

Re: Configure Error on IBM Power6

Post by Jia » Fri Feb 26, 2010 10:22 pm

Dear Andrea,

Yes. I run a make clean_all before running the configure and gmake.
I look through the Makefile in the /src/parser directory. And i found the flowing information:

FC_NOOPT_SRC= mod_parser_m.o
#
$(FC_NOOPT_SRC):
@rm -f $*$(f90suffix)
@(eval $(cpp) $(cppflags) $(dopts) $*.F > $*$(f90suffix)) > /dev/null
@(eval $(fc) -c $(fcuflags) $(linclude) $*$(f90suffix)) > /dev/null
@echo $* " "
@rm -f $*$(f90suffix)

However, the head of the Makefile is as follow:


prefix = /u/jiali/Code/yambo-3.2.1
exec_prefix = ${prefix}/bin
pccflags =
cpp = cpp
cppflags = -P
f90 = xlf90_r
f90flags = -O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f
f90uflags =
f90suffix = .f
pf90 =
pf90flags =
f77 = xlf_r -q64
f77flags = -O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f
f77uflags =
package_bugreport = yambo@yambo-code.org
#
# Paths
#
prefix = /u/jiali/Code/yambo-3.2.1
exec_prefix = ${prefix}/bin
srcdir = /u/jiali/Code/yambo-3.2.1
libdir = /u/jiali/Code/yambo-3.2.1/lib
libpath = -L/u/jiali/Code/yambo-3.2.1/lib
includedir = /u/jiali/Code/yambo-3.2.1/include
lblas = -lblas
llapack = -llapack
llocal =
lblacs =
lscalapack =
lmpi =
lnetcdf =
iotk_dir = /u/jiali/Code/espresso-4.0.5/iotk/src
etsf_dir =
lfftw =
fc=$(f90)
fcflags=$(f90flags)
fcuflags=$(f90uflags)

It is obvious that the f90uflags (as red color marked) is not defined.


Jia
Dr. Jia Li
Fritz-Haber-Institut der Max-Planck-Gesellschaft

User avatar
Conor Hogan
Posts: 111
Joined: Tue Mar 17, 2009 12:17 pm
Contact:

Re: Configure Error on IBM Power6

Post by Conor Hogan » Sat Feb 27, 2010 12:13 am

Dear Jia,
I think the problem is that since you are explicitly using FCFLAGS, the default flags (also for the unoptimized routines) become not recognized.
You should be able to set them manually adding

Code: Select all

UFFLAGS="-q64 -O0"
to the configure line (the -O0 switches off the optimization).

Incidentally, what does configure report if you do not specify FCFLAGS?
Note that you can always tweak the suggested flags from a successful configure, (before doing make), by editing the config/setup file.

Hope it helps!
Conor
Dr. Conor Hogan
CNR-ISM, via Fosso del Cavaliere, 00133 Roma, Italy;
Department of Physics and European Theoretical Spectroscopy Facility (ETSF),
University of Rome "Tor Vergata".

Jia
Posts: 8
Joined: Tue Feb 23, 2010 5:10 pm

Re: Configure Error on IBM Power6

Post by Jia » Sat Feb 27, 2010 1:28 am

Dear Conor,

Thanks. the problem is solved.

But i encounter another problem. I can't use netcdf library in power6. The following is the configure opintion:

./configure CC="xlc_r -q64" CPP=cpp F77="xlf_r" FC=xlf90_r UFFLAGS="-q64" FCFLAGS="-O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f" --without-mpi --with-netcdf-lib=/usr/local/lib --with-netcdf-include=/usr/local/include --with-p2y=4.0 --with-iotk=/u/jiali/Code/espresso-4.0.5/iotk --build=powerpc-ibm

After configuration, I get the corresponding to NETCDF like that

# [ ] NETCDF/Large Files

But I have checked the /usr/local/lib directory . The following files are included:

libnetcdf.a
libnetcdf64.a
libnetcdf64_c++.a
libnetcdf_c++.a

And the /usr/local/lib directory include the following files:
netcdf.h netcdf.hh netcdf.inc netcdf.mod netcdfcpp.h

I don't know why they are be recogized.

Thanks.

Jia
Dr. Jia Li
Fritz-Haber-Institut der Max-Planck-Gesellschaft

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: Configure Error on IBM Power6

Post by andrea marini » Sat Feb 27, 2010 9:21 am

Jia wrote:
And the /usr/local/lib directory include the following files:
netcdf.h netcdf.hh netcdf.inc netcdf.mod netcdfcpp.h
If the module is in /usr/local/lib maybe you should try to use --with-netcdf-include=/usr/local/lib. Did you try ?
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

Post Reply