Re: Fortran libraries on the Blue Gene with mpi

2009-04-25 Thread Ralf Wildenhues
Hello Christian, John,

>Ralf Wildenhues wrote:
>> Create six build trees and build and run the Libtool test suites
>> with each of the compiler combinations (the following assumes
>> Bourne-shell syntax):
>>
>>   mkdir build-gcc build-xl build-bgcc build-bgxl build-mpigcc build-mpixl

> please find attached the logs (logs.tar.gz) except for bgcc.

Thank you both for all your efforts.  The message from Christian which I
am quoting, and one from John, didn't make it to the list due to the
size of the logs; I am going to summarize them inline with this reply,
going along with Christian's log files and noting where John's differ
(when applicable).


>>   # GCC, non-BG
>>   cd build-gcc
>>   ../configure CC=gcc CXX=g++ F77=g77 FC=gfortran GCJ=no
>>   make
>>   make -k check VERBOSE=yes 2>&1 | tee checklog-gcc-1
>>   cd ..

With these, all F77 and FC tests in both testsuite failed, as neither
g77 nor gfortran seem to be installed on this system.  All other tests
pass, which is pretty good already.  Nothing left to do here (unless you
want to install these compilers).


>>   # XL, non-BG
>>   cd build-xl
>>   ../configure CC=xlc CXX=xlC F77=xlf FC=xlf95 GCJ=no
>>   make
>>   make -k check VERBOSE=yes 2>&1 | tee checklog-xl-1
>>   cd ..

All tests passed, both testsuites.  Yay!

However, as a minor note, the logs all show:

| checking dependency style of xlc... none
[...]
| checking dependency style of xlC... none

which is kind of weird.  IIRC the XL compilers have working dependency
extraction mechanisms, which are detected by the Automake code.  There
has been one bug fix in Automake's depcomp script, but it was limited to
the --disable-static case.  It would be worthwhile to investigate this.

xlc and xlC understand -qpic and -qstaticlink, good.
xlf only -qpic, but not -qstaticlink, oh well.


>>   # GCC, BG
>>   cd build-bgcc
>>   ../configure CC=bgcc CXX=bgc++ F77=bgf77 FC=bgfortran GCJ=no \
>>LDFLAGS=-dynamic
>>   make
>>   make -k check VERBOSE=yes 2>&1 | tee checklog-bgcc-1
>>   cd ..
>
>configure failed:
>##  ##
>## Configuring libtool (Build:1.3089 2009-03-29) 2.2.7a ##
>##  ##
>
>checking for a BSD-compatible install... /usr/bin/install -c
>checking whether build environment is sane... yes
>checking for a thread-safe mkdir -p... /bin/mkdir -p
>checking for gawk... gawk
>checking whether make sets $(MAKE)... yes
>checking whether subdir libobjs are useable... yes
>checking for gcc... bgcc
>checking for C compiler default output file name...
>configure: error: in
>`/u/fzj301zm/BlueGene/fortran_libraries_on_the_blue_gene_with_mpi/libtool/build-bgcc':
>configure: error: C compiler cannot create executables
>See `config.log' for more details.
>
>
>bgcc and bgcc_r are wrappers for pre-ANSI C. Don't know if it's worth
>the effort to support this.

Ah, I didn't know this.  You could look into the build-bgcc/config.log
file to find out the specific reason why this failed.  But if these
compilers aren't important anyway, then I won't mind if we ignore them.


>>   # XL, BG
>>   cd build-bgxl
>>   ../configure CC=bgxlc CXX=bgxlC F77=bgfort FC=bgxlf95 GCJ=no \
>>LDFLAGS=-qnostaticlink
>>   make
>>   make -k check VERBOSE=yes 2>&1 | tee checklog-bgxl-1
>>   cd ..

This is where things start to get interesting.

bgxlc and bgxlC understand -qpic and -qstaticlink, good.
bgxlf95 understands -qpic but not -qstaticlink; it however accepts
the -qnostaticlink flag.

Test failures:

- f77demo-* in the old testsuite
  This is because the bgfort command does not exist.
  It was a typo, should have been F77=bgfort77 or F77=bgf77 or F77=bgxlf
  I guess.  If you have energy left, here's how you can rerun those
  tests:

   cd build-bgxl
   ../configure CC=bgxlc CXX=bgxlC F77=bgfort77 FC=bgxlf95 GCJ=no \
LDFLAGS=-qnostaticlink
   gmake
   gmake -k check VERBOSE=yes TESTSUITEFLAGS='-k F77' TESTS="\
tests/f77demo-static.test \
tests/f77demo-make.test \
tests/f77demo-exec.test \
tests/f77demo-conf.test \
tests/f77demo-make.test \
tests/f77demo-exec.test \
tests/f77demo-shared.test \
tests/f77demo-make.test \
tests/f77demo-exec.test"


- fcdemo-exec fails after fcdemo-static:

| bgxlf95  -g -c -o fprogram.o  
/u/fzj301zm/BlueGene/fortran_libraries_on_the_blue_gene_with_mpi/libtool/tests/fcdemo/fprogram.f90
| ** fprogram   === End of Compilation 1 ===
| 1501-510  Compilation successful for file fprogram.f90.
| /bin/sh ./libtool   --mode=link bgxlf95  -g  -qnostaticlink -o fprogram 
fprogram.o libfoo.la libfoo3.la -ldl 
| libtool: link: bgxlf95 -g -qnostaticlink -o fprogram fprogram.o  
./.libs/libfoo.a 
/u/fzj301zm/BlueGene/fortran_libraries_on_the_blue_gene_with_mpi/libtool/build-bgxl/tests/fcdemo/.libs/libfoo2.a
 ./.libs/libfoo3.a -ldl
[...]
| PASS: tests/fcdemo-make.test
| fcdemo-exec.test: ===  Running fcdemo-

Re: [PATCH] Fix GNU nm invocation for AIX

2009-04-25 Thread Richard Sandiford
Ralf Wildenhues  writes:
> * Richard Sandiford wrote on Fri, Apr 24, 2009 at 06:35:20PM CEST:
>> Ralf Wildenhues  writes:
>> > * Richard Sandiford wrote on Mon, Mar 16, 2009 at 10:53:23AM CET:
>> >> AIX nm lists weak defined symbols like any other global symbol,
>> >> whereas GNU nm lists them as "W".  The export_symbols_cmds for
>> >> GNU nm on AIX should therefore look for "W" in addition to the
>> >> other codes.
>> >> 
>> >> Tested using GCC.  Please install if OK.
>> >
>> > This patch is also ok if you state how you tested resp. show Libtool
>> > testsuite results.
>> 
>> Thanks.  Here are the results, after the updates described in my
>> last message.  I get the same results using the preinstalled GCC
>> with native tools.
>
> Thanks.  Can you please also send the tests/testsuite.log file
> (preferably bzip2'ed or gzip'ed), that makes analyzing the failures
> much easier.

Sorry, but I don't think I'm allowed to send out things like that.
The output before each failure is the same as it was with the native
tools and preinstalled gcc though.

Richard