Subject: Re: bug#44763: Error when 'make'ing latest version of coreutils

From: Chris Elvidge <[email-masked]>
Date: Sat, 21 Nov 2020 23:45:34 +0000

Finally! Got make, make _version, make check, make install finished.

Here's my instruction file, run from Downloads directory (sorry about 
the wordwrap, should be obvious though)

outfiles="$(pwd)/outfiles"
[ -d "$outfiles" ] || mkdir -p $outfiles

git clone git://git.sv.gnu.org/coreutils 2>&1 | tee -a 
$outfles/out_git_clone.1.txt
cd coreutils

./bootstrap 2>&1 | tee -a $outfiles/out_bootstrap.1.txt
git submodule foreach git pull origin master 2>&1 | tee -a 
$outfiles/out_submodule.1.txt

# these should changed to reflect user
git config --global user.email "[email-masked]"
git config --global user.name "Chris Elvidge"

git commit -m 'build: update gnulib submodule to latest' gnulib 2>&1 | 
tee -a $outfiles/out_commit.1.txt

# Berny's addition
git clean -xdfq && ./bootstrap 2>&1 | tee -a $outfiles/out_bootstrap.2.txt

./configure 2>&1 | tee -a $outfiles/out_configure.1.txt

# do edit to make make work
# Akim's change - make it expect a long not a long long
sed -i -e '2301s/%"PRIdMAX"/%ld/' lib/parse-datetime.y
sed -n 2301p lib/parse-datetime.y

# do three edits to make make check work
# put 'return NULL;' back before '/*NOTREACHED*/' # explained by Berny
sed -i -e '184s#\(/\*NOTREACHED\*/\)#return NULL; \1#' 
gnulib/tests/test-nl_langinfo-mt.c
sed -n 184p gnulib/tests/test-nl_langinfo-mt.c
sed -i -e '94s#\(/\*NOTREACHED\*/\)#return NULL; \1#' 
gnulib/tests/test-setlocale_null-mt-all.c
sed -n 94p gnulib/tests/test-setlocale_null-mt-all.c
sed -i -e '94s#\(/\*NOTREACHED\*/\)#return NULL; \1#' 
gnulib/tests/test-setlocale_null-mt-one.c
sed -n 94p gnulib/tests/test-setlocale_null-mt-one.c

# pause here to make sure edits done properly
read -p "Press return to continue" junk

make 2>&1 | tee -a $outfiles/out_make.1.txt

# install complains if this not done
make _version | tee -a $outfiles/out_make.2.txt

make check | tee -a $outfiles/out_make.3.txt

Cheers all!!

On 21/11/2020 09:16 pm, Bernhard Voelker wrote:
> [adding Paul]
> 
> On 11/21/20 8:54 PM, Chris Elvidge wrote:
>>     CC       test-nl_langinfo-mt.o
>> test-nl_langinfo-mt.c: In function 'threadN_func':
>> test-nl_langinfo-mt.c:185:1: error: no return statement in function
>> returning non-void [-Werror=return-type]
>>    }
>>    ^
>> cc1: all warnings being treated as errors
>> Makefile:6586: recipe for target 'test-nl_langinfo-mt.o' failed
> 
> I see the same with gcc-10.2.1 here.
> 
> It happens since:
>    https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=bd90572c031
> 
> Paul removed the return statement because Sun C 5.9 complains about it.
> 
>    static void *
>    threadN_func (void *arg)
>    {
>      for (;;)
>        {
>          nl_langinfo (CODESET);   /* LC_CTYPE */    /* locale charmap */
>          nl_langinfo (AM_STR);    /* LC_TIME */     /* locale -k am_pm */
>          nl_langinfo (PM_STR);    /* LC_TIME */     /* locale -k am_pm */
>          nl_langinfo (DAY_2);     /* LC_TIME */     /* locale -k day */
>          nl_langinfo (DAY_5);     /* LC_TIME */     /* locale -k day */
>          nl_langinfo (ALTMON_2);  /* LC_TIME */     /* locale -k alt_mon */
>          nl_langinfo (ALTMON_9);  /* LC_TIME */     /* locale -k alt_mon */
>          nl_langinfo (CRNCYSTR);  /* LC_MONETARY */ /* locale -k currency_symbol */
>          nl_langinfo (RADIXCHAR); /* LC_NUMERIC */  /* locale -k decimal_point */
>          nl_langinfo (THOUSEP);   /* LC_NUMERIC */  /* locale -k thousands_sep */
>        }
> 
>      /*NOTREACHED*/
> -   return NULL;
>    }
> 
> How to fix?
> 
> Have a nice day,
> Berny
> 

-- 

Chris Elvidge

5 Ebor Park, Appleton Roebuck, York.  YO23 7DZ.
Tel (Mob): +447443472958 mailto:[email-masked]

Calle Padre Raimundo Codesal 1, Vélez-Málaga, 29700, España