RE: RE: s390 lsbsi diffs

Eliuth Pomar <[email protected]> Thu, 1 May 2003 14:09:41 -0400
Newsgroups gmane.linux.lsb.implementation
Message-ID <[email protected]>



Hi Mats.

I applied the s390.patch file to the system. The patch applied OK. However,
I ended up with the following error:

    -: ../sysdeps/unix/sysv/linux/shmat.c: In function `shmat':
    -: ../sysdeps/unix/sysv/linux/shmat.c:53: `SHMLBA' undeclared (first
    use in this function)
    -: ../sysdeps/unix/sysv/linux/shmat.c:53: (Each undeclared identifier
    is reported only once
    -: ../sysdeps/unix/sysv/linux/shmat.c:53: for each function it appears
    in.)
    -: make[3]: *** [/usr/src/glibc-build/sysvipc/shmat.o] Error 1
    -: make[3]: Leaving directory `/usr/src/glibc-2.2.5/sysvipc'
    -: make[2]: *** [sysvipc/subdir_lib] Error 2
    -: make[2]: Leaving directory `/usr/src/glibc-2.2.5'
    -: make[1]: *** [all] Error 2
    -: make[1]: Leaving directory `/usr/src/glibc-build'
    I: Log file stored in "/root/.nALFS/packages/glibc-2.2.5.log".

This seems to be a known bug on shm.h. I tried to figure out what was going
on and I found that the s390.patch file had the following entries:

    diff -Naurw glibc-2.2.5.lsb/sysdeps/generic/bits/shm.h
    glibc-2.2.5.ia64/sysdeps/generic/bits/shm.h
    --- glibc-2.2.5.lsb/sysdeps/generic/bits/shm.h    Fri Aug 30 12:54:47
    2002
    +++ glibc-2.2.5.ia64/sysdeps/generic/bits/shm.h   Fri Aug 30 08:33:26
    2002
    @@ -1,4 +1,4 @@
    -/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
    +/* Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software
    Foundation, Inc.
        This file is part of the GNU C Library.

        The GNU C Library is free software; you can redistribute it and/or
    @@ -31,6 +31,10 @@
     #define SHM_LOCK   11          /* lock segment (root only) */
     #define SHM_UNLOCK 12          /* unlock segment (root only) */

    +/* Segment low boundary address multiple.  */
    +#define SHMLBA           (__getpagesize ())
    +extern int __getpagesize (void) __THROW __attribute__ ((__const__));
    +

     /* Type to count number of attaches.  */
     typedef unsigned short int shmatt_t;

My understanding from the reported bug and the error message is that these
entries should be added to shm.h not deleted. At the same time, I looked at
the individual s390 patch files and I didn't find a similar entry for them.
I also compared the s390 patch file with the ai64 patch file.  Ai64 is
adding these entries to shm.h. The s390's shm.h already have these entries
in it. So I deleted those entries from the s390.patch file and I got pass
the error.

This is the patch file I have now:
(See attached file: s390.patch)

If there is a known reason for me not doing what I did let me know.

phase2/package-build/glibc.xml now have the following entry after the ai64
entry:

                <patch>
                        <base>&build_dir;/&glibc-directory;</base>
                        <param>-N</param>
                        <param>-p1</param>
                        <param>-i &packages_dir;/&glibc-s390-patch;</param>
                </patch>

entities/package has the following corresponding entry:

                <!ENTITY glibc-s390-patch "s390.patch">


The previous error I was getting:

>    -: checking for gcc... gcc
>    -: checking version of gcc... v. ?.??, bad
>    -: checking for gnumake... no
>    -: checking for gmake... no
>    -: checking for make... make
>    -: checking version of make... 3.80, ok
>    -: configure: error:
>    -: *** These critical programs are missing or too old:gcc
>    -: *** Check the INSTALL file for required versions.

Cleared out when I did a make scrub and resubmitted.

The following error may have been seen before. If you know what's going on
let me know. In the mean time I'll try to figure it out.

    -: for dir in intl cp ; \
    -:  do \
    -:    if [ -d stage1/$dir ] ; then true ; else mkdir stage1/$dir ; fi ;
    \
    -:  done
    -: mv *.o insn-flags.h insn-config.h insn-codes.h insn-output.c
    insn-recog.c insn-emit.c insn-extract.c insn-peep.c insn-attr.h
    insn-attrtab.c insn-opinit.c insn-constants.h tm-preds.h tree-check.h
    s-flags s-config s-codes s-mlib s-under s-genrtl s-output s-recog
    s-emit s-extract s-peep s-check s-attr s-attrtab s-opinit s-preds
    s-constants s-crt0 genemit genoutput genrecog genextract genflags
    gencodes genconfig genpeep genattrtab genattr genopinit gengenrtl
    gencheck genpreds genconstants genrtl.c genrtl.h xgcc cpp cc1 cpp0
    crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o  gcc-cross cc1obj
    enquire protoize unprotoize specs collect2 collect2 underscore.c
    tradcpp0 gcov *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk g++
    g++-cross cc1plus stage1
    -: mv: cannot stat `s-crt0': No such file or directory
    -: mv: cannot stat `crtbegin.o': No such file or directory
    -: mv: cannot stat `crtend.o': No such file or directory
    -: mv: cannot stat `crtbeginS.o': No such file or directory
    -: mv: cannot stat `crtendS.o': No such file or directory
    -: mv: cannot stat `crtbeginT.o': No such file or directory
    -: mv: cannot stat `gcc-cross': No such file or directory
    -: mv: cannot stat `cc1obj': No such file or directory
    -: mv: cannot stat `enquire': No such file or directory
    -: mv: cannot stat `protoize': No such file or directory
    -: mv: cannot stat `collect2': No such file or directory
    -: mv: cannot stat `gcov': No such file or directory
    -: mv: cannot stat `*.[0-9][0-9].*': No such file or directory
    -: mv: cannot stat `*.[si]': No such file or directory
    -: mv: cannot stat `g++-cross': No such file or directory
    -: mv: cannot stat `cc1plus': No such file or directory
    -: make[3]: [stage1-start] Error 1 (ignored)
    -: mv intl/*.o stage1/intl
    -: mv: cannot stat `intl/*.o': No such file or directory
    -: make[3]: [stage1-start] Error 1 (ignored)
    -: if [ -f as ] ; then (cd stage1 && ln -s ../as .) ; else true ; fi
    -: if [ -f ld ] ; then (cd stage1 && ln -s ../ld .) ; else true ; fi
    -: if [ -f collect-ld ] ; then (cd stage1 && ln -s ../collect-ld .) ;
    else true ; fi
    -: rm -f stage1/libgcc.a stage1/libgcc_eh.a
    -: cp libgcc.a stage1
    -: if [ -f ` if [ -f /usr/src/gcc-build/gcc/../binutils/ranlib ] ; then
    echo /usr/src/gcc-build/gcc/../binutils/ranlib ; else if [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] ; then echo ranlib; else
    t='s,^,s390-ibm-linux-,'; echo ranlib | sed -e $t ; fi; fi` ] || ( [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] && [ -f /usr/bin/ranlib
    -o -f /bin/ranlib ] ) ; then \
    -:   ` if [ -f /usr/src/gcc-build/gcc/../binutils/ranlib ] ; then echo
    /usr/src/gcc-build/gcc/../binutils/ranlib ; else if [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] ; then echo ranlib; else
    t='s,^,s390-ibm-linux-,'; echo ranlib | sed -e $t ; fi; fi`
    stage1/libgcc.a; \
    -: else true; fi
    -: if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage1; \
    -:   if [ -f ` if [ -f /usr/src/gcc-build/gcc/../binutils/ranlib ] ;
    then echo /usr/src/gcc-build/gcc/../binutils/ranlib ; else if [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] ; then echo ranlib; else
    t='s,^,s390-ibm-linux-,'; echo ranlib | sed -e $t ; fi; fi` ] || ( [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] && [ -f /usr/bin/ranlib
    -o -f /bin/ranlib ] ) ; then \
    -:    ` if [ -f /usr/src/gcc-build/gcc/../binutils/ranlib ] ; then echo
    /usr/src/gcc-build/gcc/../binutils/ranlib ; else if [
    "s390-ibm-linux-gnu" = "s390-ibm-linux-gnu" ] ; then echo ranlib; else
    t='s,^,s390-ibm-linux-,'; echo ranlib | sed -e $t ; fi; fi`
    stage1/libgcc_eh.a; \
    -:   else true; fi; fi
    -: for f in .. ; do if [ x${f} != x.. ]; then \
    -:   cp stage1/${f} . ; \
    -: else true; \
    -: fi; done
    -: mv cp/*.o stage1/cp
    -: mv: cannot stat `cp/*.o': No such file or directory
    -: make[3]: [c++.stage1] Error 1 (ignored)
    -: make[3]: Leaving directory `/usr/src/gcc-build/gcc'
    -: echo timestamp > stage1_copy
    -: echo stage2_build > stage_last
    -: make CC="stage1/xgcc -Bstage1/ -B/usr/s390-ibm-linux/bin/" \
    -:       STAGE_PREFIX=stage1/ \
    -:       CFLAGS="-g -O2" LDFLAGS="" WARN_CFLAGS="\$(GCC_WARN_CFLAGS)"
    STRICT_WARN="-Wtraditional -pedantic -Wno-long-long" libdir=/usr/lib
    LANGUAGES="c gcov c++" MAKEOVERRIDES= OUTPUT_OPTION="-o \$@"
    -: make[3]: Entering directory `/usr/src/gcc-build/gcc'
    -: stage1/xgcc -Bstage1/ -B/usr/s390-ibm-linux/bin/ -c -DIN_GCC    -g
    -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
    -Wtraditional -pedantic -Wno-long-long  -DHAVE_CONFIG_H
    -DGENERATOR_FILE    -I. -I. -I../../gcc-3.2.2/gcc -I../../gcc-3.2.2
    /gcc/. -I../../gcc-3.2.2/gcc/config -I../../gcc-3.2.2/gcc/../include
    ../../gcc-3.2.2/gcc/gengenrtl.c -o gengenrtl.o
    -: stage1/xgcc -Bstage1/ -B/usr/s390-ibm-linux/bin/ -DIN_GCC    -g -O2
    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
    -Wtraditional -pedantic -Wno-long-long  -DHAVE_CONFIG_H
    -DGENERATOR_FILE  -o gengenrtl \
    -:  gengenrtl.o ../libiberty/libiberty.a
    -: ./gengenrtl -h > tmp-genrtl.h
    -: /bin/sh: line 1: ./gengenrtl: No such file or directory
    -: make[3]: *** [s-genrtl] Error 127
    -: make[3]: Leaving directory `/usr/src/gcc-build/gcc'
    -: make[2]: *** [stage2_build] Error 2
    -: make[2]: Leaving directory `/usr/src/gcc-build/gcc'
    -: make[1]: *** [bootstrap] Error 2
    -: make[1]: Leaving directory `/usr/src/gcc-build'
    I: Log file stored in "/root/.nALFS/packages/gcc-3.2.2.log".
    E: Execution failed (2).

I have the following files on my system. I also have the files it couldn't
move at the beginning of error message:

    /mnt/93b0/usr/src/si/lsbsi-intermediate/usr/src/gcc-3.2.2
    /gcc/gengenrtl.c
    /mnt/93b0/usr/src/si/lsbsi-intermediate/usr/src/gcc-build/gcc/gengenrtl.o
    /mnt/93b0/usr/src/si/lsbsi-intermediate/usr/src/gcc-build/gcc/gengenrtl
    /mnt/93b0/usr/src/si/lsbsi-intermediate/usr/src/gcc-build/gcc/stage1/gengenrtl.o
    /mnt/93b0/usr/src/si/lsbsi-intermediate/usr/src/gcc-build/gcc/stage1/gengenrtl

So I'm not really sure at this time what is going on.

Regards,
Eliuth
s390.patch (application/octet-stream, 245 KB) - not displayed