Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

t/inlinepdlpp.t fails for Strawberry Perl 5.38.0 #442

Closed
shawnlaffan opened this issue Jul 3, 2023 · 9 comments
Closed

t/inlinepdlpp.t fails for Strawberry Perl 5.38.0 #442

shawnlaffan opened this issue Jul 3, 2023 · 9 comments

Comments

@shawnlaffan
Copy link
Contributor

shawnlaffan commented Jul 3, 2023

Excerpts from the build log below (test failures then start of log). Please let me know if you want the full log or other subsets.

This might also affect other versions of Strawberry Perl but has not appeared in previous testing.

Oddly, the install goes ahead. (Edit: The Strawberry Perl config is currently to ignore test failures, a left over from earlier times).

This could be a parallelisation issue. The previous builds did not use this. I'll post an update when a non-parallel build is complete.

Env vars:

set MAKEFLAGS=-j8
set TEST_JOBS=8
set LC_ALL=C

Test failure:

t/croak.t .............. ok
t/inline-with.t ........ ok

#   Failed test 'bind no error'
#   at t/inlinepdlpp.t line 32.
#          got: 'Can't create Inline validation file C:\strawberry_build\env\AppDataRoaming\.cpanm\work\1688359654.2040\
PDL-2.084\.inlinepdlpp\lib\auto\inlinepdlpp_t_575f\inlinepdlpp_t_575f.inl: No such file or directory at t/inlinepdlpp.t
line 22.
# '
#     expected: ''
Can't locate object method "testinc" via package "PDL" at t/inlinepdlpp.t line 34.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 1.
t/inlinepdlpp.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/1 subtests
t/lvalue.t ............. ok
t/math.t ............... ok
t/matrix.t ............. ok

Start of build:

cpanm (App::cpanminus) 1.7043 on perl 5.038000 built for MSWin32-x64-multi-thread
Work directory is C:\strawberry_build\env\AppDataRoaming/.cpanm/work/1688359654.2040
You have make C:\strawberry\c\bin\gmake.exe
You have LWP 6.71
Falling back to Archive::Tar 3.02
Searching PDL on mirror https://cpan.metacpan.org ...
Downloading index file https://cpan.metacpan.org/modules/02packages.details.txt.gz ...
Unpacking PDL-2.084.tar.gz
Entering PDL-2.084
Checking configure dependencies from META.json
Checking if you have ExtUtils::Depends 0.402 ... Yes (0.8000)
Checking if you have File::Path 0 ... Yes (2.18)
Checking if you have Devel::CheckLib 1.01 ... Yes (1.16)
Checking if you have File::Which 0 ... Yes (1.27)
Checking if you have Carp 1.2 ... Yes (1.54)
Checking if you have ExtUtils::MakeMaker 7.12 ... Yes (7.70)
Running Makefile.PL
--> Working on PDL
Fetching https://cpan.metacpan.org/authors/id/E/ET/ETJ/PDL-2.084.tar.gz ... OK
Configuring PDL-2.084 ... Loaded ExtUtils::F77 version 1.26
Checking if your kit is complete...
Looks good
        1 file(s) copied.
Extracting Types.pm
Warning (mostly harmless): No library found for
Will not build TriD graphics, need OpenGL >=0.70 and OpenGL::GLUT >=0.72

Not building PDL::Graphics::PGPLOT, PGPLOT not installed

No support for PDL::Graphics::IIS on win32 platform yet. Will skip build process

Curses capable library not found, not building PDL::IO::Browser

Error loading Alien::HDF4: ' *** Can't load dependency information for Alien::HDF4:

Can't locate Alien/HDF4/Install/Files.pm in @INC (you may need to install the Alien::HDF4::Install::Files module) (@INC
entries checked: C:/strawberry/perl/site/lib/MSWin32-x64-multi-thread C:/strawberry/perl/site/lib C:/strawberry/perl/ven
dor/lib C:/strawberry/perl/lib C:/strawberry_build/env/AppDataRoaming/.cpanm/work/1688359654.2040/PDL-2.084 C:/strawberr
y_build/env/AppDataRoaming/.cpanm/work/1688359654.2040/PDL-2.084/IO .) at C:/strawberry/perl/vendor/lib/ExtUtils/Depends
.pm line 181.


'

Skipping build of PDL::IO::HDF.

Will skip build of PDL::GIS::Proj on this system - no Alien::proj
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=MinGW Compiler=GFortran
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=MinGW Compiler=GFortran

Will skip build of PDL::Transform::Proj4 on this system - no Alien::proj
Generating a gmake-style Makefile
Writing Makefile for PDL
Writing MYMETA.yml and MYMETA.json
Writing Basic/Core/Config.pm
Checking dependencies from MYMETA.json ...
Checking if you have File::Path 0 ... Yes (2.18)
Checking if you have Math::Complex 0 ... Yes (1.62)
Checking if you have Scalar::Util 0 ... Yes (1.63)
Checking if you have IPC::Cmd 0.72 ... Yes (1.04)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.70)
Checking if you have Test::Warn 0 ... Yes (0.37)
Checking if you have ExtUtils::ParseXS 3.21 ... Yes (3.51)
Checking if you have Test::Exception 0 ... Yes (0.43)
Checking if you have File::Map 0.57 ... Yes (0.71)
Checking if you have Filter::Util::Call 0 ... Yes (1.64)
Checking if you have Data::Dumper 2.121 ... Yes (2.188)
Checking if you have Pod::Select 0 ... Yes (1.65_01)
Checking if you have Storable 1.03 ... Yes (3.32)
Checking if you have File::Which 0 ... Yes (1.27)
Checking if you have List::Util 1.33 ... Yes (1.63)
Checking if you have Text::Balanced 2.05 ... Yes (2.06)
Checking if you have Filter::Simple 0.88 ... Yes (0.96)
Checking if you have CPAN::Meta 2.120900 ... Yes (2.150010)
OK
@shawnlaffan
Copy link
Contributor Author

The build passes when MAKEFLAGS and TEST_JOBS are not set, so this would seem to be an issue with parallelisation.

@shawnlaffan
Copy link
Contributor Author

...although it still fails when it is built under the Strawberry Perl build system, so it could be related to that and thus a false negative related to the build path.

@mohawk2
Copy link
Member

mohawk2 commented Jul 9, 2023

Could you say here which version of Inline is installed there? It seems (given the code in that test file is fairly simple and works very widely) like it might be a bug in Inline.

@mohawk2
Copy link
Member

mohawk2 commented Jul 9, 2023

Also, it would be very helpful to uncomment the use Inline 'INFO' on line 21 and see if that sheds any light.

@shawnlaffan
Copy link
Contributor Author

It's a fresh build so uses the latest Inline.

Also, it would be very helpful to uncomment the use Inline 'INFO' on line 21 and see if that sheds any light.

I'll report more when I've had a chance to try this.

@mohawk2
Copy link
Member

mohawk2 commented Jan 29, 2024

Could you report any further findings, or close this if it has gone away?

@shawnlaffan
Copy link
Contributor Author

It would seem likely to be an issue with the length of the path. A similar issue was noted for Inline::C in StrawberryPerl/Perl-Dist-Strawberry#95

It does not affect most Strawberry Perl users since the build path is short by default. However, under the SP build system it is built under a deeper path.

@mohawk2
Copy link
Member

mohawk2 commented Feb 25, 2024

Is this an Inline problem, rather than a PDL one? If so, could an issue be opened there, and closed here?

@shawnlaffan
Copy link
Contributor Author

All the indications are that the problem manifests with Inline. It has been report at ingydotnet/inline-c-pm#103

I'll close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants