bug-automake
[Top][All Lists]
Advanced

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

Re: automake (GNU automake) 1.10.1 9 of 538 tests failed


From: Rainer Tammer
Subject: Re: automake (GNU automake) 1.10.1 9 of 538 tests failed
Date: Mon, 15 Sep 2008 13:47:48 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.3) Gecko/20070326 Thunderbird/2.0.0.0 Mnenhy/0.7.5.0

Hello Ralf,
this is ragarding the AIX ranlib command...

> AIX ranlib is simply a Korn shell script with lack of quoting
> (and a trivial one, too, BTW).  Oh well.  If you happen to have
> a support contract with IBM, would you be so nice and file an
> error report with them about this?  This patch would fix it:
>
> --- /bin/ranlib 2007-07-31 01:21:53.000000000 +0000
> +++ /bin/ranlib 2008-09-07 07:08:52.000000000 +0000
> @@ -83,7 +83,7 @@
>  #
>  for OPT in "$@"
>  do
> -       $AR_CMD -X $OBJ_FLAG $1
> +       $AR_CMD -X $OBJ_FLAG "$1"
>         if [ $? -ne 0 ] ; then
>                 dspmsg ranlib.cat 2 "ranlib: 0654-601 Execution of ar
> failed\n"
>                 RET_CODE=`expr $RET_CODE + 1`
>
>
> Anyway, I installed the patch below to work around the issue,
> and put you in THANKS.
Maybe I do not get it but I think this does not fix the problem of
ranlib....

> ls -al lib*
-rw-r--r--   1 root     system      3579961 Sep 15 13:25 libnet snmp.a
> ranlib 'libnet snmp.a'
ar: 0707-100 libnet does not exist.
ranlib: 0654-601 Execution of ar failed
ar: 0707-100 snmp.a does not exist.
ranlib: 0654-601 Execution of ar failed
Usage: ranlib [-t] [-X {32|64|32_64}] [--] file ...

You can provide multiple files to ranlib... the " does not fix the
problem...

Bye
  Rainer

P.S.:

------------[ranlib]------------------------------------------------------------------
#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
# 
# bos520 src/bos/usr/ccs/bin/ranlib/ranlib.sh 1.9
# 
# Licensed Materials - Property of IBM
# 
# (C) COPYRIGHT International Business Machines Corp. 1989,1993
# All Rights Reserved
# 
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
# 
# IBM_PROLOG_END_TAG
# @(#)62    1.9  src/bos/usr/ccs/bin/ranlib/ranlib.sh, cmdaout, bos520
7/26/01 13:46:28
#
# COMPONENT_NAME: CMDAOUT (ranlib command)
#
#    ranlib script
#        Call the ar command with appropiate options
#
export PATH=/usr/bin:$PATH
AR_S="ar -s"
AR_H="ar -h"
AR_CMD=$AR_S
RET_CODE=0
OBJ_FLAG=
#
set -- `/usr/bin/getopt tX: $*`
while [ $1 != -- ]
do
    case $1 in
        -t)    AR_CMD=$AR_H
            ;;
        -X)    OBJ_FLAG="$2"
            ;;
    esac
    shift
done

#Throw away the '--' for consistency with other commands.
case $1 in
    --)    shift
esac

#Verify the specified OBJECT mode
if [ "$OBJ_FLAG" != "" -a "$OBJ_FLAG" != "32"  \
     -a "$OBJ_FLAG" != "64" -a "$OBJ_FLAG" != "32_64" ]
then
    dspmsg ranlib.cat 3 "The specified object mode is not valid.\n\
\tSpecify -X32, -X64, or -X32_64.\n"
    exit 1
fi

#
if [ $# -eq 0 ]; then
    dspmsg ranlib.cat 1 "Usage: ranlib [-t] [-X {32|64|32_64}] [--] file
...\n"
    exit 1
fi

#If no -X given, look for OBJECT_MODE from environment
if [ "$OBJ_FLAG" = "" ]
then
    OBJ_FLAG=$OBJECT_MODE
    if [ "$OBJ_FLAG" != "" -a "$OBJ_FLAG" != "32"  \
         -a "$OBJ_FLAG" != "64" -a "$OBJ_FLAG" != "32_64" ]
    then
            dspmsg ranlib.cat 4 "The OBJECT_MODE environment variable
has an \
invalid setting.\n\tOBJECT_MODE must be 32, 64, or 32_64.\n"
        exit 1
    fi
fi

if [ "$OBJ_FLAG" = "" ]; then
    OBJ_FLAG=32
fi

#
for OPT in "$@"
do
    $AR_CMD -X $OBJ_FLAG "$1"
    if [ $? -ne 0 ] ; then
        dspmsg ranlib.cat 2 "ranlib: 0654-601 Execution of ar failed\n"
        RET_CODE=`expr $RET_CODE + 1`
    fi
    shift
done

if [ $RET_CODE -ne 0 ]; then
    dspmsg ranlib.cat 1 "Usage: ranlib [-t] [-X {32|64|32_64}] [--] file
...\n"
fi
exit $RET_CODE


------------[man
page:]------------------------------------------------------------------

                    Commands Reference, Volume 4, n - r

ranlib Command

Purpose

Converts archive libraries to random libraries.

Syntax

ranlib [ -t ] [ -X {32|64|32_64}] Archive ...

Description

The ranlib command converts each Archive library to a random library. A
random
library is an archive library that contains a symbol table.

If given the -t option, the ranlib command only touches the archives and
does
not modify them. This is useful after copying an archive or using the -t
option
of the make command in order to avoid having the ld command display an error
message about an out-of-date symbol table.

Flags

-t Touches the named archives without modifying them.

-X mode Specifies the type of object file ranlib should examine. The
mode must
be one of the following:

32
  Processes only 32-bit object files
64
  Processes only 64-bit object files
32_64
  Processes both 32-bit and 64-bit object files

The default is to process 32-bit object files (ignore 64-bit objects).
The mode
can also be set with the OBJECT_MODE environment variable. For example,
OBJECT_MODE=64 causes ranlib to process any 64-bit objects and ignore 32-bit
objects. The -X flag overrides the OBJECT_MODE variable.

Examples

To randomize the archive file genlib.a, enter:

ranlib genlib.a

Files

/usr/ccs/bin/ranlib Contains the ranlib command.

Related Information

The Subroutines Overview in AIX 5L Version 5.2 General Programming Concepts:
Writing and Debugging Programs.

The ld command, ar command, lorder command, make command.





reply via email to

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