Re: [PATCH] bash-5.3-rc1 FTBFS when cross compiling with gcc-15

2025-05-22 Thread Chet Ramey

On 5/22/25 12:48 AM, Oğuz wrote:

On Thursday, May 22, 2025, Bruce Dubbs  wrote:

with cstd-23 'bool' is a keyword


This is something the configure script should check. Otherwise why have one?


When you are cross-compiling, config.h is for the target system, not the
build system. You need a conservative second file for the build system.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/


OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: [PATCH] bash-5.3-rc1 FTBFS when cross compiling with gcc-15

2025-05-22 Thread Chet Ramey

On 5/21/25 5:02 PM, Bruce Dubbs wrote:

In linuxfromscratch we do a preliminary build of bash in order to
run it later in a chroot environment without any dependencies from the host 
system:


./configure --prefix=/usr   \
     --build=x86_64-pc-linux-gnu \
     --host=x86_64-lfs-linux-gnu \
     --without-bash-malloc

When we do this, the build runs:

   gcc -c  -DHAVE_CONFIG_H -DSHELL -I. -I..  -I.. -I../include -I../lib -I.  \
   -Wno-parentheses -Wno-format-security -DDEBUG  -g -DCROSS_COMPILING   \
    mkbuiltins.c

Looking at ./builtins/mkbuiltins.c we have:

#if !defined (CROSS_COMPILING)
#  include 
...
#include "../bashansi.h"


Yes, cross-compiling means that config.h is for the target system, not the
build system. The build system assumes a very conservative C90/XPG6
compilation environment.

Bash-5.3 introduces a buildconf.h file for this situation; I'll see if I
can fix this there and have mkbuiltins.c include it.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/


OpenPGP_signature.asc
Description: OpenPGP digital signature