Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 378689

Summary: Error building dev-perl/PDL "Could not find a typemap for C type 'PDL_Long *'"
Product: Gentoo Linux Reporter: Massimo Balestra <massimobalestra>
Component: [OLD] DevelopmentAssignee: Gentoo Perl team <perl>
Status: RESOLVED NEEDINFO    
Severity: normal CC: flameeyes, jlec, rose
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
URL: http://sourceforge.net/tracker/?func=detail&aid=3377113&group_id=612&atid=100612
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 378783    
Attachments: the build.log file
an ebuild, which uses the patch
PDL-2.4.7-PDL_Long.patch

Description Massimo Balestra 2011-08-10 17:36:49 UTC
Hi,
After the last portage upgrade of perl I wanted to run perl-cleaner.
It stops emerging dev-perl/PDL with this error.
/usr/bin/perl5.12.4 /usr/lib/perl5/vendor_perl/5.12.4/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.12.4/ExtUtils/typemap -typemap typemap Core.xs > Core.xsc && mv Core.xsc Core.c
Could not find a typemap for C type 'PDL_Long *' in Core.xs, line 1142

I tried emerging dev-perl/PDL by itself and I get the same error.

Anybody has an Idea on how to finish the compilation?

Thanks


Reproducible: Always

Steps to Reproduce:
1. emerge  dev-perl/PDL
2.
3.
Actual Results:  
the compilation fails in the log there is this error:
/usr/bin/perl5.12.4 /usr/lib/perl5/vendor_perl/5.12.4/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.12.4/ExtUtils/typemap -typemap typemap Core.xs > Core.xsc && mv Core.xsc Core.c
Could not find a typemap for C type 'PDL_Long *' in Core.xs, line 1142


Expected Results:  
End of the compilation
Comment 1 Massimo Balestra 2011-08-10 17:38:36 UTC
Created attachment 282845 [details]
the build.log file
Comment 2 Rafał Mużyło 2011-08-11 13:17:44 UTC
This looks similar to bug 378197 and bug 378383.
Comment 3 Massimo Balestra 2011-08-11 17:09:40 UTC
Yes it is the same of these 2 bugs.

I masked (in /etc/portage/package.mask) the 2 packages:
=perl-core/ExtUtils-ParseXS-3.20.0
=virtual/perl-ExtUtils-ParseXS-3.20.0

And then it compiled correctly.

Thanks
Comment 4 Rafał Mużyło 2011-08-11 22:51:45 UTC
@reporter: Don't close bugs that aren't fixed.
Comment 5 Torsten Veller (RETIRED) gentoo-dev 2011-08-17 10:29:02 UTC
*** Bug 379529 has been marked as a duplicate of this bug. ***
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2011-08-18 11:07:15 UTC
http://search.cpan.org/diff?from=PDL-2.4.9_004&to=PDL-2.4.9_005&w=1#Basic/Core/typemap:

--- PDL-2.4.9_004/Basic/Core/typemap	2011-08-13 20:49:16.000000000 +0100
+++ PDL-2.4.9_005/Basic/Core/typemap	2011-08-17 04:51:06.000000000 +0100
@@ -1,6 +1,7 @@
 TYPEMAP
 pdl*	T_PDL
 pdl *	T_PDL
+PDL_Long * T_PTR
 pdl_trans * T_PDLTRANS
 pdl_trans* T_PDLTRANS
 Logical	T_IV
Comment 7 Juergen Rose 2012-06-15 08:39:36 UTC
Thanks Torsten,

the patch (Comment 6) works for me.
Comment 8 Juergen Rose 2012-06-15 08:40:58 UTC
Created attachment 315399 [details]
an ebuild, which uses the patch
Comment 9 Juergen Rose 2012-06-15 08:42:50 UTC
Created attachment 315401 [details]
PDL-2.4.7-PDL_Long.patch

The patch as file with the name PDL-2.4.7-PDL_Long.patch.
Comment 10 Sébastien Fabbro (RETIRED) gentoo-dev 2012-06-16 20:13:17 UTC
Applied upstream and thus in 2.4.11
Comment 11 Juergen Rose 2014-01-15 12:25:13 UTC
(In reply to Sébastien Fabbro from comment #10)
> Applied upstream and thus in 2.4.11

Please reopen! 'emerge PDL' still fails with:
...
Could not find a typemap for C type 'PDL_Long *'.
The following C types are mapped by the current typemap:
'AV *', 'Boolean', 'CV *', 'FILE *', 'FileHandle', 'HV *', 'I16', 'I32', 'I8', 'IV', 'InOutStream', 'InputStream', 'Logical', 'NV', 'OutputStream', 'PerlIO *', 'Result', 'STRLEN', 'SV *', 'SVREF', 'SysRet', 'SysRetLong', 'Time_t *', 'U16', 'U32', 'U8', 'UV', 'bool', 'bool_t', 'caddr_t', 'char', 'char *', 'char **', 'const char *', 'double', 'float', 'int', 'long', 'pdl *', 'pdl_trans *', 'short', 'size_t', 'ssize_t', 'time_t', 'unsigned', 'unsigned char', 'unsigned char *', 'unsigned int', 'unsigned long', 'unsigned long *', 'unsigned short', 'void *', 'wchar_t', 'wchar_t *'
 in Core.xs, line 1142
Makefile:408: recipe for target 'Core.o' failed
make[2]: *** [Core.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Basic/Core'
Makefile:522: recipe for target 'subdirs' failed
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Basic'
Makefile:541: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2
emake failed
 * ERROR: dev-perl/PDL-2.4.7::gentoo failed (compile phase):
 *   Compilation failed
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 2498:  Called perl-module_src_compile
 *   environment, line 2090:  Called die
 * The specific snippet of code:
 *               emake "$@" || die "Compilation failed";
 * 
 * If you need support, post the output of `emerge --info '=dev-perl/PDL-2.4.7::gentoo'`,


If I apply the patch (Comment 6), it fails with now:
...
LD_RUN_PATH="/usr/lib64" x86_64-pc-linux-gnu-gcc  -shared -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed ZETA.o -Wl,-O1 -Wl,--as-needed -o ../../../../blib/arch/auto/PDL/GSLSF/ZETA/ZETA.so  \
   -L/usr/lib64 -lgsl -lgslcblas -lm    \
  
chmod 755 ../../../../blib/arch/auto/PDL/GSLSF/ZETA/ZETA.so
/usr/bin/perl5.16.3 -MExtUtils::Command::MM -e 'cp_nonempty' -- ZETA.bs ../../../../blib/arch/auto/PDL/GSLSF/ZETA/ZETA.bs 644
Manifying ../../../../blib/man3/PDL::GSLSF::ZETA.3pm
make[4]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib/GSL/SF/zeta'
make[3]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib/GSL/SF'
make[2]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib/GSL'
make[2]: Entering directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib/FFTW'
make[2]: Makefile: No such file or directory
make[2]: *** No rule to make target 'Makefile'.  Stop.
make[2]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib/FFTW'
Makefile:502: recipe for target 'subdirs' failed
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-perl/PDL-2.4.7/work/PDL-2.4.7/Lib'
Makefile:556: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2
emake failed
 * ERROR: dev-perl/PDL-2.4.7::local failed (compile phase):
 *   Compilation failed
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 2498:  Called perl-module_src_compile
 *   environment, line 2090:  Called die
 * The specific snippet of code:
 *               emake "$@" || die "Compilation failed";
 * 
 * If you need support, post the output of `emerge --info '=dev-perl/PDL-2.4.7::local'`,






On the other hand PDL-2.4.11 fails to emerged due to dependency of
<sci-libs/proj-4.8

root@lynx:/usr/local/portage/dev-perl(19)# emerge -pvDt --backtrack=0  PDL

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] dev-perl/PDL-2.4.11  USE="badval doc fftw fortran gd gsl hdf netpbm pgplot plplot proj threads -pdl2" 0 kB
[ebuild     UD ]  sci-libs/proj-4.7.0-r1::local [4.8.0::local] USE="-static-libs (-java%*)" 0 kB

Total: 2 packages (1 downgrade, 1 reinstall), Size of downloads: 0 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sci-libs/proj:0

  (sci-libs/proj-4.8.0::local, installed) pulled in by
    >=sci-libs/proj-4.8.0 required by (sci-libs/ogdi-3.2.0_beta2::gentoo, installed)

  (sci-libs/proj-4.7.0-r1::local, ebuild scheduled for merge) pulled in by
    <sci-libs/proj-4.8 required by (dev-perl/PDL-2.4.11::gentoo, ebuild scheduled for merge)
Comment 12 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-02-28 11:53:04 UTC
Can you please provide full build.log?