[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: can't compile Parsetexi.xs
From: |
Gavin Smith |
Subject: |
Re: can't compile Parsetexi.xs |
Date: |
Thu, 30 Jan 2020 19:50:50 +0000 |
User-agent: |
Mutt/1.9.4 (2018-02-28) |
On Thu, Jan 30, 2020 at 01:18:09PM +0100, Werner LEMBERG wrote:
>
> [commit 7fa44400e1f76d6b755e5bb989e611ec81221074]
>
> Trying a compilation of texinfo's current git on my openSUSE GNU/Linux
> box, `make` aborts with this error.
>
> libtool: compile:
> cc -DHAVE_CONFIG_H \
> -I. \
> -I.../texinfo/tp/Texinfo/XS \
> -I.../texinfo/tp/Texinfo/XS \
> -I.../texinfo/tp/Texinfo/XS/gnulib/lib \
> -I./gnulib/lib \
> -DDATADIR=\"/usr/local/share\" \
> -D_REENTRANT \
> -D_GNU_SOURCE \
> -DPERL_USE_SAFE_PUTENV \
> -fwrapv \
> -fno-strict-aliasing \
> -pipe \
> -fstack-protector-strong \
> -D_LARGEFILE_SOURCE \
> -D_FILE_OFFSET_BITS=64 \
> -fmessage-length=0 \
> -grecord-gcc-switches \
> -O2 \
> -Wall \
> -D_FORTIFY_SOURCE=2 \
> -fstack-protector-strong \
> -funwind-tables \
> -fasynchronous-unwind-tables \
> -fstack-clash-protection \
> -g \
> -Wall \
> -pipe \
> -DVERSION=\"0\" \
> -DXS_VERSION=\"0\" \
> -I/usr/lib/perl5/5.26.1/x86_64-linux-thread-multi/CORE \
> -MT parsetexi/Parsetexi.lo \
> -MD \
> -MP \
> -MF parsetexi/.deps/Parsetexi.Tpo \
> -c parsetexi/Parsetexi.c \
> -fPIC \
> -DPIC \
> -o parsetexi/.libs/Parsetexi.o
>
> In file included from
> .../texinfo/tp/Texinfo/XS/parsetexi/Parsetexi.xs:13:0:
> /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi/CORE/parser.h:22:3:
> error: conflicting types for ‘yy_stack_frame’
> } yy_stack_frame;
> ^~~~~~~~~~~~~~
> In file included from
> /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi/CORE/perl.h:3939:0,
> from .../texinfo/tp/Texinfo/XS/parsetexi/Parsetexi.xs:6:
> /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi/CORE/parser.h:22:3:
> note: previous declaration of ‘yy_stack_frame’ was here
> } yy_stack_frame;
> ^~~~~~~~~~~~~~
What is odd is that that "parser.h" file is not the one that should have
been included. It was the file inside the parsetexi directory that
should have been included. I wonder if there needs to be an -I flag
added to make sure that that directory is searched. It was relying on
finding the include file in the same directory as the source file
(parsetexi/Parsetexi.c and parsetexi/parser.h). It is odd that the
parser.h in Perl's directories is used instead.