-
Notifications
You must be signed in to change notification settings - Fork 577
Arbitrary linking of libcl in Configure on FreeBSD #15994
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
Comments
From [email protected]Created by @bingosTL;DR version: Commit 90207ba added 'cl' to the This should not be arbitrarily added in for all platforms and should Long version: Whilst attempting to build perl-5.24.1 on my FreeBSD box I had the # Failed test 'ZLIB_VERSION (1.2.8) matches Compress::Zlib::zlib_version' I searched and there was no libz on the system with 1.2.4 version. I repeated build and test with v5.22.3 and v5.26.0 with the same results. I looked at the libs and all three of the failing perls had: libs=-lcl -lpthread -lgdbm -lm -lcrypt -lutil -lc but v5.20.3 had: libs=-lgdbm -lm -lcrypt -lutil -lc Guessing it wasn't pthread, I hunted for the mysterious libcl. It was found in /usr/local/lib having been installed from Ports. This library bundles and links into itself libz 1.2.4 I removed the cryptlib package and was able to sucessfully build and test But really we should not be arbitrarily linking in a library that is only Reproducible by installing cryptlib from either packages or ports: # pkg install cryptlib or # cd /usr/ports/security/cryptlib Many thanks. Perl Info
|
From @jkeenanOn Fri, 02 Jun 2017 19:51:33 GMT, perlbug@perl.org wrote:
It is curious that just today we received a different RT which, in passing, mentioned test failures in these two libraries (https://rt-archive.perl.org/perl5/Ticket/Display.html?id=131489).
-- |
The RT System itself - Status changed from 'new' to 'open' |
From @TuxOn Fri, 02 Jun 2017 12:51:33 -0700, "perlbug@perl.org (via RT)"
s/was/is/
Is was discussed then, and noone saw danger in that. There are multiple possible approaches to this. 1. leave Configure as is and remove cl from libswanted for problematic 2. Move prepending instead of appending to hints/hpux.sh 3. Analyse the real underlying problem and find a fix The last option requires a lot of skills and access to many different With declining access to HP-UX, it will be (very) hard to prove that we Option 1 will probably cause duplication code in hints, unless we This obviously is not a situation where we should decide on "But this -- |
From @jkeenanOn Sun, 04 Jun 2017 08:57:26 GMT, hmbrand wrote:
This is the course we should follow. Indeed, it is the course we should have pursued in the first place. If we revisit https://rt-archive.perl.org/perl5/Ticket/Display.html?id=123543 for a moment, we see that the only complaint in that ticket was about a failing test on one of Tux's HP-UX boxes which was bisected to a particular commit by bulk88. The commit message for the change to Configure reads: ##### Put pthread in front of libswanted and add cl Nothing there about any other OS. The corresponding change in the metaconfig repository reads: ##### Put pthread in front of libswanted and add cl Inline Patchdiff --git a/U/modified/Myinit.U b/U/modified/Myinit.U
index c265a25..e508b67 100644
--- a/U/modified/Myinit.U
+++ b/U/modified/Myinit.U
@@ -32,8 +32,8 @@
?X: Put crypt here, even though I should really fix d_crypt.U to look
?X: for it correctly, including possible shared library versions.
: If anyone needs extra -lxxx, put those in a hint file.
-libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun"
-libswanted="$libswanted m crypt sec util c cposix posix pthread ucb bsd BSD"
+libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld"
+libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD"
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
There's no evidence the change was needed on any OS other than HP-UX. Hence, the change would have been better off in hints/hpux.sh. This is even more true now that we have, in https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132771, the same problem showing up in a Linux distro as well as the FreeBSD problem cited in this ticket -- a problem which persists with blead, as I confirmed this morning following BingOS's suggestion about (temporarily) installing cryptlib. I don't claim to understand the fine points about the interaction between cl and pthreads, so I don't claim to have a complete solution. But what I think we should try is: * In a branch, move the assignment of 'cl' to hints/hpux.sh. * Smoke-test the branch on as many OSes as possible. * When we're satisfied, merge to blead and make corresponding change to metaconfig repository.
Thank you very much. |
From @TuxOn Fri, 16 Feb 2018 12:51:24 -0800, "James E Keenan via RT"
I'm ok with this. Note however that I/we cannot test on HP-UX 10.20 and 11.00 anymore, as
-- |
From @jkeenanOn Fri, 16 Feb 2018 21:52:45 GMT, hmbrand wrote:
In the smoke-me/jkeenan/131485-cl branch I have changed one line in Configure to remove the prepended "cl pthread" -- and done nothing else, i.e., I have not attempted to revise hints/hpux.sh.
-- |
From @TuxOn Fri, 16 Feb 2018 16:08:05 -0800, "James E Keenan via RT"
IIRC I did that not just because of perl CORE itself, but because To test that historical decision, I would have to build perl 64bit on -- |
From @jkeenanOn Sat, 17 Feb 2018 09:47:07 GMT, hmbrand wrote:
Thanks. While I don't want this to fall through the cracks, I also don't feel it needs to be rushed to meet any code freeze deadline. My preliminary smoke testing turned up no test failures in Linux, FreeBSD or OpenBSD and no previously unseen test failures in the "cpan-river-top-1000". Chris: Could you try the smoke-me/jkeenan/131485-cl in your FreeBSD environment that had the problem? Thank you very much. -- |
From @TuxOn Sat, 17 Feb 2018 10:46:28 +0100, "H.Merijn Brand"
Answering in phases ... with or without cl and pthread removed in Configure as in Jim's branch, HP-UX 11.11/64 U rp3410/64 PA8900/800 pa-2.0 2046 Mb $ ./perl -Ilib -V:config_args This is perl 5, version 27, subversion 9 (v5.27.9 $ env TEST_JOBS=2 make test_harness besides some warnings, I got a shitload of these: cpp: "/usr/include/inttypes.h", line 64: warning 2001: Redefinition of macro UINT16_C. and tons of Character in 'C' format wrapped in pack at ../../lib/Unicode/Collate.pm line 434, <$fh> line 363. and test ended with ===( 505432;3589 5/? 348/914 # aelem + const # Multideref # Failed test 780 - at lib/warnings/toke line 420 # Failed test 781 - at lib/warnings/toke line 437 Test Summary Report re/fold_grind.t -- |
The smoke-me branch I created at one point to test a patch for the corresponding RT ticket got removed at some point. So I have rebased the patch on blead and pushed it to this branch: smoke-me/jkeenan/ghi-15994-configure-cl Thank you very much. |
Migrated from rt.perl.org#131485 (status was 'open')
Searchable as RT131485$
The text was updated successfully, but these errors were encountered: