autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Two problems for autoconf(1.NEC SX 2.Cray)


From: Len Makin
Subject: Two problems for autoconf(1.NEC SX 2.Cray)
Date: Fri, 22 Feb 2002 15:31:26 +1100

Hi autoconf people,
        1. Using configure from GNU packages on the NEC SX-4/5
produces the following minor problem. (there was another problem with
config.sub config.guess too but this has been fixed). 

------- End of Forwarded Message
From: Ben Elliston <address@hidden>
Date: Tue, 12 Feb 2002 18:21:55 +1100 (EST)
To: Len Makin <address@hidden>
Subject: Re: Patch for config.sub for NEC SX-?

Hi Len,

>>>>> "Len" == Len Makin <address@hidden> writes:

  Len> The compiler cc has a valid debugging option -g, but configure 
  Len> (autoconf/aclocal macro?) compile test sees the warning:
  Len> cc: warning: -g overrides '-h 1','-h vector'

  Len> and concludes
  [..]
  Len> checking whether cc accepts -g... no

This is because the test checks if the compiler produced any output.
It's a tricky problem -- but if you like, please send a report to
<address@hidden>, which is where such reports belong.

Cheers, Ben

------- End of Forwarded Message
Some non GNU software correctly does a test of the exit status of the command
rather than testing for non-null output, and comes to the correct conclusion
(for our machine;-).checking whether cc accepts -g... yes
i.e. instead of 
> if test -z "`${CC-cc} -g -c conftest.c 2>&1`" ;then
        use 
< ${CC-cc} -g -c conftest.c 1>/dev/null 2>&1
< if [ $? ]; then

Should meld this into AC_PROG_CC. But is this a robust test
for other compilers? YMMV.

2. Compiling on a CrayJ90se Unicos 10.0.0.8 produces a problem which is
more fundamental to the design of autoconf. The problem shows as
checking for BSD-compatible nm... /bin/nm
...
checking command to parse /bin/nm output... failed

In the documentation:10.9 Limitations of Usual Tools  says:
" In conformance with POSIX, the Cray sed will reject
    `s/[^/]*$//': use `s,[^/]*$,,'.   "
...
but there's another limitation. In the above check for command to parse
/bin/nm output there is the command sequence

# Define system-specific variables.
case $host_os in
aix*)
  symcode='[BCDT]'
  ;;
...
>From the Cray man nm:
     Symbol types are:
 
          A    Global absolute
          B    Global bss segment symbol
          b    Local bss segment symbol
          C    Common block
          D    Global data segment symbol
          d    Local data segment symbol
          L    Block resides in local memory
          T    Global text segment symbol
          t    Local text segment symbol
          U    Undefined
 
     If the -c option was specified, the following characters describe
     additional information on relocatable formats:
 
          b    A bss block or common block.
          e    A common block that is also an entry point.
          s    A soft external.
          x    An external passed as an address by a Fortran routine.
          z    A bss block or common block that may be preset to 0.

so that the following can be added for Unicos:

unicos*)
  symcode='[ABbCDdLTtU]'
  ;;
...
and then we find
# Try without a prefix undercore, then with it.
######################underscore?????????????? typo correction  ;-)
for ac_symprfx in "" "_"; do
 
  # Write the raw and C identifiers.
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[         ]\($symcode$symcode*\)[
        ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
 
  # Check to see that the pipe works correctly.
...
        
The problem here is that Cray sed(really regex ?) rejects the pattern \(\)
- empty search pattern - generated by ac_symprfx=""

GNU sed deals with it OK, but there is no way to specify the use of another sed.
Unlike nm, where users can use "env NM=/tool/bin/nm ./configure", there is
no environment variable specification allowed for sed. This is a mistake.
Can someone fix please, and allow
        "env NM=/tool/bin/nm SED=/usr/gnu/bin/sed ./configure"
or similar?
Cheers,
        Len Makin
-- 
address@hidden:+61 3 9669 8109: CSIRO/Bureau of Meteorology
      High Performance Computing and Communications Centre
24th floor, 150 Lonsdale St | GPO Box 1289K, Melbourne, VIC 3001 Australia



reply via email to

[Prev in Thread] Current Thread [Next in Thread]