Hi,
Unfortunately Perl failed when building 3.15.1 on OS X Yosemite, with PERL 5.16.3 installed by MacPorts,
$ which perl
/opt/local/bin/perl
$ $ perl -V:bin
bin='/opt/local/bin';
The xsubpp program should be /opt/local/bin/xsubpp.
$ ls -l /opt/local/bin/xsubpp*
lrwxr-xr-x 1 root admin 11 Oct 18 22:41 /opt/local/bin/xsubpp -> xsubpp-5.16
-rwxr-xr-x 1 root admin 4576 Oct 18 22:40 /opt/local/bin/xsubpp-5.16
This creates the following warning,
=========
$ perl -CSD /usr/bin/xsubpp -typemap /opt/local/lib/perl5/5.16.3/ExtUtils/typemap ../Cap5.xs > Cap5.c_new && mv Cap5.c_new Cap5.c
perl version 5.16.3 can't run /usr/bin/xsubpp. Try the alternative(s):
/usr/bin/xsubpp5.16 (uses perl 5.16)
/usr/bin/xsubpp5.18 (uses perl 5.18)
Run "man perl" for more information about multiple version support in
Mac OS X.
=========
Maybe one should not hardcode perl’s binary path, but derive it from perl config:
PERLBIN = $(shell $(PERL) ../perlConfig.pl bin)
XSUBPP = $(firstword $(wildcard $(PERLBIN)/xsubpp $(EXTUTILS)/xsubpp))
This fixes my problem.
Best
Xiaoqiang
On 01 Dec 2014, at 19:22, Andrew Johnson <[email protected]> wrote:
Thanks guys. I committed Michael's version and added a patch to the
3.14.12 Known Problems page.
In RHEL 6 /usr/share/perl5/Extutils/xsubpp exists as a soft-link to
/usr/bin/xsubpp, while earlier Perl versions have it only in Perl's
ExtUtils directory.
- Andrew
On 12/01/2014 07:23 AM, Michael Davidsaver wrote:
A more (OS) portable way to accomplish this
XSUBPP = $(firstword $(wildcard /usr/bin/xsubpp $(EXTUTILS)/xsubpp))
On 12/01/2014 05:43 AM, Torsten Bögershausen wrote:
Hi,
I tried to compile EPICS under "Scientific Linux release 7.0 (Nitrogen)"
It failed, because xsubpp is no longer here:
/usr/share/perl5/Extutils/xsubpp
but found here:
/usr/bin/xsubpp
Thanks to Götz, who helped me debugging the error and finding a fix.
For now I added a shell script to see where xsubpp is.
The following applies to base-3.15.1-rc1 (but the problem is in older
bases as well)
Does this sound reasonable, or are there better ways ?
diff --git a/src/ca/client/perl/Makefile b/src/ca/client/perl/Makefile
index 6ae32dd..516e494 100644
--- a/src/ca/client/perl/Makefile
+++ b/src/ca/client/perl/Makefile
@@ -54,10 +54,11 @@ include $(TOP)/configure/RULES
ifdef T_A
EXTUTILS = $(shell $(PERL) ../perlConfig.pl privlib)/ExtUtils
+ XSUBPP = $(shell if test -x /usr/bin/xsubpp ; then echo
/usr/bin/xsubpp ; else echo $(EXTUTILS)/xsubpp ; fi)
%.c: ../%.xs
$(RM) $@ $@_new
- $(PERL) $(EXTUTILS)/xsubpp -typemap $(EXTUTILS)/typemap $< >
$@_new && $(MV) $@_new $@
+ $(PERL) $(XSUBPP) -typemap $(EXTUTILS)/typemap $< > $@_new &&
$(MV) $@_new $@
$(INSTALL_PERL_MODULES)/$(PERL_ARCHPATH)/%: %
--
People everywhere confuse what they read in newspapers with news.
-- A. J. Liebling