-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bleadperl v5.31.1-58-g73cdf3a836 breaks YVES/Sereal-Decoder-4.007.tar.gz on -DDEBUGGING builds #207
Comments
Dave Mitchell has prepared a patch making a correction in Decoder.xs in RT 134320. |
This patch was originally provided by Dave Mitchell inline as a response to a "Blead Breaks CPAN" report in the Perl 5 bug queue (originally rt.perl.org; now github.com/Perl/perl5/issues). Dave's comment in original ticket. THX_ck_entersub_args_sereal_decoder() in Decoder.xs wasn't setting the parent link correctly when munging an op tree. The following diff makes all tests pass on blead. I haven't tested against older perls. References: Perl/perl5#17114 (originally https://rt-archive.perl.org/perl5/Ticket/Display.html?id=134320) Sereal#207
Sereal::Encoder likely needs a similar fix. This appears to be causing issues in modules depending on Sereal too, like Perl/perl5#17245 |
@demerphq and other Sereal maintainers ... can we get an update on this ticket? It impacts several BBC tickets in the Perl 5 issue queue. Thank you very much. |
I will look into Sereal issues in the next couple of days. Thanks for the
heads up, although it was already on my holiday todo list.
Yves
…On Tue, 28 Jan 2020 at 23:34, James E Keenan ***@***.***> wrote:
@demerphq <https://github.com/demerphq> and other Sereal maintainers ...
can we get an update on this ticket?
It impacts several BBC tickets in the Perl 5 issue queue.
Thank you very much.
Jim Keenan
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#207?email_source=notifications&email_token=AAAZ5R6JHKQZTETD5NI5JHDRACXH3A5CNFSM4IHM7QD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKFGVBA#issuecomment-579496580>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAZ5R52BXDDJEIJEAVN5U3RACXH3ANCNFSM4IHM7QDQ>
.
--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
On Tue, 28 Jan 2020 at 23:34, James E Keenan ***@***.***> wrote:
@demerphq <https://github.com/demerphq> and other Sereal maintainers ...
can we get an update on this ticket?
It impacts several BBC tickets in the Perl 5 issue queue.
Hi
I just:
$ cpan-upload-http -verbose Encoder/Sereal-Encoder-4.007_001.tar.gz
Decoder/Sereal-Decoder-4.007_001.tar.gz Sereal/Sereal-4.007_001.tar.gz
cpan-upload-http v2.4
registering upload with PAUSE web server
POSTing upload for Encoder/Sereal-Encoder-4.007_001.tar.gz
PAUSE add message sent ok [200]
POSTing upload for Decoder/Sereal-Decoder-4.007_001.tar.gz
PAUSE add message sent ok [200]
POSTing upload for Sereal/Sereal-4.007_001.tar.gz
PAUSE add message sent ok [200]
3 files uploaded successfully.
They should be available for testing against blead soon. I have NOT done so
myself yet, but i will tomorrow. Feel free to beat me to the punch.
Assuming they pass test I will rerelease as 4.008.
Cheers!
Yves
--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
On Wed, 29 Jan 2020 at 18:35, demerphq ***@***.***> wrote:
On Tue, 28 Jan 2020 at 23:34, James E Keenan ***@***.***>
wrote:
> @demerphq <https://github.com/demerphq> and other Sereal maintainers ...
> can we get an update on this ticket?
>
> It impacts several BBC tickets in the Perl 5 issue queue.
>
Hi
I just:
$ cpan-upload-http -verbose Encoder/Sereal-Encoder-4.007_001.tar.gz
Decoder/Sereal-Decoder-4.007_001.tar.gz Sereal/Sereal-4.007_001.tar.gz
cpan-upload-http v2.4
registering upload with PAUSE web server
POSTing upload for Encoder/Sereal-Encoder-4.007_001.tar.gz
PAUSE add message sent ok [200]
POSTing upload for Decoder/Sereal-Decoder-4.007_001.tar.gz
PAUSE add message sent ok [200]
POSTing upload for Sereal/Sereal-4.007_001.tar.gz
PAUSE add message sent ok [200]
3 files uploaded successfully.
They should be available for testing against blead soon. I have NOT done
so myself yet, but i will tomorrow. Feel free to beat me to the punch.
Assuming they pass test I will rerelease as 4.008.
They passed against blead for me so I released them as 4.008.
Thanks for the heads up.
cheers,
Yves
…--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
I got PASS on both Linux and FreeBSD-11 (though I didn't build with ... but I got a build-time failure on OpenBSD-6.4. :-( I'm attaching the relevant part of the cpanm build.log for Sereal::Decoder and the relevant Thank you very much. |
For both distros I got PASS on threaded debugging builds on both Linux and FreeBSD-11. |
On Fri, 31 Jan 2020 at 00:48, James E Keenan ***@***.***> wrote:
I got PASS on both Linux and FreeBSD-11 (though I didn't build with
-DDEBUGGING)
sereal-decoder-openbsd-64-build-failure.txt
<https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt>
openbsd-64-perl_V.txt
<https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt>
... but I got a build-time failure on OpenBSD-6.4. :-(
I'm attaching the relevant part of the cpanm build.log for Sereal::Decoder
and the relevant perl -V output.
I updated ppport.h so the warnings and other compile artifacts should be
gone in 4.009, but the part regarding csnappy/zstd I havent gotten anywhere
with as I cant replicate locally.
Could you retry the one that failed with 4.009 and let me see the results?
It should be a touch less confusion to work with without all the warnings
from the old ppport.h.
Cheers!
Yves
…--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
On 1/31/20 10:54 AM, Yves Orton wrote:
On Fri, 31 Jan 2020 at 00:48, James E Keenan ***@***.***>
wrote:
> I got PASS on both Linux and FreeBSD-11 (though I didn't build with
> -DDEBUGGING)
> sereal-decoder-openbsd-64-build-failure.txt
>
<https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt>
> openbsd-64-perl_V.txt
> <https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt>
>
> ... but I got a build-time failure on OpenBSD-6.4. :-(
>
> I'm attaching the relevant part of the cpanm build.log for
Sereal::Decoder
> and the relevant perl -V output.
>
I updated ppport.h so the warnings and other compile artifacts should be
gone in 4.009, but the part regarding csnappy/zstd I havent gotten anywhere
with as I cant replicate locally.
Could you retry the one that failed with 4.009 and let me see the results?
It should be a touch less confusion to work with without all the warnings
from the old ppport.h.
Cheers!
Yves
The pppport warnings got cleared, but otherwise no improvement. See
results here:
https://gist.github.com/jkeenan/3700a8e6e2ef4ffb00878a67423ebdbe
|
On Fri, 31 Jan 2020 at 19:12, James E Keenan <notifications@github.com>
wrote:
On 1/31/20 10:54 AM, Yves Orton wrote:
> On Fri, 31 Jan 2020 at 00:48, James E Keenan ***@***.***>
> wrote:
>
> > I got PASS on both Linux and FreeBSD-11 (though I didn't build with
> > -DDEBUGGING)
> > sereal-decoder-openbsd-64-build-failure.txt
> >
> <
https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt
>
> > openbsd-64-perl_V.txt
> > <https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt>
> >
> > ... but I got a build-time failure on OpenBSD-6.4. :-(
> >
> > I'm attaching the relevant part of the cpanm build.log for
> Sereal::Decoder
> > and the relevant perl -V output.
> >
> I updated ppport.h so the warnings and other compile artifacts should be
> gone in 4.009, but the part regarding csnappy/zstd I havent gotten
anywhere
> with as I cant replicate locally.
>
> Could you retry the one that failed with 4.009 and let me see the
results?
> It should be a touch less confusion to work with without all the warnings
> from the old ppport.h.
>
> Cheers!
> Yves
>
The pppport warnings got cleared, but otherwise no improvement. See
results here:
https://gist.github.com/jkeenan/3700a8e6e2ef4ffb00878a67423ebdbe
I updated the csnappy code in Sereal, and have pushed as 4.009_001, which
i think should fix this judging by the patches to the csnappy project.
Lets me know how it goes and ill release as 4.010.
Thanks for your help!
Yves
…--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
On Sun, 2 Feb 2020 at 04:33, demerphq ***@***.***> wrote:
On Fri, 31 Jan 2020 at 19:12, James E Keenan ***@***.***>
wrote:
> On 1/31/20 10:54 AM, Yves Orton wrote:
> > On Fri, 31 Jan 2020 at 00:48, James E Keenan ***@***.***>
> > wrote:
> >
> > > I got PASS on both Linux and FreeBSD-11 (though I didn't build with
> > > -DDEBUGGING)
> > > sereal-decoder-openbsd-64-build-failure.txt
> > >
> > <
> https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt
> >
> > > openbsd-64-perl_V.txt
> > > <https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt
> >
> > >
> > > ... but I got a build-time failure on OpenBSD-6.4. :-(
> > >
> > > I'm attaching the relevant part of the cpanm build.log for
> > Sereal::Decoder
> > > and the relevant perl -V output.
> > >
> > I updated ppport.h so the warnings and other compile artifacts should be
> > gone in 4.009, but the part regarding csnappy/zstd I havent gotten
> anywhere
> > with as I cant replicate locally.
> >
> > Could you retry the one that failed with 4.009 and let me see the
> results?
> > It should be a touch less confusion to work with without all the
> warnings
> > from the old ppport.h.
> >
> > Cheers!
> > Yves
> >
>
> The pppport warnings got cleared, but otherwise no improvement. See
> results here:
>
> https://gist.github.com/jkeenan/3700a8e6e2ef4ffb00878a67423ebdbe
>
>
> I updated the csnappy code in Sereal, and have pushed as 4.009_001, which
i think should fix this judging by the patches to the csnappy project.
Lets me know how it goes and ill release as 4.010.
I updated zstd and miniz as well now, and released as 4.009_002. So if you
havent tried 4.009_001 yet try 4.009_002 instead.
Cheers,
Yves
…--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
On 2/1/20 10:33 PM, Yves Orton wrote:
On Fri, 31 Jan 2020 at 19:12, James E Keenan ***@***.***>
wrote:
https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt
> >
> > > openbsd-64-perl_V.txt
> > >
<https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt>
> > >
> > > ... but I got a build-time failure on OpenBSD-6.4. :-(
> > >
> > > I'm attaching the relevant part of the cpanm build.log for
> > Sereal::Decoder
> > > and the relevant perl -V output.
> > >
Sereal::Decoder / Sereal::Encoder v4.009
Good on FreeBSD-11 but still failing on OpenBSD-6.4. :-(
Please see attachments.
Thank you very much.
Jim Keenan
export DEBUGGING_PERL_ARGS="-des -Dusedevel -Duseithreads -DDEBUGGING" && ~/bin/shell/install_custom_branch_for_testing.sh blead "$DEBUGGING_PERL_ARGS"
# OpenBSD-6.4
$ uname -mrs
OpenBSD 6.4 amd64
$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 31, subversion 9 (v5.31.9 (v5.31.8-89-g41eecd54c3)) built for OpenBSD.amd64-openbsd-thread-multi
$ ./bin/perl -V:config_args
config_args='-des -Dusedevel -Duseithreads -DDEBUGGING';
$ ./bin/perl -V:gccversion
gccversion='4.2.1 Compatible OpenBSD Clang 6.0.0 (tags/RELEASE_600/final)';
$ ./bin/cpanm Sereal::Decoder Sereal::Encoder
...
Building and testing Sereal-Decoder-4.009 ... FAIL
! Installing Sereal::Decoder failed. See /home/jkeenan/.cpanm/work/1580658214.33693/build.log for details. Retry with --force to force install it.
--> Working on Sereal::Encoder
Fetching http://www.cpan.org/authors/id/Y/YV/YVES/Sereal-Encoder-4.009.tar.gz ... OK
Configuring Sereal-Encoder-4.009 ... OK
==> Found dependencies: Sereal::Decoder
! Installing the dependencies failed: Module 'Sereal::Decoder' is not installed
! Bailing out the installation for Sereal-Encoder-4.009.
8 distributions installed
[Sereal-Decoder-4.009] 31 $ bleadperl Makefile.PL
Using bundled csnappy code
Using bundled miniz code
Using bundled zstd code
Generating a Unix-style Makefile
Writing Makefile for Sereal::Decoder
Writing MYMETA.yml and MYMETA.json
[Sereal-Decoder-4.009] 32 $ make
Skip blib/lib/Sereal/Decoder/Constants.pm (unchanged)
Skip blib/lib/Sereal/Performance.pm (unchanged)
Skip blib/lib/Sereal/Decoder.pm (unchanged)
Running Mkbootstrap for Decoder ()
chmod 644 "Decoder.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Decoder.bs blib/arch/auto/Sereal/Decoder/Decoder.bs 644
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009\" -DXS_VERSION=\"4.009\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG Decoder.c
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009\" -DXS_VERSION=\"4.009\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG srl_decoder.c
In file included from srl_decoder.c:52:
In file included from ./snappy/csnappy_decompress.c:38:
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || ARCH_ARM_HAVE_UNALIGNED
^
./snappy/csnappy_internal.h:90:5: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:32: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:60: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:88: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:116: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_AR...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:145: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_A...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:174: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) || defined(__ARMV...
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:5: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:32: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:60: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
./snappy/csnappy_internal.h:94:73: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:88: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
#if defined(__arm__) && !(ARCH_ARM_HAVE_UNALIGNED)
^
./snappy/csnappy_internal.h:90:5: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:32: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:60: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:88: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_AR...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:116: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_AR...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:145: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_A...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:90:174: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
...|| defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) || defined(__ARMV...
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:5: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:32: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:60: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
In file included from srl_decoder.c:52:
./snappy/csnappy_decompress.c:76:27: warning: macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
./snappy/csnappy_internal.h:91:88: note: expanded from macro 'ARCH_ARM_HAVE_UNALIGNED'
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
^
srl_decoder.c:1579:12: warning: MODERN_REGEXP [-W#pragma-messages]
# pragma message ( "MODERN_REGEXP" )
^
23 warnings generated.
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009\" -DXS_VERSION=\"4.009\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG miniz.c
rm -f blib/arch/auto/Sereal/Decoder/Decoder.so
cc -shared -fPIC -L/usr/local/lib -fstack-protector-strong Decoder.o srl_decoder.o miniz.o zstd/libzstd.o -o blib/arch/auto/Sereal/Decoder/Decoder.so
cc: error: no such file or directory: 'zstd/libzstd.o'
*** Error 1 in /home/jkeenan/.cpanm/latest-build/Sereal-Decoder-4.009 (Makefile:509 'blib/arch/auto/Sereal/Decoder/Decoder.so')
export DEBUGGING_PERL_ARGS="-des -Dusedevel -Duseithreads -DDEBUGGING" && ~/bin/shell/install_custom_branch_for_testing.sh blead "$DEBUGGING_PERL_ARGS"
# FreeBSD-11
[perlmonger: blead] $ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 31, subversion 9 (v5.31.9 (v5.31.8-89-g41eecd54c3)) built for amd64-freebsd-thread-multi
[perlmonger: blead] $ ./bin/perl -V:config_args
config_args='-des -Dusedevel -Duseithreads -DDEBUGGING';
[perlmonger: blead] $ ./bin/perl -V:gccversion
gccversion='4.2.1 Compatible FreeBSD Clang 6.0.1 (tags/RELEASE_601/final 335540)';
[perlmonger: blead] $ ./bin/perl -MSereal::Encoder -E 'say $Sereal::Encoder::VERSION;'
4.009
[perlmonger: blead] $ ./bin/perl -MSereal::Decoder -E 'say $Sereal::Decoder::VERSION;'
4.009
|
On Sun, 2 Feb 2020 at 16:55, James E Keenan <notifications@github.com>
wrote:
On 2/1/20 10:33 PM, Yves Orton wrote:
> On Fri, 31 Jan 2020 at 19:12, James E Keenan ***@***.***>
> wrote:
>
>
https://github.com/Sereal/Sereal/files/4136807/sereal-decoder-openbsd-64-build-failure.txt
> > >
> > > > openbsd-64-perl_V.txt
> > > >
> <https://github.com/Sereal/Sereal/files/4136808/openbsd-64-perl_V.txt>
> > > >
> > > > ... but I got a build-time failure on OpenBSD-6.4. :-(
> > > >
> > > > I'm attaching the relevant part of the cpanm build.log for
> > > Sereal::Decoder
> > > > and the relevant perl -V output.
> > > >
Sereal::Decoder / Sereal::Encoder v4.009
Good on FreeBSD-11 but still failing on OpenBSD-6.4. :-(
Yeah, 4.009 doesnt include the fix, you need 4.009_001 or 4.009_002.
Sorry if that wasnt clear.
cheers,
yves
|
What I got with Serial-Decoder/Encoder-4.009_003:
I then changed into the zstd/ subdir and attempted to build:
So now we clearly have zstd/libzstd.o. Moving back up one level ...
Success!?
... but PASS, and 'make install' succeeded. Repeated process with Sereal-Encoder-4.009_003. First tried to install using cpanm on a tarball. Failed during 'make' due to absence of
So I infer that we have a problem in the generated Makefile for each distro, but are otherwise close to success. Thank you very much. |
On Sun, 2 Feb 2020 at 20:01, James E Keenan ***@***.***> wrote:
What I got with Serial-Decoder/Encoder-4.009_003:
$ uname -mrs
OpenBSD 6.4 amd64
$ bleadperl -v | head -2 | tail -1
This is perl 5, version 31, subversion 9 (v5.31.9 (v5.31.8-89-g41eecd54c3)) built for OpenBSD.amd64-openbsd-thread-multi
config_args='-des -Dusedevel -Duseithreads -DDEBUGGING'
cpanm failed to install Serial::Decoder
Changed to the build directory underneath ~/.cpanm ...
[Sereal-Decoder-4.009_003] 99 $ bleadperl Makefile.PL
Using bundled csnappy code
Using bundled miniz code
Using bundled zstd code
Generating a Unix-style Makefile
Writing Makefile for Sereal::Decoder
Writing MYMETA.yml and MYMETA.json
[Sereal-Decoder-4.009_003] 100 $ make
Skip blib/lib/Sereal/Decoder.pm (unchanged)
Skip blib/lib/Sereal/Decoder/Constants.pm (unchanged)
Skip blib/lib/Sereal/Performance.pm (unchanged)
Running Mkbootstrap for Decoder ()
chmod 644 "Decoder.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Decoder.bs blib/arch/auto/Sereal/Decoder/Decoder.bs 644
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009_003\" -DXS_VERSION=\"4.009_003\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG Decoder.c
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009_003\" -DXS_VERSION=\"4.009_003\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG srl_decoder.c
cc -c -I. -pthread -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O3 -Werror=declaration-after-statement -DVERSION=\"4.009_003\" -DXS_VERSION=\"4.009_003\" -DPIC -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/CORE" -DNDEBUG miniz.c
miniz.c:3079:9: warning: Using fopen, ftello, fseeko, stat() etc. path for file I/O - this path may not support
large files. [-W#pragma-messages]
#pragma message("Using fopen, ftello, fseeko, stat() etc. path for file I/O - this path may not suppor...
^
1 warning generated.
rm -f blib/arch/auto/Sereal/Decoder/Decoder.so
cc -shared -fPIC -L/usr/local/lib -fstack-protector-strong Decoder.o srl_decoder.o miniz.o zstd/libzstd.o -o blib/arch/auto/Sereal/Decoder/Decoder.so
cc: error: no such file or directory: 'zstd/libzstd.o'
*** Error 1 in /home/jkeenan/.cpanm/work/1580666162.82173/Sereal-Decoder-4.009_003 (Makefile:509 'blib/arch/auto/Sereal/Decoder/Decoder.so')
I then changed into the zstd/ subdir and attempted to build:
This is really weird, it shouldn't be necessary at all.
[Sereal-Decoder-4.009_003] 103 $ cd zstd
[zstd] 104 $ make
compiling static library
cc -I. -I./common -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=0 -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith -c common/debug.c common/entropy_common.c common/error_private.c common/fse_decompress.c common/pool.c common/threading.c common/xxhash.c common/zstd_common.c compress/fse_compress.c compress/hist.c compress/huf_compress.c compress/zstd_compress.c compress/zstd_compress_literals.c compress/zstd_compress_sequences.c compress/zstd_double_fast.c compress/zstd_fast.c compress/zstd_lazy.c compress/zstd_ldm.c compress/zstd_opt.c compress/zstdmt_compress.c decompress/huf_decompress.c decompress/zstd_ddict.c decompress/zstd_decompress.c decompress/zstd_decompress_block.c
ar rcs libzstd.o *.o
[zstd] 105 $ ls -ltr | tail -n 1
-rw-r--r-- 1 jkeenan jkeenan 858150 Feb 2 12:59 libzstd.o
So now we clearly have zstd/libzstd.o. Moving back up one level ...
[zstd] 106 $ cd ..
[Sereal-Decoder-4.009_003] 107 $ make
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Decoder.bs blib/arch/auto/Sereal/Decoder/Decoder.bs 644
rm -f blib/arch/auto/Sereal/Decoder/Decoder.so
cc -shared -fPIC -L/usr/local/lib -fstack-protector-strong Decoder.o srl_decoder.o miniz.o zstd/libzstd.o -o blib/arch/auto/Sereal/Decoder/Decoder.so
chmod 755 blib/arch/auto/Sereal/Decoder/Decoder.so
Success!?
[Sereal-Decoder-4.009_003] 108 $ make test
# Many tests skipped like this:
t/700_roundtrip/v4/snappy_incr_canon.t ........ skipped: Did not find right version of encoder (want 3.001006)
t/700_roundtrip/v4/sort_keys.t ................ skipped: Did not find right version of encoder
... but PASS, and 'make install' succeeded.
Yeah, this is what happens if you dont have an Encoder available for
testing. If you were upgrading for instance all the tests would run.
Repeated process with Sereal-Encoder-4.009_003. First tried to install
using cpanm on a tarball. Failed during 'make' due to absence of
zstd/libzstd.o. Went to .cpanm build dir; confirmed build failure, but
then changed into zstd/, called make manually, which built zstd/libzstd.o.
From there it was all downhill.
When you say downhill you mean bad? Because it *looks* good to me below?
[Sereal-Encoder-4.009_003] 115 $ cd zstd/
[zstd] 116 $ bleadperl Makefile.PL
[zstd] 117 $ make
compiling static library
cc -I. -I./common -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=0 -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith -c common/debug.c common/entropy_common.c common/error_private.c common/fse_decompress.c common/pool.c common/threading.c common/xxhash.c common/zstd_common.c compress/fse_compress.c compress/hist.c compress/huf_compress.c compress/zstd_compress.c compress/zstd_compress_literals.c compress/zstd_compress_sequences.c compress/zstd_double_fast.c compress/zstd_fast.c compress/zstd_lazy.c compress/zstd_ldm.c compress/zstd_opt.c compress/zstdmt_compress.c decompress/huf_decompress.c decompress/zstd_ddict.c decompress/zstd_decompress.c decompress/zstd_decompress_block.c
ar rcs libzstd.o *.o
[zstd] 118 $ cd ..
[Sereal-Encoder-4.009_003] 119 $ make
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Encoder.bs blib/arch/auto/Sereal/Encoder/Encoder.bs 644
rm -f blib/arch/auto/Sereal/Encoder/Encoder.so
cc -shared -fPIC -L/usr/local/lib -fstack-protector-strong Encoder.o srl_encoder.o miniz.o zstd/libzstd.o -o blib/arch/auto/Sereal/Encoder/Encoder.so
chmod 755 blib/arch/auto/Sereal/Encoder/Encoder.so
[Sereal-Encoder-4.009_003] 120 $ make test
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Encoder.bs blib/arch/auto/Sereal/Encoder/Encoder.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/*/*/*.t
t/001_load.t .................................. ok
t/002_constants.t ............................. ok
t/002_have_enc_and_dec.t ...................... # Testing with both encoder and decoder.
# Sereal::Decoder v4.009003
# Sereal::Encoder v4.009003
t/002_have_enc_and_dec.t ...................... ok
[snip]
t/800_threads.t ............................... ok
t/900_reentrancy.t ............................ ok
All tests successful.
Files=69, Tests=294315, 260 wallclock secs ( 3.10 usr 26.88 sys + 127.24 cusr 131.02 csys = 288.24 CPU)
Result: PASS
[Sereal-Encoder-4.009_003] 121 $ make install
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Encoder.bs blib/arch/auto/Sereal/Encoder/Encoder.bs 644
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.31.9/OpenBSD.amd64-openbsd-thread-multi/auto/Sereal/Encoder/Encoder.so
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.31.9/OpenBSD.amd64-openbsd-thread-multi/Sereal/Encoder.pm
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.31.9/OpenBSD.amd64-openbsd-thread-multi/Sereal/Encoder/Constants.pm
Appending installation info to /home/jkeenan/testing/blead/lib/perl5/5.31.9/OpenBSD.amd64-openbsd-thread-multi/perllocal.pod
So I infer that we have a problem in the generated Makefile for each
distro, but are otherwise close to success.
I have not yet been able to replicate this, and
http://matrix.cpantesters.org/?dist=Sereal-Decoder+4.009_003
http://matrix.cpantesters.org/?dist=Sereal-Encoder+4.009_003
Do not show any test failures at all.
Im going to take a leap of faith and release this as 4.010 and then wait a
while and see if anybody else can replicate the build issue.
As always thank you for your help in getting to the bottom of all this.
Yves
|
This should be fixed in 4.011. Thanks for the report. Closing ticket. |
XRef: https://rt.perl.org/Public/Bug/Display.html?id=134320
The text was updated successfully, but these errors were encountered: