Conversation
When Gather::IsolateDynamic plugin together with configure option -enable-shared, the alien client might want to know how to link with the shared version of the library.
|
Preferred way to handle this would be to migrate |
| my $d_basename = Path::Tiny->new($dyndir)->basename; | ||
| my $l_dirname = $class->dist_dir; | ||
| my $l_basename = 'lib'; | ||
| $libs =~ s<-L${l_dirname}/\K$l_basename><$d_basename>; |
There was a problem hiding this comment.
This line is bumping the Perl prereq:
✅ doublethink% perlver lib --blame
------------------------------------------------------------
File : lib/Alien/Base.pm
Line : 362
Char : 12
Rule : _regex
Version : 5.009005
------------------------------------------------------------
s<-L${l_dirname}/\K$l_basename><$d_basename>
------------------------------------------------------------
@plicease Ok, thanks for the pointer. I did a simple test here. When I try to install the dependencies for this branch in an Ubuntu 20.04 docker container like this: it fails with: Any idea how I can make |
|
@hakonhagland I think that is a bug in cpanm, if you cpanm on the tarball it installs the prereqs correctly (at least it does for me). I think cpanm runs I think we will also need a runtime prereq on Alien::Role::Dino and Role::Tiny. I think your changes are on the right track, maybe you can open what you have as a PR against Alien-GSL and we can workshop it. I will also work on slimming down the prereqs for Alien::Role::Dino, they are unnecessarily large atm. |
|
It's not a bug the problem is you do not have the META.json in the repository for it to use before it runs Build.PL. MYMETA.json/yml should not be included, those should be generated at install time only. |
ah true. I misinterpreted that as META and then typed MYMETA lol. |
@Grinnz Thanks, I was not aware of the difference between I get this error.. |
|
You have to make manifest before make dist. |
|
@Grinnz Yes, @plicease However it still does not generate a shared library (from Alien-GSL root directory after having installed the dependencies) : Notice that it runs the following configure command: with |
When the
alienfileis using theGather::IsolateDynamicplugin together with configure option-enable-shared, the alien client might want to know how to link with the shared version of the library in the "share" install dir.Background: I am considering submitting a PR to Alien-GSL in response to PerlAlien/Alien-GSL#17