Skip Menu |

This queue is for tickets about the Glib-Object-Introspection CPAN distribution.

Report information
The Basics
Id: 125021
Status: resolved
Priority: 0/
Queue: Glib-Object-Introspection

People
Owner: XAOC [...] cpan.org
Requestors: jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: How do I run the test suite?
In preparation for the upcoming release of perl-5.28.0, I have been testing a selected subset of CPAN distributions against development release perl-5.27.10 on FreeBSD-11.0, using 'cpanm' as the installer. Today I attempted to install Glib-Object-Introspection. I installed prerequisite 'gobject-introspection' satisfactorily. The CPAN distro did indeed install, but no tests were run. I was unable to determine why that was so. Please find attached a digest of the cpanm build.log. Can you advise as to what I need to do to get the tests to run? Thank you very much. Jim Keenan
Subject: XAOC.Glib-Object-Introspection-0.044.log.txt
{ author => "XAOC", dist => "Glib-Object-Introspection", distname => "Glib-Object-Introspection-0.044", distversion => 0.044, grade => "UNKNOWN", prereqs => undef, test_output => [ "Building and testing Glib-Object-Introspection-0.044", "cp build/IFiles.pm blib/arch/Glib/Object/Introspection/Install/Files.pm", "cp lib/Glib/Object/Introspection.pm blib/lib/Glib/Object/Introspection.pm", "Running Mkbootstrap for Introspection ()", "chmod 644 \"Introspection.bs\"", "\"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" -MExtUtils::Command::MM -e 'cp_nonempty' -- Introspection.bs blib/arch/auto/Glib/Object/Introspection/Introspection.bs 644", "[ XS GObjectIntrospection.xs ]", "mv GObjectIntrospection.xsc GObjectIntrospection.c", "[ CC GObjectIntrospection.c ]", "rm -f blib/arch/auto/Glib/Object/Introspection/Introspection.so", "[ LD blib/arch/auto/Glib/Object/Introspection/Introspection.so ]", "chmod 755 blib/arch/auto/Glib/Object/Introspection/Introspection.so", "cp bin/perli11ndoc blib/script/perli11ndoc", "\"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/perli11ndoc", "Manifying 1 pod document", "\"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" -MExtUtils::Command::MM -e 'cp_nonempty' -- Introspection.bs blib/arch/auto/Glib/Object/Introspection/Introspection.bs 644", "LD_LIBRARY_PATH=:build PERL_DL_NONLAZY=1 \"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" \"-MExtUtils::Command::MM\" \"-MTest::Harness\" \"-e\" \"undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')\" t/*.t", "t/00-basic-types.t ............ skipped: Need the test libraries", "t/arg-checks.t ................ skipped: Need the test libraries", "t/arrays.t .................... skipped: Need the test libraries", "t/boxed.t ..................... skipped: Need the test libraries", "t/cairo-integration.t ......... skipped: Need the test libraries", "t/callbacks.t ................. skipped: Need the test libraries", "t/closures.t .................. skipped: Need the test libraries", "t/constants.t ................. skipped: Need the test libraries", "t/enums.t ..................... skipped: Need the test libraries", "t/hashes.t .................... skipped: Need the test libraries", "t/interface-implementation.t .. skipped: Need the test libraries", "t/objects.t ................... skipped: Need the test libraries", "t/param-specs.t ............... skipped: Need the test libraries", "t/structs.t ................... skipped: Need the test libraries", "t/values.t .................... skipped: Need the test libraries", "t/variants.t .................. skipped: Need the test libraries", "t/vfunc-chaining.t ............ skipped: Need the test libraries", "t/vfunc-ref-counting.t ........ skipped: Need the test libraries", "Files=18, Tests=0, 2 wallclock secs ( 0.05 usr 0.02 sys + 1.05 cusr 0.21 csys = 1.33 CPU)", "Result: NOTESTS", ], via => "App::cpanminus::reporter 0.17 (1.7043)", }
Subject: Re: [rt.cpan.org #125021] How do I run the test suite?
Date: Fri, 6 Apr 2018 18:32:54 +0200
To: bug-Glib-Object-Introspection [...] rt.cpan.org
From: Torsten Schoenfeld <kaffeetisch [...] gmx.de>
On 05.04.2018 15:48, James E Keenan via RT wrote: Show quoted text
> Today I attempted to install Glib-Object-Introspection. I installed prerequisite 'gobject-introspection' satisfactorily. The CPAN distro did indeed install, but no tests were run. I was unable to determine why that was so.
It looks like the necessary test libraries were not built successfully by Makefile.PL. Can you try running Makefile.PL again with the attached patch applied and then post the output? Thanks, -Torsten

Message body is not shown because sender requested not to inline it.

On Fri Apr 06 12:33:11 2018, TSCH wrote: Show quoted text
> On 05.04.2018 15:48, James E Keenan via RT wrote:
> > Today I attempted to install Glib-Object-Introspection. I installed > > prerequisite 'gobject-introspection' satisfactorily. The CPAN distro > > did indeed install, but no tests were run. I was unable to determine > > why that was so.
> > It looks like the necessary test libraries were not built successfully > by Makefile.PL. Can you try running Makefile.PL again with the > attached > patch applied and then post the output?
That was a good suggestion ... though unfortunately it points to the same problem we were discussing in https://rt.cpan.org/Ticket/Display.html?id=125014 :-( I cloned the git.gnome.org repository, ran Makefile.PL with perl-5.27.10 and recorded both STDOUT and STDERR in a file attached. I then created a branch in which I applied your patch, cleaned, then repeated the procedure; see second file attached. The second Makefile.PL output appears to spell out the reason why the first failed to create tests. Further suggestions? Thank you very much. Jim Keenan
Subject: makefile.pl.branch.output.txt
Trying to build test libraries... //usr/local/lib/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9' cc: error: linker command failed with exit code 1 (use -v to see invocation) Traceback (most recent call last): File "/usr/local/bin/g-ir-scanner", line 66, in <module> sys.exit(scanner_main(sys.argv)) File "/usr/local/lib/gobject-introspection/giscanner/scannermain.py", line 544, in scanner_main shlibs = create_binary(transformer, options, args) File "/usr/local/lib/gobject-introspection/giscanner/scannermain.py", line 419, in create_binary gdump_parser.get_error_quark_functions()) File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 328, in compile_introspection_binary return dc.run() File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 174, in run self._link(bin_path, introspection_obj) File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 296, in _link raise LinkError(e) distutils.errors.LinkError: command 'cc' failed with exit status 1 not OK Checking if your kit is complete... Looks good Unrecognized argument in LIBS ignored: '-pthread' Generating a Unix-style Makefile Writing Makefile for Glib::Object::Introspection Writing MYMETA.yml and MYMETA.json
Subject: makefile.pl.master.output.txt
Trying to build test libraries... not OK Checking if your kit is complete... Looks good Unrecognized argument in LIBS ignored: '-pthread' Generating a Unix-style Makefile Writing Makefile for Glib::Object::Introspection Writing MYMETA.yml and MYMETA.json
In this ticket as well as RT#125014[1], your libpng library is linked against libz (aka zlib), and your linker can't find the libz/zlib library on your system for whatever reason. If you run 'ldd /usr/local/lib/libpng16.so.16', it will show you it should complain that it's linked against zlib/libz, but can't find that library on your system. If zlib/libz *is* installed on your system, your complier/linker can't find it. 'ldd' on my Linux box says: ldd /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0 linux-vdso.so.1 (0x00007ffeb8319000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f889d361000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f889d05d000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f889ccbe000) /lib64/ld-linux-x86-64.so.2 (0x00007f889d7ae000) You need to fix your system so that your compiler and linker can find libraries that are being requested by programs, or you won't be able to build any of the Gtk-Perl modules. [1] https://rt.cpan.org/Ticket/Display.html?id=125014
On Fri Apr 06 22:59:11 2018, XAOC wrote: Show quoted text
> In this ticket as well as RT#125014[1], your libpng library is linked > against libz (aka zlib), and your linker can't find the libz/zlib > library on your system for whatever reason. > > If you run 'ldd /usr/local/lib/libpng16.so.16', it will show you it > should complain that it's linked against zlib/libz, but can't find > that library on your system. If zlib/libz *is* installed on your > system, your complier/linker can't find it. 'ldd' on my Linux box > says: > > ldd /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0 > linux-vdso.so.1 (0x00007ffeb8319000) > libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 > (0x00007f889d361000) > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 > (0x00007f889d05d000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 > (0x00007f889ccbe000) > /lib64/ld-linux-x86-64.so.2 (0x00007f889d7ae000) > > You need to fix your system so that your compiler and linker can find > libraries that are being requested by programs, or you won't be able > to build any of the Gtk-Perl modules. > > [1] https://rt.cpan.org/Ticket/Display.html?id=125014
Stand by; I think I've got a fix. I'm in the process of filing a bug ticket to FreeBSD which will pertain to both tickets.
On Fri Apr 06 23:13:11 2018, JKEENAN wrote: Show quoted text
> On Fri Apr 06 22:59:11 2018, XAOC wrote:
> > In this ticket as well as RT#125014[1], your libpng library is linked > > against libz (aka zlib), and your linker can't find the libz/zlib > > library on your system for whatever reason. > > > > If you run 'ldd /usr/local/lib/libpng16.so.16', it will show you it > > should complain that it's linked against zlib/libz, but can't find > > that library on your system. If zlib/libz *is* installed on your > > system, your complier/linker can't find it. 'ldd' on my Linux box > > says: > > > > ldd /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0 > > linux-vdso.so.1 (0x00007ffeb8319000) > > libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 > > (0x00007f889d361000) > > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 > > (0x00007f889d05d000) > > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 > > (0x00007f889ccbe000) > > /lib64/ld-linux-x86-64.so.2 (0x00007f889d7ae000) > > > > You need to fix your system so that your compiler and linker can find > > libraries that are being requested by programs, or you won't be able > > to build any of the Gtk-Perl modules. > > > > [1] https://rt.cpan.org/Ticket/Display.html?id=125014
> > Stand by; I think I've got a fix. I'm in the process of filing a bug > ticket to FreeBSD which will pertain to both tickets.
Well, I have a quasi-fix. I hypothesized that the problem lay in the FreeBSD port Makefile (https://svnweb.freebsd.org/ports/head/graphics/png/Makefile?revision=451454&view=markup). By examining other FreeBSD ports, particularly those for CPAN libraries, I made a highly scientific guess that if I modified the Makefile per the attached diff and called 'sudo make install' something good would happen. And it did, I was now able to successfully install both this ticket (125021) and the one for Cairo (125014) against perl-5.27.10 on FreeBSD-11.0. I then figured it would be a good idea to file a bug ticket in FreeBSD's Bugzilla about this. I recognized, however, that unless I could greatly reduce the problem to a simple Perl (or, better yet, C) example, that ticket would not be treated as a "good" bug report and would collect silicon dust. I further recognized that, to demonstrate the bug, I would have to be able to switch back and forth between the 2 binaries and 4 symlinks in /usr/local/lib which constitute the vendor libpng installation and the slightly different binaries and symlinks which constitute my patch png port. I spent several hours over the weekend doing that and had a Perl program which performed that switch. I was quite proud of that program ... and then at some point I accidentally lost the 2 system binaries. I tried to rebuild the original port, but ran into problems with the FreeBSD repositories which I was unable to solve. Consequently, I was unable to submit that BZ ticket. In any event, the VM where I was working on this problem is intended to be merely a staging environment for a more "real" FreeBSD system on which I hope to run this test-against-dev application. So there's no immediate crisis. And since this is apparently much more a FreeBSD problem than a Perl problem, this ticket and 125014 can be closed. Thank you very much. Jim Keenan
Subject: graphics.png.Makefile.diff
--- Makefile 2018-04-06 23:01:05.622093000 -0400 +++ Makefile.new 2018-04-06 23:00:49.118113000 -0400 @@ -12,6 +12,7 @@ MAINTAINER= portmgr@FreeBSD.org COMMENT= Library for manipulating PNG images +LDFLAGS+= -lz LICENSE= Libpng LICENSE_GROUPS= FSF GPL OSI LICENSE_NAME= libpng License
Subject: Re: [rt.cpan.org #125021] How do I run the test suite?
Date: Mon, 9 Apr 2018 17:32:16 -0700
To: bug-Glib-Object-Introspection [...] rt.cpan.org
From: Brian Manning <brian [...] xaoc.org>
Suggestion: see if ‘stow’ is available in the ports/packages trees. You can use ‘stow’ to stow multiple copies of system libraries via symlink farms/trees. Thanks, Brian Show quoted text
> On Apr 9, 2018, at 16:08, James E Keenan via RT <bug-Glib-Object-Introspection@rt.cpan.org> wrote: > > Queue: Glib-Object-Introspection > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=125021 > >
>> On Fri Apr 06 23:13:11 2018, JKEENAN wrote:
>>> On Fri Apr 06 22:59:11 2018, XAOC wrote: >>> In this ticket as well as RT#125014[1], your libpng library is linked >>> against libz (aka zlib), and your linker can't find the libz/zlib >>> library on your system for whatever reason. >>> >>> If you run 'ldd /usr/local/lib/libpng16.so.16', it will show you it >>> should complain that it's linked against zlib/libz, but can't find >>> that library on your system. If zlib/libz *is* installed on your >>> system, your complier/linker can't find it. 'ldd' on my Linux box >>> says: >>> >>> ldd /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0 >>> linux-vdso.so.1 (0x00007ffeb8319000) >>> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 >>> (0x00007f889d361000) >>> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 >>> (0x00007f889d05d000) >>> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 >>> (0x00007f889ccbe000) >>> /lib64/ld-linux-x86-64.so.2 (0x00007f889d7ae000) >>> >>> You need to fix your system so that your compiler and linker can find >>> libraries that are being requested by programs, or you won't be able >>> to build any of the Gtk-Perl modules. >>> >>> [1] https://rt.cpan.org/Ticket/Display.html?id=125014
>> >> Stand by; I think I've got a fix. I'm in the process of filing a bug >> ticket to FreeBSD which will pertain to both tickets.
> > Well, I have a quasi-fix. > > I hypothesized that the problem lay in the FreeBSD port Makefile (https://svnweb.freebsd.org/ports/head/graphics/png/Makefile?revision=451454&view=markup). By examining other FreeBSD ports, particularly those for CPAN libraries, I made a highly scientific guess that if I modified the Makefile per the attached diff and called 'sudo make install' something good would happen. > > And it did, I was now able to successfully install both this ticket (125021) and the one for Cairo (125014) against perl-5.27.10 on FreeBSD-11.0. > > I then figured it would be a good idea to file a bug ticket in FreeBSD's Bugzilla about this. I recognized, however, that unless I could greatly reduce the problem to a simple Perl (or, better yet, C) example, that ticket would not be treated as a "good" bug report and would collect silicon dust. I further recognized that, to demonstrate the bug, I would have to be able to switch back and forth between the 2 binaries and 4 symlinks in /usr/local/lib which constitute the vendor libpng installation and the slightly different binaries and symlinks which constitute my patch png port. > > I spent several hours over the weekend doing that and had a Perl program which performed that switch. I was quite proud of that program ... and then at some point I accidentally lost the 2 system binaries. I tried to rebuild the original port, but ran into problems with the FreeBSD repositories which I was unable to solve. Consequently, I was unable to submit that BZ ticket. > > In any event, the VM where I was working on this problem is intended to be merely a staging environment for a more "real" FreeBSD system on which I hope to run this test-against-dev application. So there's no immediate crisis. And since this is apparently much more a FreeBSD problem than a Perl problem, this ticket and 125014 can be closed. > > Thank you very much. > Jim Keenan > > --- Makefile 2018-04-06 23:01:05.622093000 -0400 +++ Makefile.new 2018-04-06 23:00:49.118113000 -0400 @@ -12,6 +12,7 @@ MAINTAINER= portmgr@FreeBSD.org COMMENT= Library for manipulating PNG images +LDFLAGS+= -lz LICENSE= Libpng LICENSE_GROUPS= FSF GPL OSI LICENSE_NAME= libpng License