bugfindutils - Bugs: bug #11000, UNICOS 9.0 Cray Y-MP EL build...

 
 

bug #11000: UNICOS 9.0 Cray Y-MP EL build problems

Submitted by:  Mark D Baushke <mbaushke>
Submitted on:  Sun 14 Nov 2004 09:43:09 PM UTC  
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  James Youngman <jay>
Originator Name:  Open/Closed:  Closed
Release:  4.2.3 Fixed Release:  4.2.5

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Fri 19 Nov 2004 11:22:53 PM UTC, comment #5: 

You can download a release of findutils in which this problem is
fixed from ftp://alpha.gnu.org/gnu/findutils.

The releases on alpha.gnu.org are for testing purposes, so please
take the time to download the release and verify that your
problem has been solved.  Once the release has been sufficiently
tested, it can be uploaded to ftp.gnu.org for everybody to use it.

James Youngman <jay>
Project AdministratorIn charge of this item.
Fri 19 Nov 2004 10:30:32 PM UTC, comment #4: 

All dependent bugs now fixed in CVS.  Hence this bug is fixed, I think.   bug #11008 is no longer a dependency because it doesn't prevent a build.

James Youngman <jay>
Project AdministratorIn charge of this item.
Mon 15 Nov 2004 09:52:41 AM UTC, comment #3: 

The CVS version of findutils builds (with some warnings).
Savannah bug #11008 has been opened to address the -lsun being
added (twice) to the LIBS= makefile macro.

Mark D Baushke <mbaushke>
Mon 15 Nov 2004 01:30:12 AM UTC, comment #2: 

Five of the six problems are now fixed in CVS, and the last one (prolem number 5, incorrectly adding -lsun to LIBS) should, I think, not be a problem - indeed, it shouldn't happen.  Could you retest the CVS code?

James Youngman <jay>
Project AdministratorIn charge of this item.
Mon 15 Nov 2004 12:53:20 AM UTC, comment #1: 

Problem 1 - raised as bug #11001
Problem 2 - fixed in CVS.
Problem 3 - raised as bug #11002
Problem 4 - fixed in CVS.
Problem 5 - configure should only add -lsun to $LIBS if it is available.  If this is not happening as designed, please raise a separate bug for it (ideally with a bit of detail).
Problem 6 - raised as bug #11003

James Youngman <jay>
Project AdministratorIn charge of this item.
Sun 14 Nov 2004 09:43:09 PM UTC, original submission:  

Source: findutils-4.2.3
OS: UNICOS 9.0
Hardware: Cray Y-MP EL

Problem 1: If --enable-nls is given or defaulted, you should still see
if it is posible on the host to use it...

% ./configure
...
% make
...
cc -DHAVE_CONFIG_H -I. -I. -I../..     -g -c `test -f 'argmatch.c' \
|| echo './' `argmatch.c
cc-315 cc: ERROR argmatch.c, Line = 35, File = ./gettext.h, Line = 25
  The include file "libintl.h" is unavailable.
cc-515 cc: ERROR File = argmatch.c, Line = 138
  Both sides of the assignment operator are not compatible.
cc-269 cc: WARNING File = argmatch.c, Line = 157
  The type of argument #2 to function "fprintf" is not compatible with a previous declaration.

TOTAL WARNINGS DETECTED IN argmatch.c: 1
TOTAL ERRORS DETECTED IN argmatch.c: 2
make[4]: *** [argmatch.o] Error 1
%

Manually hacking the config.h to '#undef
ENABLE_NLS' lets the compilation get past the
argmatch error.

So, the lack of a <libintl.h> is a good indicator
that --disable-nls should be considered highly
desirable.

Problem 2: You need to do a refresh of the GNULIB
packages like mktime.c that did not previously
deal with Cray Y-MP EL right shift not propagating
the sign of negative numbers in mktime.c ... I
copied in the version used by ccvs to work around
the problem and continue the compile...

Problem 3: You need to add alloca.h to the -I
search path. Altering intl/Makefile to add
-I$(top_srcdir)/gnulib/lib like this:
  INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/gnulib/lib
works around ths problem.

Problem 4: in find/pred.c, you have executable
statements before declarations which is allowed in
C99, but NOT allowed in C90:

| boolean
| pred_exec (char pathname, struct stat stat_buf, struct predicate *pred_ptr)
| {
|   (void) &pathname;
|   (void) &stat_buf;
|
|   int i;
|   int path_pos;
|   struct exec_val execp;     / Pointer for efficiency. */

should be rewritten as

| boolean
| pred_exec (char pathname, struct stat stat_buf, struct predicate *pred_ptr)
| {
|   int i;
|   int path_pos;
|   struct exec_val execp;     / Pointer for efficiency. */
|
|   (void) &pathname;
|   (void) &stat_buf;

Similarly in pred_iname, the '(void) stat_buf;'
needs to follow the 'const char *base;' line.

Problem 5: Adding -lsun to the link line when you
don't know if the library is available is a bad
idea.

Problem 6: basename is referenced in locate.c, but
the gnulib/lib/basename.o appears to provide the
base_name() function rather than the basename()
function. I modified the locate.c file to replace
occurances of basename() with base_name() to work
around this problem.

Here are a list of some of the warnings seen
during 'make'

...
cc -DHAVE_CONFIG_H -I. -I. -I../..     -g -c `test -f 'quotearg.c' \
|| echo './'`quotearg.c
cc-101 cc: WARNING File = quotearg.c, Line = 57
  The macro "iswprint" is redefined.

TOTAL WARNINGS DETECTED IN quotearg.c: 1
...
cc -DHAVE_CONFIG_H -I. -I. -I../..     -g -c `test -f 'mktime.c' \
|| echo './'`mktime.c
cc-445 cc: ERROR File = mktime.c, Line = 69
  The constant array dimension size is not a positive integral type.
cc-555 cc: ERROR File = mktime.c, Line = 69
  A member of a structure or union has an incomplete type.
cc-479 cc: ERROR File = mktime.c, Line = 69
  The "struct" or "union" "right_shift_propagates_sign" declaration has zero size.

TOTAL ERRORS DETECTED IN mktime.c: 3
make[4]: *** [mktime.o] Error 1
make[4]: Leaving directory `/home/mdb/findutils-4.2.3/gnulib/lib'
make[3]: *** [all] Error 2
...
cc -c -DLOCALEDIR=\"/usr/local/share/locale\" \
 -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale\" \
 -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I.. -I. -I../intl \
 -g  loadmsgcat.c
cc-315 cc: ERROR File = loadmsgcat.c, Line = 40
  The include file "alloca.h" is unavailable.

TOTAL ERRORS DETECTED IN loadmsgcat.c: 1
make[1]: *** [loadmsgcat.o] Error 1
make[1]: Leaving directory `/home/mdb/findutils-4.2.3/intl'
...
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../gnulib/lib -I../lib -I../gnulib/lib \
 -I../intl -DLOCALEDIR=\"/usr/local/share/locale\"    -g \
 -c `test -f 'pred.c' || echo './'`pred.c
cc-518 cc: ERROR File = pred.c, Line = 456
  At the beginning of a statement, "int" is not valid.
cc-518 cc: ERROR File = pred.c, Line = 458
  At the beginning of a statement, "struct" is not valid.
cc-478 cc: ERROR File = pred.c, Line = 463
  The identifier "path_pos" is not declared.
cc-478 cc: ERROR File = pred.c, Line = 463
  The identifier "execp" is not declared.
cc-478 cc: ERROR File = pred.c, Line = 467
  The identifier "i" is not declared.
cc-478 cc: ERROR File = pred.c, Line = 482
  The identifier "i" is not declared.
cc-518 cc: ERROR File = pred.c, Line = 861
  At the beginning of a statement, "const" is not valid.
cc-478 cc: ERROR File = pred.c, Line = 867
  The identifier "base" is not declared.

TOTAL ERRORS DETECTED IN pred.c: 8
make[3]: *** [pred.o] Error 1
make[3]: Leaving directory `/home/mdb/findutils-4.2.3/find'
make[2]: *** [all-recursive] Error 1
...
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../gnulib/lib \
 -I../gnulib/lib -I../intl \
 -DLOCATE_DB=\"/usr/local/var/locatedb\" \
 -DLOCALEDIR=\"/usr/local/share/locale\" \
 -g -c `test -f 'locate.c' || echo './'`locate.c
cc-269 cc: WARNING File = locate.c, Line = 438
  The type of argument #2 to function "gnu_fnmatch" is not compatible with a previous declaration.
cc-269 cc: WARNING File = locate.c, Line = 442
  The type of argument #2 to function "gnu_fnmatch" is not compatible with a previous declaration.

TOTAL WARNINGS DETECTED IN locate.c: 2
cc  -g   -o locate  locate.o ../find/version.o \
 ../lib/libfind.a ../gnulib/lib/libgnulib.a \
 ../intl/libintl.a  -lsun -lsun  -lcposix
 ldr-334 cc: CAUTION
     File 'libsun.a' cannot be found in any of the search directories.
 ldr-133 cc: WARNING
     Unsatisfied external references have been encountered.

 Unsatisfied external references
 Entry name      Modules referencing entry

 basename        locate$c

 ldr-112 cc: WARNING
     Because of previous errors, file 'locate' is not executable.
make[3]: *** [locate] Error 1
make[3]: Leaving directory `/home/mdb/findutils-4.2.3/locate'
...

Mark D Baushke <mbaushke>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #2002:  config.log added by mbaushke (346KiB - text/x-log - config.log output when run on UNICOS 9.0 Cray system)

 

CC list is empty

 

Do you think this task is very important?
If so, you can add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

 

 

Follow 13 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2004-11-19 jay Open/ClosedOpen => Closed
    Fixed ReleaseNone => 4.2.5
2004-11-19 jay StatusNone => Fixed
2004-11-19 jay DependenciesRemoved dependency to bugs #11008 => -
2004-11-15 jay Dependencies- => Depends on bugs #11005
2004-11-15 jay StatusFixed => None
    Dependencies- => Depends on bugs #11008
2004-11-15 jay StatusNone => Fixed
2004-11-15 jay Assigned toNone => jay
    Dependencies- => Depends on bugs #11003
    Dependencies- => Depends on bugs #11002
    Dependencies- => Depends on bugs #11001
2004-11-14 mbaushke Attached File- => Added config.log, #1869

Back to the top


Powered by Savane 3.5