[Clfs-support] Diffutils 3.6 Fails to Build for PowerPC in Chapter 6

Martin Ward macros_the_black at ntlworld.com
Mon Nov 6 12:09:55 PST 2017


On 06/11/17 18:41, Gunnersky2002 at gunnerhooper.tk wrote:
> I'm currently building CLFS Systemd for PowerPC 32 Bit on my x86_64 
> machine with Linux from Scratch installed. Everything succeeded until 
> I attempted to build Diffutils 3.6 in Chapter 6, which gave me this 
> error:
>
> In file included from ./getopt.h:85:0,
>                  from xstrtol.h:22,
>                  from xstrtol.c:31:
> ./config.h:2070:25: warning: 'struct rpl_option' declared inside 
> parameter list will not be visible outside of this definition or 
> declaration
>  #define __GETOPT_PREFIX rpl_
>                          ^
> ./getopt-pfx-core.h:38:44: note: in expansion of macro '__GETOPT_PREFIX'
>  #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
>                                             ^~~~~~~~~~~~~~~
>   CC       xstrtol-error.o
> In file included from ./getopt.h:85:0,
>                  from xstrtol.h:22,
>                  from xstrtol-error.c:20:
> ./config.h:2070:25: warning: 'struct rpl_option' declared inside 
> parameter list will not be visible outside of this definition or 
> declaration
>  #define __GETOPT_PREFIX rpl_
>                          ^
> ./getopt-pfx-core.h:38:44: note: in expansion of macro '__GETOPT_PREFIX'
>  #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
>                                             ^~~~~~~~~~~~~~~
> In file included from ./getopt.h:85:0,
>                  from xstrtol.h:22,
>                  from xstrtol.c:31,
>                  from xstrtoul.c:6:
> ./config.h:2070:25: warning: 'struct rpl_option' declared inside 
> parameter list will not be visible outside of this definition or 
> declaration
>  #define __GETOPT_PREFIX rpl_
>                          ^
> ./getopt-pfx-core.h:38:44: note: in expansion of macro '__GETOPT_PREFIX'
>  #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
>                                             ^~~~~~~~~~~~~~~
> ./config.h:2070:25: warning: 'struct rpl_option' declared inside 
> parameter list will not be visible outside of this definition or 
> declaration
>  #define __GETOPT_PREFIX rpl_
>                          ^
> ./getopt-pfx-core.h:38:44: note: in expansion of macro '__GETOPT_PREFIX'
>  #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
>                                             ^~~~~~~~~~~~~~~
> xstrtol-error.c: In function 'xstrtol_error':
> xstrtol-error.c:84:26: error: invalid use of undefined type 'struct 
> rpl_option'
>      option = long_options[opt_idx].name;
>                           ^
> xstrtol-error.c:84:26: error: dereferencing pointer to incomplete type 
> 'const struct rpl_option'
> In file included from ./getopt.h:85:0,
>                  from xstrtol.h:22,
>                  from xstrtol-error.c:20:
> xstrtol-error.c: At top level:
> ./config.h:2070:25: warning: 'struct rpl_option' declared inside 
> parameter list will not be visible outside of this definition or 
> declaration
>  #define __GETOPT_PREFIX rpl_
>                          ^
> ./getopt-pfx-core.h:38:44: note: in expansion of macro '__GETOPT_PREFIX'
>  #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
>                                             ^~~~~~~~~~~~~~~
> xstrtol-error.c:92:1: error: conflicting types for 'xstrtol_fatal'
>  xstrtol_fatal (enum strtol_error err,
>  ^~~~~~~~~~~~~
> In file included from xstrtol-error.c:20:0:
> xstrtol.h:69:16: note: previous declaration of 'xstrtol_fatal' was here
>  _Noreturn void xstrtol_fatal (enum strtol_error,
>                 ^~~~~~~~~~~~~
> xstrtol-error.c: In function 'xstrtol_fatal':
> xstrtol-error.c:96:35: warning: passing argument 4 of 'xstrtol_error' 
> from incompatible pointer type [-Wincompatible-pointer-types]
>    xstrtol_error (err, opt_idx, c, long_options, arg, exit_failure);
>                                    ^~~~~~~~~~~~
> xstrtol-error.c:47:1: note: expected 'const struct rpl_option *' but 
> argument is of type 'const struct rpl_option *'
>  xstrtol_error (enum strtol_error err,
>  ^~~~~~~~~~~~~
> make[2]: *** [Makefile:1822: xstrtol-error.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory '/mnt/clfs/sources/diffutils-3.6/lib'
> make[1]: *** [Makefile:1577: all] Error 2
> make[1]: Leaving directory '/mnt/clfs/sources/diffutils-3.6/lib'
> make: *** [Makefile:1337: all-recursive] Error 1
>
> I'm building CLFS on my x86_64 Linux from Scratch 20170713-systemd 
> installation. The book I'm using for CLFS is GIT-20170803-PowerPC. I 
> decided to build Linux Headers 4.13.11, Binutils 2.29.1, Glibc 2.26, 
> and GCC 7.2.0 for the cross tools.
>
> Any help will be appreciated.
>
> Thanks.
> _______________________________________________
> Clfs-support mailing list
> Clfs-support at lists.clfs.org
> http://lists.clfs.org/listinfo.cgi/clfs-support-clfs.org
>
HI

In building diffutils-3.6 x86-> x86_64 pure

i had to add gl_cv_func_getopt_gnu=yes to the configure command to get 
it to compile correctly


Martin





More information about the Clfs-support mailing list