coreutils
[Top][All Lists]
Advanced

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

Re: coreutils 8.30 "bootstap"


From: Bernhard Voelker
Subject: Re: coreutils 8.30 "bootstap"
Date: Tue, 16 Oct 2018 23:57:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1

[re-adding the list]

On 9/17/18 7:48 AM, Gabor Z. Papp wrote:> lo lo,
>
> | Sorry, I'm on a holiday trip until begin of September.
>
> hope you enjoyed your vacation. :-)
>
> | It seems the previous part of the patch wasn't applied.
> | Maybe you find a workaround in that make target hardcoded for your case,
> | and report back if it worked for you with the 'dummy-man' script?
>
> I'm attaching the 2 patch I applied, that works fine. In a real cross
> compiling environment that works.
>
> My case is special, since I'm cross compiling to a different glibc
> version on same arch. That means, some binaries are incompatible with
> the old (host) glibc version and unable to run. The patched local.mk
> file checks for /bin/cp what doesn't fail since its glibc calls are
> compatible. But there are some binaries, that aren't, so generating
> manuals fails again.
>
> My workaround was defining cross_compiling=yes at configure time, so
> with the combo of your patch the procedure works fine!
>
> Will you apply to git these changes?
>
>
> 01-configure.ac.diff
>
> diff -urN archive/8.30/configure.ac src/8.30/configure.ac
> --- archive/8.30/configure.ac 2018-05-14 06:20:24.000000000 +0200
> +++ src/8.30/configure.ac     2018-08-17 12:38:31.289457659 +0200
> @@ -617,7 +617,15 @@
>
>  AC_SUBST([built_programs], [$optional_bin_progs])
>
> -AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
> +AC_MSG_CHECKING([whether built binary fails to run on this host 
> (cross-compiling?)])
> +AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
> +[cu_cross_compiling=no],
> +[# Assume we are cross-compiling if this trivial program fails.
> +cu_cross_compiling=yes],
> +[cu_cross_compiling=yes])
> +AM_CONDITIONAL([CROSS_COMPILING],
> +  [test "$cross_compiling" = yes || test "$cu_cross_compiling" = yes])
> +AC_MSG_RESULT([$cu_cross_compiling])
>
>  ############################################################################
>
>
>
> 02-local.mk.diff
>
> diff -urN archive/8.30/man/local.mk src/8.30/man/local.mk
> --- archive/8.30/man/local.mk 2018-05-14 06:20:24.000000000 +0200
> +++ src/8.30/man/local.mk     2018-08-20 12:04:32.008426334 +0200
> @@ -181,6 +181,11 @@
>            test) prog='['; argv='[';;                                 \
>               *) prog=$$name; argv=$$prog;;                           \
>       esac;                                                           \
> +## Double-check whether the built binaries are executable on the build host
> +## as the above CROSS_COMPILING condition might have been wrong in some 
> cases.
> +     run_help2man="$(run_help2man)";                                 \
> +     $(abs_top_builddir)/src/cp$(EXEEXT) 2>/dev/null               \
> +     || run_help2man="$(srcdir)/man/dummy-man";                    \
>  ## Note the use of $$t/$*, rather than just '$*' as in other packages.
>  ## That is necessary to avoid failures for programs that are also shell
>  ## built-in functions like echo, false, printf, pwd.

I don't get the idea about the 2nd patch: any 'cp' will fail - regardless
whether it's compiled for the current arch or not, because there are no
arguments.

Have a nice day,
Berny



reply via email to

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