Skip Menu |

This queue is for tickets about the Language-Prolog-Yaswi CPAN distribution.

Report information
The Basics
Id: 75711
Status: resolved
Worked: 30 min
Priority: 0/
Queue: Language-Prolog-Yaswi

People
Owner: salva [...] cpan.org
Requestors: ppisar [...] redhat.com
Cc:
AdminCc:

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



Subject: Inspect swipl on all distributions
Current Low/Makefile.PL checks for `swipl' on Debian only. It's long time since the interpreter has been renamed to swipl, so I all modern distributions deliver SWI Prolog with `swipl' name. However your Makefile.PL checks for `pl' only on all other non-Windows systems: if (defined $ENV{PL}) { $pl = $ENV{PL}; } elsif ($^O =~ /Win32/) { $pl = 'plcon.exe'; } elsif (exists $Config{cf_by} and $Config{cf_by} eq 'Debian Project') { $pl = 'swipl'; } else { $pl = 'pl'; } I think it's time to remove the condition or check for `swipl' first, and for `pl' then.
From: ppisar [...] redhat.com
Dne Po 12.bře.2012 09:15:26, ppisar napsal(a): Show quoted text
> Current Low/Makefile.PL checks for `swipl' on Debian only.
And despite the PL environment the Makafile.PL writes $plvar{PLEXE} as `pl' into plconfig.c. And also the Makefile.PL ignores PLLDFLAGS which contains proper linker configuratrion (like -L or -Wl,-rpath), to perl cannot dyna-load swipl.so.
From: ppisar [...] redhat.com
Dne Po 12.bře.2012 09:49:32, ppisar napsal(a): Show quoted text
> And despite the PL environment the Makafile.PL writes $plvar{PLEXE} as > `pl' into plconfig.c. > > And also the Makefile.PL ignores PLLDFLAGS which contains proper linker > configuratrion (like -L or -Wl,-rpath), to perl cannot dyna-load > swipl.so.
This patch should fix this two issue. It does not makes the `swipl' name default.
Subject: Language-Prolog-Yaswi-0.19-Use-PL-and-PLLDFLAGS.patch
From c8b9c13a1bdd908a6b42e4e4fef2f914a9380109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> Date: Mon, 12 Mar 2012 14:54:39 +0100 Subject: [PATCH] Use PL and PLLDFLAGS PL defines Prolog interpreter executable and PLLDFLAGS, provided by Prolog, defined library search path. --- Low/Makefile.PL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Low/Makefile.PL b/Low/Makefile.PL index b89b593..cc883fb 100644 --- a/Low/Makefile.PL +++ b/Low/Makefile.PL @@ -63,7 +63,7 @@ else { # $plvar{PLLIBS}.=' -export-dynamic'; $plvar{PLINC}="-I$plvar{PLBASE}/include"; - $plvar{PLEXE}="$plvar{PLBASE}/bin/$plvar{PLARCH}/pl"; + $plvar{PLEXE}="$pl"; $plvar{PLPATH}="$plvar{PLBASE}/bin/$plvar{PLARCH}/"; } print "\nchecking thread support in Perl and SWI-Prolog:\n"; @@ -127,7 +127,7 @@ WriteMakefile( 'NAME' => 'Language::Prolog::Yaswi::Low', ' plconfig$(OBJ_EXT) argv$(OBJ_EXT)'. ' query$(OBJ_EXT) vars$(OBJ_EXT) context$(OBJ_EXT)'. ' engines$(OBJ_EXT) opaque$(OBJ_EXT)' ), - # 'LDDLFLAGS' => '-export-dynamic', + 'LDDLFLAGS' => "$Config{lddlflags} $plvar{PLLDFLAGS}", # 'OPTIMIZE' => '-g -O0' ); -- 1.7.9.3
solved in 0.21