develooper Front page | perl.wxperl.users | Postings from April 2017

[rt.cpan.org #121464] Compile fails with "error: expected identifierbefore string constant" from /CORE/unicode_constants.h

From:
Kent Fredric via RT
Date:
April 30, 2017 09:37
Subject:
[rt.cpan.org #121464] Compile fails with "error: expected identifierbefore string constant" from /CORE/unicode_constants.h
Message ID:
rt-4.0.18-8500-1493545049-776.121464-15-0@rt.cpan.org
Sun Apr 30 05:37:28 2017: Request 121464 was acted upon.
Transaction: Ticket created by KENTNL
       Queue: Wx
     Subject: Compile fails with "error: expected identifier before string
 constant" from /CORE/unicode_constants.h
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: KENTNL@cpan.org
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=121464 >


I don't know enough to know where this problem comes from, whether its my
system wx libraries playing sick, a bug in Perl Core itself, or some GCC
compatibility issue. It may just be a Devel::PPPort thing. *shrug*

Though it looks like the constant is defined twice by different code units.




In file included from
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/utf8.h:30:0,
from
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/regexp.h:21,
from
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/perl.h:3914,
from ../../cpp/wxapi.h:57,
from RichText.c:23:
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/unicode_constants.h:72:22:
error: expected identifier before string constant
# define BOM_UTF8 "\xEF\xBB\xBF" /* U+FEFF */
^
/usr/include/wx-2.8/wx/convauto.h:54:9: note: in expansion of macro ‘BOM_UTF8’
BOM_UTF8
^
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/unicode_constants.h:72:22:
error: expected ‘}’ before string constant
# define BOM_UTF8 "\xEF\xBB\xBF" /* U+FEFF */
^
/usr/include/wx-2.8/wx/convauto.h:54:9: note: in expansion of macro ‘BOM_UTF8’
BOM_UTF8
^
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux/CORE/unicode_constants.h:72:22:
error: expected unqualified-id before string constant
# define BOM_UTF8 "\xEF\xBB\xBF" /* U+FEFF */
^
/usr/include/wx-2.8/wx/convauto.h:54:9: note: in expansion of macro ‘BOM_UTF8’
BOM_UTF8
^
In file included from /usr/include/wx-2.8/wx/txtstrm.h:16:0,
from /usr/include/wx-2.8/wx/richtext/richtextbuffer.h:67,
from /usr/include/wx-2.8/wx/richtext/richtextctrl.h:15,
from RichText.c:32:
/usr/include/wx-2.8/wx/convauto.h: In constructor ‘wxConvAuto::wxConvAuto()’:
/usr/include/wx-2.8/wx/convauto.h:26:20: error: ‘m_conv’ was not declared in
this scope
wxConvAuto() { m_conv = NULL; /* the rest will be initialized later */ }
^
/usr/include/wx-2.8/wx/convauto.h: In copy constructor
‘wxConvAuto::wxConvAuto(const wxConvAuto&)’:
/usr/include/wx-2.8/wx/convauto.h:30:66: error: ‘m_conv’ was not declared in
this scope
wxConvAuto(const wxConvAuto& WXUNUSED(other)) : wxMBConv() { m_conv = NULL; }
^
/usr/include/wx-2.8/wx/convauto.h: In destructor ‘virtual
wxConvAuto::~wxConvAuto()’:
/usr/include/wx-2.8/wx/convauto.h:32:34: error: ‘m_conv’ was not declared in
this scope
virtual ~wxConvAuto() { if ( m_conv && m_ownsConv ) delete m_conv; }
^
/usr/include/wx-2.8/wx/convauto.h:32:44: error: ‘m_ownsConv’ was not declared
in this scope
virtual ~wxConvAuto() { if ( m_conv && m_ownsConv ) delete m_conv; }
^
/usr/include/wx-2.8/wx/convauto.h:32:64: error: type ‘<type error>’ argument
given to ‘delete’, expected pointer
virtual ~wxConvAuto() { if ( m_conv && m_ownsConv ) delete m_conv; }
^
/usr/include/wx-2.8/wx/convauto.h: In member function ‘virtual size_t
wxConvAuto::GetMBNulLen() const’:
/usr/include/wx-2.8/wx/convauto.h:41:49: error: ‘m_conv’ was not declared in
this scope
virtual size_t GetMBNulLen() const { return m_conv->GetMBNulLen(); }
^
/usr/include/wx-2.8/wx/convauto.h: At global scope:
/usr/include/wx-2.8/wx/convauto.h:58:12: error: ‘BOMType’ does not name a type
static BOMType DetectBOM(const char *src, size_t srcLen);
^
/usr/include/wx-2.8/wx/convauto.h: In function ‘void InitWithDefault()’:
/usr/include/wx-2.8/wx/convauto.h:63:9: error: ‘m_conv’ was not declared in
this scope
m_conv = &wxConvUTF8;
^
/usr/include/wx-2.8/wx/convauto.h:64:9: error: ‘m_ownsConv’ was not declared in
this scope
m_ownsConv = false;
^
/usr/include/wx-2.8/wx/convauto.h: At global scope:
/usr/include/wx-2.8/wx/convauto.h:68:22: error: variable or field ‘InitFromBOM’
declared void
void InitFromBOM(BOMType bomType);
^
/usr/include/wx-2.8/wx/convauto.h:68:22: error: ‘BOMType’ was not declared in
this scope
/usr/include/wx-2.8/wx/convauto.h:76:49: error: non-member function ‘void
SkipBOM(const char**, size_t*)’ cannot have cv-qualifier
void SkipBOM(const char **src, size_t *len) const;
^
/usr/include/wx-2.8/wx/convauto.h:84:5: error: ‘BOMType’ does not name a type
BOMType m_bomType;
^
In file included from ../../cpp/wxapi.h:26:0,
from RichText.c:23:
/usr/include/wx-2.8/wx/defs.h:2876:5: error: expected unqualified-id before
‘private’
private: \
^
/usr/include/wx-2.8/wx/convauto.h:95:5: note: in expansion of macro
‘DECLARE_NO_ASSIGN_CLASS’
DECLARE_NO_ASSIGN_CLASS(wxConvAuto)
^
In file included from /usr/include/wx-2.8/wx/txtstrm.h:16:0,
from /usr/include/wx-2.8/wx/richtext/richtextbuffer.h:67,
from /usr/include/wx-2.8/wx/richtext/richtextctrl.h:15,
from RichText.c:32:
/usr/include/wx-2.8/wx/convauto.h:96:1: error: expected declaration before ‘}’
token
};
^
make[2]: *** [Makefile:344: RichText.o] Error 1


perl -V
Summary of my perl5 (revision 5 version 25 subversion 12) configuration:

Platform:
osname=linux
osvers=4.10.4-gentoo
archname=x86_64-linux
uname='linux katipo2 4.10.4-gentoo #47 smp preempt wed mar 22 18:50:38 nzdt
2017 x86_64 intel(r) core(tm) i5-2410m cpu @ 2.30ghz genuineintel gnulinux '
config_args='-de
-Dprefix=/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot
-Ddefault_inc_excludes_dot -Doptimize= -fstack-protector-strong
-fno-stack-protector -O3 -march=native -mtune=native -Dman1dir=none
-Dman3dir=none -Dusedevel -Accflags= -fstack-protector-strong
-fno-stack-protector -DPERL_HASH_FUNC_SIPHASH13 -DPERL_DISABLE_PMC -Aldflags=
-fstack-protector-strong -fno-stack-protector
-Aeval:scriptdir=/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/bin'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-fstack-protector-strong -fno-stack-protector
-DPERL_HASH_FUNC_SIPHASH13 -DPERL_DISABLE_PMC -fwrapv -fno-strict-aliasing
-pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize=' -fstack-protector-strong -fno-stack-protector -O3 -march=native
-mtune=native'
cppflags='-fstack-protector-strong -fno-stack-protector
-DPERL_HASH_FUNC_SIPHASH13 -DPERL_DISABLE_PMC -fwrapv -fno-strict-aliasing
-pipe'
ccversion=''
gccversion='5.4.0'
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 =' -fstack-protector-strong -fno-stack-protector -L/usr/local/lib'
libpth=/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include-fixed /usr/lib
/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64
/usr/local/lib64
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
-lgdbm_compat
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.24.so
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version='2.24'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -fstack-protector-strong -fno-stack-protector -O3
-march=native -mtune=native -L/usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DISABLE_PMC
PERL_DONT_CREATE_GVSV
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
PERL_USE_DEVEL
USE_64_BIT_ALL
USE_64_BIT_INT
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
Built under linux
Compiled at Apr 21 2017 08:42:32
%ENV:
PERLBREW_BASHRC_VERSION="0.74"
PERLBREW_HOME="/home/kent/.perlbrew"
PERLBREW_MANPATH="/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/man"
PERLBREW_PATH="/home/kent/perl5/perlbrew/bin:/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/bin"
PERLBREW_PERL="5.25.12-nossp-sip13-nopmc-nodot"
PERLBREW_ROOT="/home/kent/perl5/perlbrew"
PERLBREW_VERSION="0.74"
@INC:
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/site_perl/5.25.12/x86_64-linux
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/site_perl/5.25.12
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12/x86_64-linux
/home/kent/perl5/perlbrew/perls/5.25.12-nossp-sip13-nopmc-nodot/lib/5.25.12



--
- CPAN kentnl@cpan.org
- Gentoo Perl Maintainer kentnl@gentoo.org ( perl@gentoo.org )



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About