Skip Menu |
Report information
Id: 133696
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: andrew [at] afresh1.com
Cc:
AdminCc:

Operating System: openbsd
PatchStatus: (no value)
Severity: medium
Type: core
Perl Version: 5.24.3
Fixed In: (no value)



From: andrew [...] afresh1.com
Date: Wed, 28 Nov 2018 20:54:48 -0700
Subject: Build fails with -Dccflags='-DNO_LOCALE_NUMERIC'
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 2.9k
This is a bug report for perl from andrew@afresh1.com, generated with the help of perlbug 1.40 running under perl 5.24.3. ----------------------------------------------------------------- [Please describe your issue here] Perl 5.28.0 will not build with -Dccflags='-DNO_LOCALE_NUMERIC' sv.c:13333:9: error: use of undeclared identifier 'lc_numeric_set' if (lc_numeric_set) { ^ 1 error generated. Even wrapping this error in an #ifdef USE_LOCALE_NUMERIC there are more things that don't work. [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=core severity=medium --- Site configuration information for perl 5.24.3: Configured by root at Thu Jan 1 0:00:00 UTC 1970. Summary of my perl5 (revision 5 version 24 subversion 3) configuration: Platform: osname=openbsd, osvers=6.4, archname=amd64-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined -Dccflags=-DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -Dmksymlinks' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I/usr/local/include', optimize='-O2', cppflags='-DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='', gccversion='4.2.1 Compatible OpenBSD Clang 6.0.0 (tags/RELEASE_600/final)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='-Wl,-E -fstack-protector-strong -L/usr/local/lib' libpth=/usr/lib /usr/lib libs=-lm -lc perllibs=-lm -lc libc=/usr/lib/libc.so.93.0, so=so, useshrplib=true, libperl=libperl.so.18.1 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/amd64-openbsd/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC -fstack-protector-strong -L/usr/local/lib' --- @INC for perl 5.24.3: /usr/local/libdata/perl5/site_perl/amd64-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/amd64-openbsd /usr/libdata/perl5 --- Environment for perl 5.24.3: HOME=/home/afresh1 LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/afresh1/.plenv/bin:/home/afresh1/bin:/home/afresh1/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games:.:/usr/ports/infrastructure/bin PERL_BADLANG (unset) SHELL=/bin/ksh
From: Andrew Hewus Fresh <andrew [...] afresh1.com>
Subject: Re: [perl #133696] perlbug AutoReply: Build fails with -Dccflags='-DNO_LOCALE_NUMERIC'
Date: Wed, 28 Nov 2018 21:20:58 -0700
To: perlbug-followup [...] perl.org
Download (untitled) / with headers
text/plain 3.4k
It turns out it doesn't work with -DNO_LOCALE_COLLATE either, probably related. locale.c:3400:19: error: use of undeclared identifier '_DUMMY_COLLATE' sl_result[LC_ALL_INDEX] = do_setlocale_c(LC_ALL, trial_locale); ^ locale.c:385:41: note: expanded from macro 'LC_ALL_INDEX' # define LC_ALL_INDEX _DUMMY_TELEPHONE + 1 ^ locale.c:382:41: note: expanded from macro '_DUMMY_TELEPHONE' # define _DUMMY_TELEPHONE _DUMMY_PAPER ^ locale.c:376:41: note: expanded from macro '_DUMMY_PAPER' # define _DUMMY_PAPER _DUMMY_MEASUREMENT ^ note: (skipping 7 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) locale.c:338:41: note: expanded from macro '_DUMMY_TIME' # define _DUMMY_TIME LC_TIME_INDEX ^ locale.c:337:41: note: expanded from macro 'LC_TIME_INDEX' # define LC_TIME_INDEX _DUMMY_COLLATE + 1 ^ locale.c:334:41: note: expanded from macro '_DUMMY_COLLATE' # define _DUMMY_COLLATE _DUMMY_COLLATE ^ locale.c:3402:25: error: use of undeclared identifier '_DUMMY_COLLATE' if (! sl_result[LC_ALL_INDEX]) { ^ locale.c:385:41: note: expanded from macro 'LC_ALL_INDEX' # define LC_ALL_INDEX _DUMMY_TELEPHONE + 1 ^ locale.c:382:41: note: expanded from macro '_DUMMY_TELEPHONE' # define _DUMMY_TELEPHONE _DUMMY_PAPER ^ locale.c:376:41: note: expanded from macro '_DUMMY_PAPER' # define _DUMMY_PAPER _DUMMY_MEASUREMENT ^ note: (skipping 7 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) locale.c:338:41: note: expanded from macro '_DUMMY_TIME' # define _DUMMY_TIME LC_TIME_INDEX ^ locale.c:337:41: note: expanded from macro 'LC_TIME_INDEX' # define LC_TIME_INDEX _DUMMY_COLLATE + 1 ^ locale.c:334:41: note: expanded from macro '_DUMMY_COLLATE' # define _DUMMY_COLLATE _DUMMY_COLLATE ^ 2 errors generated.
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 575b
Are you sure you don't want to use -Accflags= instead of -Dccflags= ? Using, the -A version and applying the three patches: 4d9252fd87d589cee8bbae74d7bf79cbd4d9fa1b 78f7c09f0b2228c81b0f12f440ec41fa9652c19b 8203b3c38a1a9a17ebd860d8b87aba7091060a62 The final one should definitely fix the LC_COLLATE issue, which was a typo, and unrelated to the other. Applying these patches causes it to compile and pass the test suite on my Linux box, with the options to Configure -Accflags='-DNO_LOCALE_NUMERIC' -Accflags='-DNO_LOCALE_COLLATE' Please try these patches and report back.
To: Karl Williamson via RT <perlbug-followup [...] perl.org>
Subject: Re: [perl #133696] Build fails with -Dccflags='-DNO_LOCALE_NUMERIC'
Date: Sat, 1 Dec 2018 16:18:24 -0700
From: Andrew Hewus Fresh <andrew [...] afresh1.com>
On Thu, Nov 29, 2018 at 11:08:32AM -0800, Karl Williamson via RT wrote: Show quoted text
> Are you sure you don't want to use -Accflags= instead of -Dccflags= ?
Could be, that line with the -D has been in this file for a very long time, so entirely possible it's wrong. Show quoted text
> Using, the -A version and applying the three patches: > 4d9252fd87d589cee8bbae74d7bf79cbd4d9fa1b > 78f7c09f0b2228c81b0f12f440ec41fa9652c19b > 8203b3c38a1a9a17ebd860d8b87aba7091060a62 > > The final one should definitely fix the LC_COLLATE issue, which was a typo, and unrelated to the other. > > Applying these patches causes it to compile and pass the test suite on my Linux box, with the options to Configure -Accflags='-DNO_LOCALE_NUMERIC' -Accflags='-DNO_LOCALE_COLLATE' > > Please try these patches and report back.
I applied these to perl-5.28.1 and still get this: sv.c:13333:9: error: use of undeclared identifier 'lc_numeric_set' if (lc_numeric_set) { ^ 1 error generated. However, blead does work so likely some other patch I need to hunt up.
From: Andrew Hewus Fresh <andrew [...] afresh1.com>
To: Karl Williamson via RT <perlbug-followup [...] perl.org>
Subject: Re: [perl #133696] Build fails with -Dccflags='-DNO_LOCALE_NUMERIC'
Date: Sat, 1 Dec 2018 17:08:41 -0700
Download (untitled) / with headers
text/plain 824b
On Sat, Dec 01, 2018 at 04:18:24PM -0700, Andrew Hewus Fresh wrote: Show quoted text
> I applied these to perl-5.28.1 and still get this: > > sv.c:13333:9: error: use of undeclared identifier 'lc_numeric_set' > if (lc_numeric_set) { > ^ > 1 error generated. > > However, blead does work so likely some other patch I need to hunt up.
It seems I also need d36adde059ed1c4f7af210b4f9fc3a7bd2d7d343, which reading the commit message is unsurprising. With that however, perl builds and tests pass. Many thanks for your help! https://perl5.git.perl.org/perl.git/commit/d36adde059ed1c4f7af210b4f9fc3a7bd2d7d343?f=sv.c l8rZ, -- andrew - http://afresh1.com At the source of every error which is blamed on the computer, you will find at least two human errors, including the error of blaming it on the computer.
RT-Send-CC: perl5-porters [...] perl.org
OP agrees that has been fixed by the commits listed in this ticket -- Karl Williamson
Download (untitled) / with headers
text/plain 313b
Thank you for filing this report. You have helped make Perl better. With the release today of Perl 5.30.0, this and 160 other issues have been resolved. Perl 5.30.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.30.0 If you find that the problem persists, feel free to reopen this ticket.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org