X-Loop: help-debbugs@HIDDEN Subject: bug#26389: Portable way to enforce error on undefined symbols Resent-From: Simon Richter <Simon.Richter@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-libtool@HIDDEN Resent-Date: Fri, 07 Apr 2017 03:20:02 +0000 Resent-Message-ID: <handler.26389.B.149153517929004 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 26389 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: 26389 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-libtool@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.149153517929004 (code B ref -1); Fri, 07 Apr 2017 03:20:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Apr 2017 03:19:39 +0000 Received: from localhost ([127.0.0.1]:35624 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1cwKR0-0007Xk-UU for submit <at> debbugs.gnu.org; Thu, 06 Apr 2017 23:19:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47449) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQy-0007XW-Cw for submit <at> debbugs.gnu.org; Thu, 06 Apr 2017 23:19:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQs-0007Id-F4 for submit <at> debbugs.gnu.org; Thu, 06 Apr 2017 23:19:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52464) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQs-0007IY-C2 for submit <at> debbugs.gnu.org; Thu, 06 Apr 2017 23:19:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38420) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQr-00060W-Bc for bug-libtool@HIDDEN; Thu, 06 Apr 2017 23:19:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQo-0007HN-9C for bug-libtool@HIDDEN; Thu, 06 Apr 2017 23:19:29 -0400 Received: from psionic.psi5.com ([212.83.56.200]:47662) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <Simon.Richter@HIDDEN>) id 1cwKQo-0007G9-2V for bug-libtool@HIDDEN; Thu, 06 Apr 2017 23:19:26 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by psionic.psi5.com (Postfix) with ESMTP id 3AD78AC01C0 for <bug-libtool@HIDDEN>; Fri, 7 Apr 2017 05:19:22 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at psi5.com Received: from psionic.psi5.com ([127.0.0.1]) by localhost (psionic.psi5.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J1sum03oqYay for <bug-libtool@HIDDEN>; Fri, 7 Apr 2017 05:19:20 +0200 (CEST) Received: from [37.81.87.22] (unknown [37.81.87.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "Simon Richter", Issuer "CAcert Class 3 Root" (verified OK)) by psionic.psi5.com (Postfix) with ESMTPS id B95E5AC017D for <bug-libtool@HIDDEN>; Fri, 7 Apr 2017 05:19:20 +0200 (CEST) From: Simon Richter <Simon.Richter@HIDDEN> Message-ID: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> Date: Fri, 7 Apr 2017 05:19:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="IE8Vk2AscXuhe2m4dXmc43kxkeSo5qXtd" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.1 (----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --IE8Vk2AscXuhe2m4dXmc43kxkeSo5qXtd Content-Type: multipart/mixed; boundary="7haxkPlFW5HpePvWKW2tVv8fAxn9H6Mgm"; protected-headers="v1" From: Simon Richter <Simon.Richter@HIDDEN> To: bug-libtool@HIDDEN Message-ID: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> Subject: Portable way to enforce error on undefined symbols --7haxkPlFW5HpePvWKW2tVv8fAxn9H6Mgm Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Version: 2.4.6 Severity: wishlist Hi, I'd like to have a way for libtool fail to link a shared library with undefined symbols even on platforms that do support them. Passing the "-no-undefined" flag only promises that there are no undefined symbols, so libtool will actually try to link a Windows DLL, however it will not use -Wl,-z,defs on GNU targets. Libtool seems to define some internal variables like allow_undefined_flag, but these are not used after being defined. Simon --7haxkPlFW5HpePvWKW2tVv8fAxn9H6Mgm-- --IE8Vk2AscXuhe2m4dXmc43kxkeSo5qXtd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEtjuqOJSXmNjSiX3Tfr04e7CZCBEFAljnBTYACgkQfr04e7CZ CBHHbQf/TlOeoFE9BFiawOBuoTFCUKYJWAymMovsQcJQdLKQu+mk6o3j4DXaxbo6 rc0LviComQOcwWNKa6Hnpfd8IFzDlzHRwidBgIxmsxsFxz3StyYaUMXM65WNET5G 5fiREoFEj5GahDvp39Edln3XAcgAbOEbFhhggTR4OOG/MwUZPyFcy0yUBAWWxS/q kXTH6rF2cDgMlTrQiANVhHWfxjwc0cfprs/rLgBwwDJVDAVm7EfXiZbM+Sb7Elb4 e9nJ88A3wiqyXudGb9FIAqIyMYzS7+qSxkjiLuy2EeSa8+MhaK9kp85PRTEhZKSE AXskOtmJbj8d43impbkX9LyWcSGQ5A== =N/SH -----END PGP SIGNATURE----- --IE8Vk2AscXuhe2m4dXmc43kxkeSo5qXtd--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Simon Richter <Simon.Richter@HIDDEN> Subject: bug#26389: Acknowledgement (Portable way to enforce error on undefined symbols) Message-ID: <handler.26389.B.149153517929004.ack <at> debbugs.gnu.org> References: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> X-Gnu-PR-Message: ack 26389 X-Gnu-PR-Package: libtool Reply-To: 26389 <at> debbugs.gnu.org Date: Fri, 07 Apr 2017 03:20:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-libtool@HIDDEN If you wish to submit further information on this problem, please send it to 26389 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 26389: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D26389 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#26389: Portable way to enforce error on undefined symbols Resent-From: Peter Rosin <peda@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-libtool@HIDDEN Resent-Date: Fri, 07 Apr 2017 06:54:02 +0000 Resent-Message-ID: <handler.26389.B.149154803617409 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 26389 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: 26389 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-libtool@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.149154803617409 (code B ref -1); Fri, 07 Apr 2017 06:54:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Apr 2017 06:53:56 +0000 Received: from localhost ([127.0.0.1]:35680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1cwNmO-0004Wi-1u for submit <at> debbugs.gnu.org; Fri, 07 Apr 2017 02:53:56 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <peda@HIDDEN>) id 1cwNmN-0004WL-99 for submit <at> debbugs.gnu.org; Fri, 07 Apr 2017 02:53:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <peda@HIDDEN>) id 1cwNmH-0003zj-3t for submit <at> debbugs.gnu.org; Fri, 07 Apr 2017 02:53:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50108) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <peda@HIDDEN>) id 1cwNmH-0003zd-0y for submit <at> debbugs.gnu.org; Fri, 07 Apr 2017 02:53:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <peda@HIDDEN>) id 1cwNmF-0007hV-Ol for bug-libtool@HIDDEN; Fri, 07 Apr 2017 02:53:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <peda@HIDDEN>) id 1cwNmC-0003yp-LH for bug-libtool@HIDDEN; Fri, 07 Apr 2017 02:53:47 -0400 Received: from mail.lysator.liu.se ([130.236.254.3]:58011) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <peda@HIDDEN>) id 1cwNmC-0003y5-Ds for bug-libtool@HIDDEN; Fri, 07 Apr 2017 02:53:44 -0400 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 3766C400A5 for <bug-libtool@HIDDEN>; Fri, 7 Apr 2017 08:53:39 +0200 (CEST) Received: from [192.168.0.125] (81-224-171-159-no95.tbcn.telia.com [81.224.171.159]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id F3E3A40008 for <bug-libtool@HIDDEN>; Fri, 7 Apr 2017 08:53:38 +0200 (CEST) References: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> From: Peter Rosin <peda@HIDDEN> Message-ID: <9a1f8886-2cbd-d59e-bb7f-a4aef554ce51@HIDDEN> Date: Fri, 7 Apr 2017 08:53:38 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> Content-Type: text/plain; charset=windows-1252 X-Virus-Scanned: ClamAV using ClamSMTP Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.4 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.4 (----) On 2017-04-07 05:19, Simon Richter wrote: > Version: 2.4.6 > Severity: wishlist >=20 > Hi, >=20 > I'd like to have a way for libtool fail to link a shared library with > undefined symbols even on platforms that do support them. >=20 > Passing the "-no-undefined" flag only promises that there are no > undefined symbols, so libtool will actually try to link a Windows DLL, > however it will not use -Wl,-z,defs on GNU targets. >=20 > Libtool seems to define some internal variables like > allow_undefined_flag, but these are not used after being defined. What do you mean, not used? That's totally up to the platform. But agreed= , they do not appear to be used on Linux... Looking at the docs, I see these variables: Variable: allow_undefined_flag The flag that is used by =91archive_cmds=92 to declare that there will be unresolved symbols in the resulting shared library. Empty, if no such flag is required. Set to =91unsupported=92 if there is no way to generate a shared library with references to symbols that aren=92t defined in that library. Variable: no_undefined_flag The flag that is used by =91archive_cmds=92 to declare that there will be no unresolved symbols in the resulting shared library. Empty, if no such flag is required. Looking at the code, I see this: # Check to see if the archive will have undefined symbols. if test yes =3D "$allow_undefined"; then if test unsupported =3D "$allow_undefined_flag"; then if test yes =3D "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared librar= ies; building static only" build_libtool_libs=3Dno else func_fatal_error "can't build $host shared library unless -no-unde= fined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=3D$no_undefined_flag fi fi $allow_undefined is default yes, and isn't no even on Windows (while it perhaps should). Anyway, the way to get $allow_undefined to be no is to supply -no-undefined. -no-undefined is a promise to libtool that the library does not contain any unresolved symbols. A number of platforms appears to enforce this with various content in the no_undefined_flag. E.g, AIX uses "-bernotok", Solaris uses "-z defs" and SCO uses "-z,text". I imagine that it is a small matter of the platform to set no_undefined_flag similarly to how it is set for Solaris when using GNU tools, and also make sure $allow_undefined_flag is present in archive_cmds (and archive_expsym_cmds if it is set), and the above machinery will kick in when the user supplies -no-undefined. BUT, this is not the first time this has come up, so I suspect that I'm missing something crucial... Cheers, Peter
X-Loop: help-debbugs@HIDDEN Subject: bug#26389: Portable way to enforce error on undefined symbols Resent-From: Bob Friesenhahn <bfriesen@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-libtool@HIDDEN Resent-Date: Sat, 08 Apr 2017 14:07:02 +0000 Resent-Message-ID: <handler.26389.B.14916604205078 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 26389 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: Simon Richter <Simon.Richter@HIDDEN> Cc: 26389 <at> debbugs.gnu.org X-Debbugs-Original-Cc: 26389 <at> debbugs.gnu.org, bug-libtool@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.14916604205078 (code B ref -1); Sat, 08 Apr 2017 14:07:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Apr 2017 14:07:00 +0000 Received: from localhost ([127.0.0.1]:38188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1cwr11-0001Jq-VA for submit <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:07:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46123) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <bfriesen@HIDDEN>) id 1cwr10-0001Jb-Ay for submit <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:06:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <bfriesen@HIDDEN>) id 1cwr0u-0000QS-4P for submit <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:06:53 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:40501) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <bfriesen@HIDDEN>) id 1cwr0u-0000QN-1G for submit <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:06:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37093) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <bfriesen@HIDDEN>) id 1cwr0s-0006Fp-RO for bug-libtool@HIDDEN; Sat, 08 Apr 2017 10:06:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <bfriesen@HIDDEN>) id 1cwr0n-0000Pf-R2 for bug-libtool@HIDDEN; Sat, 08 Apr 2017 10:06:50 -0400 Received: from smtp.simplesystems.org ([65.66.246.90]:63808) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <bfriesen@HIDDEN>) id 1cwr0n-0000PA-Hg for bug-libtool@HIDDEN; Sat, 08 Apr 2017 10:06:45 -0400 Received: from freddy.simplesystems.org (freddy.simplesystems.org [65.66.246.65]) by smtp.simplesystems.org (8.14.4+Sun/8.14.4) with ESMTP id v38E6VtN001100; Sat, 8 Apr 2017 09:06:33 -0500 (CDT) Date: Sat, 8 Apr 2017 09:06:31 -0500 (CDT) From: Bob Friesenhahn <bfriesen@HIDDEN> X-X-Sender: bfriesen@HIDDEN In-Reply-To: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> Message-ID: <alpine.GSO.2.20.1704080901460.4648@HIDDEN> References: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> User-Agent: Alpine 2.20 (GSO 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (smtp.simplesystems.org [65.66.246.90]); Sat, 08 Apr 2017 09:06:34 -0500 (CDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux (Android) [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.1 (----) On Fri, 7 Apr 2017, Simon Richter wrote: > Hi, > > I'd like to have a way for libtool fail to link a shared library with > undefined symbols even on platforms that do support them. > > Passing the "-no-undefined" flag only promises that there are no > undefined symbols, so libtool will actually try to link a Windows DLL, > however it will not use -Wl,-z,defs on GNU targets. Successfully enforcing that there are no unresolved symbols at all is difficult to accomplish on GNU/Linux. In my experience, if the compiler/linker is told not to allow any unresolved symbols, then additional system libraries in non-portable (architecture specific) locations need to be specifically applied before all the symbols are successfully resolved. The problem is that there are unresolved symbols by default produced by system libraries which are not related to the code being built. Bob -- Bob Friesenhahn bfriesen@HIDDEN, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
X-Loop: help-debbugs@HIDDEN Subject: bug#26389: Portable way to enforce error on undefined symbols Resent-From: Bob Friesenhahn <bfriesen@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-libtool@HIDDEN Resent-Date: Sat, 08 Apr 2017 14:07:03 +0000 Resent-Message-ID: <handler.26389.B26389.14916604035045 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 26389 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: Simon Richter <Simon.Richter@HIDDEN> Cc: 26389 <at> debbugs.gnu.org X-Debbugs-Original-Cc: 26389 <at> debbugs.gnu.org, bug-libtool@HIDDEN Received: via spool by 26389-submit <at> debbugs.gnu.org id=B26389.14916604035045 (code B ref 26389); Sat, 08 Apr 2017 14:07:03 +0000 Received: (at 26389) by debbugs.gnu.org; 8 Apr 2017 14:06:43 +0000 Received: from localhost ([127.0.0.1]:38184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1cwr0k-0001JJ-M4 for submit <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:06:42 -0400 Received: from smtp.simplesystems.org ([65.66.246.90]:32957) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <bfriesen@HIDDEN>) id 1cwr0j-0001J5-6B for 26389 <at> debbugs.gnu.org; Sat, 08 Apr 2017 10:06:41 -0400 Received: from freddy.simplesystems.org (freddy.simplesystems.org [65.66.246.65]) by smtp.simplesystems.org (8.14.4+Sun/8.14.4) with ESMTP id v38E6VtN001100; Sat, 8 Apr 2017 09:06:33 -0500 (CDT) Date: Sat, 8 Apr 2017 09:06:31 -0500 (CDT) From: Bob Friesenhahn <bfriesen@HIDDEN> X-X-Sender: bfriesen@HIDDEN In-Reply-To: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> Message-ID: <alpine.GSO.2.20.1704080901460.4648@HIDDEN> References: <6d16d2b8-bf7f-e29f-ee4c-6e3637c6e5e2@HIDDEN> User-Agent: Alpine 2.20 (GSO 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (smtp.simplesystems.org [65.66.246.90]); Sat, 08 Apr 2017 09:06:34 -0500 (CDT) X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) On Fri, 7 Apr 2017, Simon Richter wrote: > Hi, > > I'd like to have a way for libtool fail to link a shared library with > undefined symbols even on platforms that do support them. > > Passing the "-no-undefined" flag only promises that there are no > undefined symbols, so libtool will actually try to link a Windows DLL, > however it will not use -Wl,-z,defs on GNU targets. Successfully enforcing that there are no unresolved symbols at all is difficult to accomplish on GNU/Linux. In my experience, if the compiler/linker is told not to allow any unresolved symbols, then additional system libraries in non-portable (architecture specific) locations need to be specifically applied before all the symbols are successfully resolved. The problem is that there are unresolved symbols by default produced by system libraries which are not related to the code being built. Bob -- Bob Friesenhahn bfriesen@HIDDEN, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.