bug-coreutils
[Top][All Lists]
Advanced

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

RE: Error in libfetish.a


From: John D. Ballentine III
Subject: RE: Error in libfetish.a
Date: Wed, 4 Feb 2004 10:18:16 -0800

Woo hoo!  I finally got far enough to get what I wanted out of it... :)

Of course, I still got an error.  

        cc  -Ae -O   -o chown  chown.o chown-core.o ../lib/libfetish.a
../lib/l
ibfetish.a -lsec
/usr/ccs/bin/ld: Unsatisfied symbols:
   alloca (code)
*** Error exit code 1

Stop.

However, I was able to make "tail", so I'm happy...  This is on the
coreutils 5.1.2 package, with it forcing the ANSI C compiler.

If you have anything else to try, I'll do it, but I suspect the problem is
my system rather than anything in the package.

BTW, the gcc version is 2.7.2.2

Thanks! 
John Ballentine 



-----Original Message-----
From: address@hidden [mailto:address@hidden
Sent: Wednesday, February 04, 2004 9:11 AM
To: John D. Ballentine III
Cc: 'address@hidden'
Subject: Re: Error in libfetish.a


>   if (inexact_style != human_round_to_nearest && value <    4294967295u l
> )

I think the space in the above is the problem.  "4294967295u l" with
your machine.  But 18446744073709551615ull with my 10.20 machine.

> Actually, I'm not certain which software I have on this system.  I just
> started in this position a bit more than a year ago, so I'm not sure how
> complete some of the packages are...  I do have the ANSI C compiler
> installed, though.  Is there something I should be specifying to force the
> install to use that package instead of gcc?

You can force the compiler by setting CC and CFLAGS.

  make clean
  ./configure CC=cc CFLAGS='-Ae -O'

That will set -Ae and turn the HP compiler into ANSI mode with
extensions enabled.  This is the mode you want.  Configure should
automatically detect the -Ae for this compiler.  But not wanting to
take too many turns at this please force it so there is no doubt.
Of course the -O turns on the optimizer.

> I see the following values:
> #define HAVE_INTTYPES_H 1
> /* #undef HAVE_STDINT_H */
> /* #undef uintmax_t */
> 
> >From inttypes.h:
> 
> >grep -i uintmax_t inttypes.h
> ** intmax_t and uintmax_t are to be the largest signed and unsigned
integer
> /* The following macros define I/O formats for intmax_t and uintmax_t.
> extern uintmax_t __strtoull (const char *, char**, int);
> extern uintmax_t __wcstoull(const wchar_t *, wchar_t **, int);
> extern uintmax_t __strtoull ();
> extern uintmax_t __wcstoull();
> #define strtoumax(__a, __b, __c) (uintmax_t)strtoul(__a, __b, __c)
> #define wcstoumax(__a, __b, __c) (uintmax_t)wcstoul(__a, __b, __c)
> 
> And:
> > grep UINTMAX_MAX inttypes.h
> ** and UINTMAX_MAX (maximum value of the largest supported unsigned
integer
> #define UINTMAX_MAX UINT64_MAX
> #define UINTMAX_MAX UINT32_MAX

Among other things the HP compiler is using cpp token pasting to build
up the value.  My guess is that your gcc installation does not take
this into account, is trying to use the native header files, and the
token pasting is failing.

#ifdef __STDC__
#define __CONCAT__(_A,_B) _A ## _B
#define __CONCAT_U__(_A) _A ## u
#if defined(__STDC_EXT__) && !defined(__LP64__) /* LP64 takes
#precedence */
#define __CONCAT_L__(_A,_B) _A ## _B ## l        /* extra l for long
#long  */
#else
#define __CONCAT_L__(_A,_B) _A ## _B
#endif
#else
#define __CONCAT__(_A,_B) _A/**/_B
#define __CONCAT_U__(_A) _A                      /* K&R C does not
#support u */
#define __CONCAT_L__(_A,_B) _A/**/_B/**/l
#endif

I am seeing the UINT64_MAX definition.

#define UINT64_MAX     UINT64_C(18446744073709551615)
#define UINT64_C(__c)                    __CONCAT_L__(__c,ul)

What version of gcc are you using?

  gcc --version

For C code on 10.20 the gcc-2.95 compiler would be a well known good
version.

> I didn't find a stdint.h... Which seems wrong, somehow. :)

HP-UX 10.20 never had that, too old.  10.20 released in 1996.

> Usually I look for the last stable release, but since I am having so much
> fun with this I went ahead and grabbed the alpha release you pointed to.

Actually the test release looks pretty good right now.

Try the native ansi compiler.

Bob


reply via email to

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