Hi,

On 06 Jun 2018, at 20:16, Jan Rovins <j...@adax.com> wrote:

> I have been trying out a recent T2 build of generic minimal using a Ubuntu 
> 16.04.4 build host.
> 
> There were some minor adjustments made on the host to get zstd working when 
> running T2, but I am also running into trouble when trying to build glibc & 
> glibc32.
> 
> For glibc it seems that the line:
> 
>  [[ "$arch_target" = i*86-* ]] && 
> GCC_WRAPPER_INSERT="${GCC_WRAPPER_INSERT/-Os/-O2}"
> 
> is no longer doing the trick, because I kept getting the error "glibc can not 
> be compiled without optimization" and the only way I could get rid of that 
> was to add -02 directly to CFLAGS.
> 
> 
> Also, GCC v8.1 was giving out extra warnings which was causing the build to 
> fail because of the -Werror setting, so I had to also set CFLAGS to ignore 
> some warnings to get it to build.

that is strange, I built various builds of t2 over the last weeks.
It sound like maybe the wrappers do not work in your setup? As I remember we 
should probably generically remove -Werror, too?

From your log:

x86_64-t2-linux-gnu-gcc is 
/opt/T2/t2-trunk/build/x86_64-9.0-svn-generic-x86-64-haswell-cross-linux/TOOLCHAIN/tools.cross/wrapper/x86_64-t2-linux-gnu-gcc
Old Command: x86_64-t2-linux-gnu-gcc --version
ENVPREFIX = 'CMD'
OTHERS = ''
INSERT = ''
REMOVE = ''
APPEND = ''
FILTER = ''
Copy:   —version

I remember I saw something like this once, somewhere. Do not really recall when 
and where that was though.
Maybe bash version related? There was a reason we did not yet update bash, 
because the latest major version had too many strange and stray regressions, … 
:-/

        René

> I was able to get glibc to build by doing the following:
> 
> ===================================================================
> --- package/base/glibc/glibc.conf       (revision 46806)
> +++ package/base/glibc/glibc.conf       (working copy)
> @@ -50,6 +50,16 @@
>  var_insert GCC_WRAPPER_INSERT ' ' '-O'
>  var_remove SYSGCC_WRAPPER_INSERT ' ' '-O0'
> 
> +# JLR Needed to add 02 to CFLAGS to get rid of complaint about not compiling 
> without optmazation
> +#var_append CFLAGS ' ' "-O2"
> +
> +# JLR Kluge to work on Ubuntu host
> +# Gcc 8 was kicking out too many warnings ...
> +#var_append confopt " " "--disable-werror"
> +# These are the specific warnings that needed to be disabled.
> +var_append CFLAGS ' ' "-O2 -Wno-stringop-truncation -Wno-format-overflow 
> -Wno-format-truncation -Wno-restrict -Wno-attributes -Wno-overflow"
> +
> +
>  [[ "$arch_target" = i*86-* ]] && 
> GCC_WRAPPER_INSERT="${GCC_WRAPPER_INSERT/-Os/-O2}"
> 
>  # for valgrind, sigh
> @@ -75,6 +85,7 @@
>  configprefix='CFLAGS="$CFLAGS -g -DNDEBUG=1"'
>  configscript="../configure"
> 
> +echo " build ${arch_build}, host = ${arch_target}"
>  var_append confopt " " "--with-gnu-binutils --build=${arch_build} 
> --host=${arch_target}"
> 
>  # toolchain needs some guidance when we do not yet have a compiler
> ==============================================
> 
> Now that I have gotten past glibc, I am stuck at glibc32 errors:
> 
> <stdin>: In function 'dummy':
> <stdin>:5:72: error: invalid application of 'sizeof' to incomplete type 
> 'struct La_i86_regs'
> In file included from ../sysdeps/nptl/libc-lockP.h:24,
>                  from ../sysdeps/nptl/libc-lock.h:184,
>                  from ../include/link.h:52,
>                  from <stdin>:1:
> <stdin>:6:70: error: invalid use of undefined type 'struct La_i86_regs'
> <stdin>:7:70: error: invalid use of undefined type 'struct La_i86_regs'
> <stdin>:8:70: error: invalid use of undefined type 'struct La_i86_regs'
> <stdin>:9:70: error: invalid use of undefined type 'struct La_i86_regs'
> <stdin>:10:70: error: invalid use of undefined type 'struct La_i86_regs'
> <stdin>:11:73: error: invalid application of 'sizeof' to incomplete type 
> 'struct La_i86_retval'
> In file included from ../sysdeps/nptl/libc-lockP.h:24,
>                  from ../sysdeps/nptl/libc-lock.h:184,
>                  from ../include/link.h:52,
>                  from <stdin>:1:
> <stdin>:12:71: error: invalid use of undefined type 'struct La_i86_retval'
> <stdin>:13:71: error: invalid use of undefined type 'struct La_i86_retval'
> <stdin>:14:71: error: invalid use of undefined type 'struct La_i86_retval'
> <stdin>:15:71: error: invalid use of undefined type 'struct La_i86_retval'
> <stdin>:16:72: error: invalid use of undefined type 'struct La_i86_retval'
> <stdin>:17:72: error: invalid use of undefined type 'struct La_i86_retval'
> ../Makerules:281: recipe for target 
> '/opt/T2/t2-trunk/src.glibc32.x86_64.20180606.140021.7492.ubu-bld-4/glibc-2.26/objdir/link-defines.h'
>  failed
> 
> 
> It seems that the struct La_i86_retval gets defined if it is not a 64-bit 
> build, but some part of my build is still going down the 64-bit path when 
> trying to build the 32-bit lib. so the  struct La_i86_retval is missing.
> 
> I tried adding some extra -m32 and -march=i686 to GCC_WRAPPER_INSERT and 
> CFLAGS but that did not help.
> 
> I am attaching the glibc32 Error Log.
> 
> 
> Thanks,
> 

-- 
 ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
 DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE251602478
 Managing Director: René Rebe
 http://exactcode.com | http://exactscan.com | http://ocrkit.com | 
http://t2-project.org | http://rene.rebe.de

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
li...@t2-project.org with a subject of: unsubscribe t2

Reply via email to