Skip Menu |

This queue is for tickets about the Cairo-GObject CPAN distribution.

Report information
The Basics
Id: 129712
Status: open
Priority: 0/
Queue: Cairo-GObject

People
Owner: Nobody in particular
Requestors: KARASIK [...] cpan.org
Cc:
AdminCc:

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



Subject: doesn't compile on strawberry
Modules uses function calls from perl-Cairo, but doesn't explicitly link the library, having these functions dynamically resolved later - it works on unix, but not on windows. The problem seems like this: CairoGObject.o:CairoGObject.c:(.text+0x3a9): undefined reference to `cairo_surface_to_sv' collect2.exe: error: ld returned 1 exit status gmake: *** [Makefile:491: blib\arch\auto\Cairo\GObject\GObject.xs.dll] Error 1 this can be fixed by the patch below: --- a 2019-05-29 18:18:43.869124900 +0200 +++ makefile.PL 2019-05-29 18:17:03.406361600 +0200 @@ -8,6 +8,7 @@ use strict; use warnings; +use Config; use ExtUtils::MakeMaker; our %build_reqs = ( @@ -84,6 +85,8 @@ mkdir 'build', 0777; +$pkgcfg{libs} .= " $Config{sitelib}/auto/Cairo/Cairo$Config{_a}" if $^O =~ /win32/i; + my $dep = ExtUtils::Depends->new('Cairo::GObject', qw/Cairo Glib/); $dep->set_inc($pkgcfg{cflags}); $dep->set_libs($pkgcfg{libs});
On Wed May 29 12:20:33 2019, KARASIK wrote: Show quoted text
> +$pkgcfg{libs} .= " $Config{sitelib}/auto/Cairo/Cairo$Config{_a}" if > $^O =~ /win32/i; > + > my $dep = ExtUtils::Depends->new('Cairo::GObject', qw/Cairo Glib/); > $dep->set_inc($pkgcfg{cflags}); > $dep->set_libs($pkgcfg{libs});
ExtUtils::Depends is meant to take care of this automatically. Its find_extra_libs() apparently doesn't work here. This should be fixed instead. KARASIK, what are $Config{sitelib} and $Config{_a} on your platform?
Show quoted text
> > ExtUtils::Depends is meant to take care of this automatically. Its > find_extra_libs() apparently doesn't work here. This should be fixed > instead.
Yes, it should. However there's no activity on that ticket since 2014, (#45224), and it doesn't seem to happen anytime soon. I believe a sane workaround, with eventual checking of ExtUtils::Depends' version if they ever fix the problem, would be just fine. Show quoted text
> KARASIK, what are $Config{sitelib} and $Config{_a} on your platform?
sitelib='C:\usr\local\perl\sb64.528.0\perl\site\lib' _a='.a'