-
Notifications
You must be signed in to change notification settings - Fork 49
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
perl 5.36 cpan | Inline:C failures with 20230420 dev release when path is not C:\strawberry #95
Comments
Weird ... if I, too, install into exactly the same place ( Yet, if I build Inline::C the ol' fashioned manual way then there's no issue. Seems that the issue doesn't appear if cpanm is not involved. The reference to "ld.exe" in the failing case looks a bit suspicious to me. On gcc-built perls, I'll continue to poke at it as time permits. Cheers, |
Thanks @sisyphus And yes, it does install cleanly via cpanm when perl is under |
It could be a path length problem? The build installs under What path does the cpan client use for its builds? Edit - to answer my own question it is |
And FWIW, I get tar issues when trying the cpan shell. Not sure why it's looking for
|
This looks like it is an Inline::C issue. I've just replicated the failure using strawberry perl 5.28.2 under a deep path. |
This is super odd. It looks like an MSYS path, but with slashes converted to backslashes. Anyway, issues of this kind are usually caused by having MSYS or Cygwin in PATH and/or |
I don't think it's an Inline::C issue. However, I think I'm going to struggle to understand what is going on unless I can coerce a "manual" build of Inline::C to throw the same "ld.exe" error. Cheers, |
It seems to be the location of the Inline::C build that's the issue. I can replicate the failure with Strawberry Perl 5.28.2 when building from a manually downloaded and extracted Inline::C tarball in |
Thanks @xenu - I moved the The issue was probably a leftover from when I had MSYS2 in the path, quite some time ago. I almost always use cpanm which is why this had not surfaced before. |
That wasn't as difficult as I had thought it might be.
And you'll get the same error. Renaming 31include_dirs_angle_brackets.t to 31.t seems to fix the problem. I guess Inline::C could partly be to blame because of the lengthy test script names that were chosen ? Cheers, |
Thanks Rob. Shortening the test names is perhaps just delaying the problem as eventually someone will use a different long path that exceeds the limit. Maybe the tests could check the path length of the .xs.dll file and warn that the test will probably fail if it exceeds 255 characters? Or maybe this needs to be in Inline::C where it generates the blib dirs? That said, do the file names need to replicate the path to such a degree? |
Probably not, but that's the way it has always been done - the name of the file appended with the first 4 characters of the MD5 digest of the C code. Cheers, |
Given this is not a Strawberry perl problem per se, and that I've opened ingydotnet/inline-c-pm#103, I will close this issue now. |
This is why I set set |
Inline::C is failing some tests. These seem not to occur when the distribution it is under c:\strawberry. (Edit - on my system but not others, see #39 (comment) )
The installation call is
cpanm -v Inline::C
.@sisyphus - fyi
The text was updated successfully, but these errors were encountered: