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

Revert "bindings: perl: Do not link against libperl." #7

Closed
wants to merge 1 commit into from
Closed

Revert "bindings: perl: Do not link against libperl." #7

wants to merge 1 commit into from

Conversation

rakuco
Copy link
Contributor

@rakuco rakuco commented Jan 18, 2016

This reverts commit 5077b75.

The original change breaks linking with -Wl,--no-undefined, which is the
default on distros such as Fedora and Debian, and it also makes some
sanity tests on FreeBSD to fail since the code uses Perl symbols but
does not link against libperl.so. There does not seem to be a big
benefit in building the binding with a Perl version other than the
installed on, especially since most distros simply rebuild everything
when switching Perl versions.

This reverts commit 5077b75.

The original change breaks linking with -Wl,--no-undefined, which is the
default on distros such as Fedora and Debian, and it also makes some
sanity tests on FreeBSD to fail since the code uses Perl symbols but
does not link against libperl.so. There does not seem to be a big
benefit in building the binding with a Perl version other than the
installed on, especially since most distros simply rebuild everything
when switching Perl versions.
@DimStar77 DimStar77 added this to the 0.4.13 milestone Jan 18, 2016
@DimStar77
Copy link
Contributor

There are at least some distros that prefer not to rebuild for a perl update if not needed (especially rolling releases)

The perl library is always loaded in a perl context, so the symbols are there.

I would accept a patch for -DFORCE_PERL_LINKING:BOOL=ON to enable this - then it's an option for the respective distro which way they want it.

Does that sound reasonable?

@rakuco
Copy link
Contributor Author

rakuco commented Jan 18, 2016

How about making this dependent on PERL_VENDORINSTALL instead? I can see that ArchLinux installs its Perl .so files into the vendor_perl directory, and in this case I guess it makes more sense to make it independent of a specific libperl.so, but if one's installing into a versioned Perl directory it means it will be rebuilt on each Perl update anyway.

Another compromise solution could be making the default value of the FORCE_PERL_LINKING option depend on PERL_VENDORINSTALL.

@DimStar77
Copy link
Contributor

I like the 2nd approach, have PERL_LINK_LIBPERL (probably a better name, as it starts with PERL_) default based on PERL_VENDORINSTALL...

That should make it work properly for Arch and for Fedora - and the ones that still want it different to the defined default can override it.

@rakuco
Copy link
Contributor Author

rakuco commented Jan 19, 2016

Alright, done in #14.

@rakuco rakuco closed this Jan 19, 2016
@rakuco rakuco deleted the link-against-libperl-again branch January 19, 2016 18:34
janbrummer added a commit to janbrummer/libproxy that referenced this pull request Mar 27, 2023
Force Python 3.9 to avoid pipeline errors with recent Python
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

Successfully merging this pull request may close these issues.

None yet

2 participants