From unknown Sun Jun 22 11:32:55 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#21076 <21076@debbugs.gnu.org> To: bug#21076 <21076@debbugs.gnu.org> Subject: Status: dynamic-link often fails to load libraries Reply-To: bug#21076 <21076@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:32:55 +0000 retitle 21076 dynamic-link often fails to load libraries reassign 21076 guile submitter 21076 Frank Webster severity 21076 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 16 13:04:39 2015 Received: (at submit) by debbugs.gnu.org; 16 Jul 2015 17:04:39 +0000 Received: from localhost ([127.0.0.1]:51346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFmaM-0000m9-US for submit@debbugs.gnu.org; Thu, 16 Jul 2015 13:04:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:32967) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFmOv-0000U8-NZ for submit@debbugs.gnu.org; Thu, 16 Jul 2015 12:52:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZFmOp-00051g-H8 for submit@debbugs.gnu.org; Thu, 16 Jul 2015 12:52:44 -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,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:60305) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFmOp-00051c-E9 for submit@debbugs.gnu.org; Thu, 16 Jul 2015 12:52:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46467) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFmOo-0003Bw-Co for bug-guile@gnu.org; Thu, 16 Jul 2015 12:52:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZFmOk-00050T-CK for bug-guile@gnu.org; Thu, 16 Jul 2015 12:52:42 -0400 Received: from forward19m.cmail.yandex.net ([5.255.216.150]:36255) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFmOk-0004zg-1k for bug-guile@gnu.org; Thu, 16 Jul 2015 12:52:38 -0400 Received: from web11m.yandex.ru (web11m.yandex.ru [IPv6:2a02:6b8:0:2519::211]) by forward19m.cmail.yandex.net (Yandex) with ESMTP id 7811520773 for ; Thu, 16 Jul 2015 19:52:35 +0300 (MSK) Received: from 127.0.0.1 (localhost [127.0.0.1]) by web11m.yandex.ru (Yandex) with ESMTP id E461C2F216F3; Thu, 16 Jul 2015 19:52:34 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.com; s=mail; t=1437065555; bh=sZXZisPAgTE6FYBp74ETC7AVR3oFSVp95CiTSK5xyX4=; h=From:To:Subject:Date; b=Vx4yl2tAbeJLRVfQquR84c9FEFdjn3weDaw3PcbON52qPvfAzEt1SJe/KCViqAJBw Sss/6zwqL/aba+js9tD/GUwp54jeZZyvf7ZksN7PDtgbB1XNER4Xc7ejwIHcPOKAAs v+ytSMQqUa87MFN9FHre9RIJkbxR9SDVTEzA++LI= Received: by web11m.yandex.ru with HTTP; Thu, 16 Jul 2015 19:52:34 +0300 From: Frank Webster Envelope-From: f-webster@yandex.com To: bug-guile@gnu.org Subject: dynamic-link often fails to load libraries MIME-Version: 1.0 Message-Id: <2096431437065554@web11m.yandex.ru> X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Thu, 16 Jul 2015 19:52:34 +0300 Content-Transfer-Encoding: 7bit Content-Type: text/plain 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: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 16 Jul 2015 13:04:37 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) On my Debian system, `dynamic-link' often fails to load shared libraries: Loading using a versioned soname never works: scheme@(guile-user)> (dynamic-link "libGL.so.1") ERROR: In procedure dynamic-link: ERROR: In procedure dynamic-link: file: "libGL.so.1", message: "file not found" Loading without a library extension doesn't work unless the corresponding *-dev package is installed: scheme@(guile-user)> (dynamic-link "libGL") ERROR: In procedure dynamic-link: ERROR: In procedure dynamic-link: file: "libGL", message: "file not found" It is supposed to work with or without the extension, however because of limitations in the underlying lt_dlopenext function in libtool, neither works. The first doesn't work because contrary to its documentation, lt_dlopenext doesn't always try loading the bare filename first, without appending an extention. The second doesn't work because the versioned soname extension (.so.1) isn't among the ones that lt_dlopenext tries to append. It does try the unversioned extension (.so), but in Debian the unversioned symlink is only available when the corresponding *-dev package is installed. Here is a related libtool bug report: https://debbugs.gnu.org/8976 Note that there are arguably two distinct issues: (1) lt_dlopenext not trying the bare filename in all cases (2) lt_dlopenext not trying versioned soname extensions. Obviously one way to address this would be to fix these two issues in lt_dlopenext in libtool. Alternatively, the (system foreign) module in guile could provide a simple low-level wrapper around lt_dlopen, and possibly implement the higher level functionality of `dynamic-link' (additional search paths, guessing extensions etc.) in scheme. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 16 19:00:36 2015 Received: (at 21076) by debbugs.gnu.org; 16 Jul 2015 23:00:36 +0000 Received: from localhost ([127.0.0.1]:51477 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFs8p-00016V-BH for submit@debbugs.gnu.org; Thu, 16 Jul 2015 19:00:36 -0400 Received: from mout.gmx.net ([212.227.17.20]:54396) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFs8l-0000zF-Rf for 21076@debbugs.gnu.org; Thu, 16 Jul 2015 19:00:33 -0400 Received: from delenn.home.rotty.xx.vu ([91.119.182.207]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0Lyj4F-1Yvwgo2OuN-0167Ls; Fri, 17 Jul 2015 01:00:25 +0200 Received: by delenn.home.rotty.xx.vu (Postfix, from userid 1000) id D0B1D321428; Fri, 17 Jul 2015 01:00:23 +0200 (CEST) From: Andreas Rottmann To: Frank Webster Subject: Re: bug#21076: dynamic-link often fails to load libraries References: <2096431437065554@web11m.yandex.ru> Date: Fri, 17 Jul 2015 01:00:23 +0200 In-Reply-To: <2096431437065554@web11m.yandex.ru> (Frank Webster's message of "Thu, 16 Jul 2015 19:52:34 +0300") Message-ID: <87r3o7pv20.fsf@delenn.home.rotty.xx.vu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:Y+dZpfRwqh9dN+hNA8R+dODy9Loi9bX04HyO91kYBV017tiZUUz 8yXe7W94hXf7uVEF7Bu19pGwrtSdGUzHqgmjICBeN/Ac7/XJEarXWcJdq/fw+7+vqyLNkIv LLG91eVZIH9eE/J8Pq8xUExIoOYmiE3Zx0AQkjRyrAdazfuEckyS9KWEfTNA92EyzWpTsLf aikL1vt+wBiRtmw7aMp5A== X-UI-Out-Filterresults: notjunk:1;V01:K0:kqk1MPYbcGQ=:xWiIY100DBATwMg8Khl7jS AfUllHdGRchYxdYD+rt4zN8PMwq90/6e8pbosc6Eo1/3bwOR1FIDs2wMsmToeFnpnA0IGdaFD LxozZ+8qRQO8aoqJBSBOyy65h5T1Y48eMxJc3yYQkORUOkTM41lNIEGyj4JE6da41xlmzYYk0 xunct+LXI57Oa+3lLfMPgvavrv9uN3lGLgLVSVJjTUqFmHDhW4vjUhxXrWLxznMxgt33QwM2s 7tlzi4+jPvLFoPZuQYmys+4vT1kGuqV+p8hS9WMIkeDBA5b1kD1GbQvTxxqLeWLNxUIhqxzic WIMaorhtVvoWq4hptgxNj+4W7rcK2RmYDe0gaqqpi8T2l1OPcSR9jcOMveuekUJB/tLEBjdel Gj6UginoON0pvML+A0oFugmcg7Pb9jcofMtEErC0DeddGoH4zJTjXNry+mSYAUiECeO13OFPa hoO7ZzpEZGKi2Mlk1ZGd0YOSaOtSrdrQvHuSHmOjQ/3vyz7LTOBr7v4AvPNj+S1qgtiGjU5wC ffxIutbd7KkZFOW0hIbEj5TLw/kBYCkWC08KOOZ1fl+6wyWxZ11R04ocfc0unN9kTmZP/jjs/ du7TzA6vSO6GlDOSLDijBCYsmFK/yq0hXwuUq0SsmCTwP9GYGhb2FpPX5/fdhn89WUX9V+aHj a5EKYg0dYF+QCQg+p8K6qcHg9j5RSkB79qfBZaEWjD0vi+6mQfrtjKDb2V0IlEfD80nw= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21076 Cc: 21076@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Frank Webster writes: > On my Debian system, `dynamic-link' often fails to load shared > libraries: > > Loading using a versioned soname never works: > > scheme@(guile-user)> (dynamic-link "libGL.so.1") > ERROR: In procedure dynamic-link: > ERROR: In procedure dynamic-link: file: "libGL.so.1", message: "file not found" > > Loading without a library extension doesn't work unless the > corresponding *-dev package is installed: > > scheme@(guile-user)> (dynamic-link "libGL") > ERROR: In procedure dynamic-link: > ERROR: In procedure dynamic-link: file: "libGL", message: "file not found" > > It is supposed to work with or without the extension, however because > of limitations in the underlying lt_dlopenext function in libtool, > neither works. > I'd argue that using the second variant (or using `(dynamic-link "libGL.so")') is kinda inherently broken in an application loading general-use (public) shared libraries, as opposed to plugins specific to an application: you have no idea what ABI the library you just loaded has. This means you may later use of symbols from that library in a way that violates the ABI. Unfortunatly, how the ABI is encoded into the shared library name is platform-dependent, and this is also (as I read between the lines of the bug thread referenced by you [0]) one of the reasons why the libtool developers are not sure how a solution to this problem should look like. I think to write an application that is somewhat protected against ABI changes, you need to have a mapping from ABIs supported by your application to shared library file names (including the version extension). You might have only one supported ABI, but the mapping is still platform-dependent, so you have to either have a run-time or build/install-time switch choosing the appriopriate shared library name. Now, to make matters worse, you can't do that using libltdl, as you noticed: > The first doesn't work because contrary to its > documentation, lt_dlopenext doesn't always try loading > the bare filename first, without appending an extention. > Yes, this is a really annoying bug, and is what kept me from (trying to) port sbank[1] (a gobject-introspection binding) to Guile a few years back. In gobject-introspection, you get the full shared library file name, along with a machine-readable ABI description, but you can't open the shared library using the versioned name in Guile. [1] https://github.com/rotty/sbank > The second doesn't work because the versioned soname extension (.so.1) > isn't among the ones that lt_dlopenext tries to append. It does try the > unversioned extension (.so), but in Debian the unversioned symlink > is only available when the corresponding *-dev package is installed. > Yeah, but IMHO, this kind of use with a bare shared library name (without SONAME/ABI information) is already misguided in the first place, unless you have some other way of knowing the ABI. Debian and the likes not installing .so files (or .la files) by default only exposes the inherent potential breakage. [0] > Here is a related libtool bug report: https://debbugs.gnu.org/8976 > > Note that there are arguably two distinct issues: > (1) lt_dlopenext not trying the bare filename in all cases > (2) lt_dlopenext not trying versioned soname extensions. > > Obviously one way to address this would be to fix these two issues in > lt_dlopenext in libtool. > As mentioned, solving problem (2) is not a good idea IMO -- the versions are there for a reason, and you cannot (should not) guess them. > Alternatively, the (system foreign) module in guile could provide a > simple low-level wrapper around lt_dlopen, and possibly implement > the higher level functionality of `dynamic-link' (additional search > paths, guessing extensions etc.) in scheme. > +1 Regards, Rotty -- Andreas Rottmann -- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 24 04:10:13 2016 Received: (at 21076) by debbugs.gnu.org; 24 Jun 2016 08:10:14 +0000 Received: from localhost ([127.0.0.1]:53324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGMBp-0001P8-On for submit@debbugs.gnu.org; Fri, 24 Jun 2016 04:10:13 -0400 Received: from pb-sasl1.pobox.com ([64.147.108.66]:64882 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGMBo-0001P1-Vk for 21076@debbugs.gnu.org; Fri, 24 Jun 2016 04:10:13 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id CF00D18D40; Fri, 24 Jun 2016 04:10:10 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=8QEPcTbsOztSiqOHzFHsWVmxNqk=; b=MfMBgU Ab1xMHk5KEZg7my4CmXQ62yCtfwVGJlOKsfpnKhD/mLp3vbU6WfIh7BL+uTBZOQ4 ZlJr89JHssuZamRHmVX768vKt+apqrgr2n80Ch7euR7A+yUnMZDuMx7Z0JYU3x2U 3BrO1NxWlFOcztC/SFvCNllJPo1Ry8MZrRBkY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=W2MHwMqrMmzJ2JYv6+OC5QZF+FxInfLV fAV8uWqTLfe1TlZSFnxZYVhJkeu9fxPv/K0Ov+3ZuifIwNBJu3zU+lNNfaKleFyU 91o3vbyz5VRw5iZgZVehmQfoqf5ybGupbUDOnCxTRzvqhieF2O8d/LaS2ZlEP7BQ aqN2aV4khPQ= Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id B70E118D3B; Fri, 24 Jun 2016 04:10:10 -0400 (EDT) Received: from clucks (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl1.pobox.com (Postfix) with ESMTPSA id F3E7018D39; Fri, 24 Jun 2016 04:10:09 -0400 (EDT) From: Andy Wingo To: Andreas Rottmann , Frank Webster Subject: Re: bug#21076: dynamic-link often fails to load libraries References: <2096431437065554@web11m.yandex.ru> <87r3o7pv20.fsf@delenn.home.rotty.xx.vu> Date: Fri, 24 Jun 2016 10:10:02 +0200 In-Reply-To: <87r3o7pv20.fsf@delenn.home.rotty.xx.vu> (Andreas Rottmann's message of "Fri, 17 Jul 2015 01:00:23 +0200") Message-ID: <878txvhusl.fsf@pobox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Pobox-Relay-ID: 11EC1E48-39E3-11E6-A331-C1836462E9F6-02397024!pb-sasl1.pobox.com X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 21076 Cc: 21076@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On Fri 17 Jul 2015 01:00, Andreas Rottmann writes: >> Alternatively, the (system foreign) module in guile could provide a >> simple low-level wrapper around lt_dlopen, and possibly implement >> the higher level functionality of `dynamic-link' (additional search >> paths, guessing extensions etc.) in scheme. >> > +1 Either one of yall want to give a shot at this or something like it? I think in an ideal world we could lose the ltdl dependency. I gave a first crack at it but got mired in C; I never considered implementing it in Scheme, which seems like a nice idea. Andy From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 08 10:56:28 2019 Received: (at submit) by debbugs.gnu.org; 8 Jun 2019 14:56:28 +0000 Received: from localhost ([127.0.0.1]:53465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZclf-0002x9-Pj for submit@debbugs.gnu.org; Sat, 08 Jun 2019 10:56:28 -0400 Received: from lists.gnu.org ([209.51.188.17]:53331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZaTm-0005iN-I0 for submit@debbugs.gnu.org; Sat, 08 Jun 2019 08:29:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46671) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZaTk-0002kc-Km for bug-guile@gnu.org; Sat, 08 Jun 2019 08:29: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,FREEMAIL_FROM, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hZaTi-0000E6-50 for bug-guile@gnu.org; Sat, 08 Jun 2019 08:29:48 -0400 Received: from mail-lj1-x241.google.com ([2a00:1450:4864:20::241]:38440) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hZaTh-0000CK-O9 for bug-guile@gnu.org; Sat, 08 Jun 2019 08:29:46 -0400 Received: by mail-lj1-x241.google.com with SMTP id o13so4020776lji.5 for ; Sat, 08 Jun 2019 05:29:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=G9I0qiAqN4XSGike99qwDMLkTYwZk82/ud57PYs2/uk=; b=llQjzApNjQN2b1nIuGDo7ZCtOA3U0pCd/lhh41FKV47GidrazMd20goIy9le3haC+u IDwLqRgj/bEv7+9UWL2UgMhudC98B4UrVV/eLqotmR4iqQTMbZKnd2Nj6p8wkfHOzwHA 5pv9hdJGSnWhcewS5TEx5k4DxTDKlmhbsrBps1iUrzUN565eS84ydsquby6mRydn8Dq6 l+24f/4HVMru3qb4DeFAEzabf8tu9VPIh94AGhG3+eIPSqlJFfXuqLWhUEwld3moXi6O yv5BqcTccX/LyC3pr6Zz6+E+fnTybvpLsmc5VjBIA3BMoPyp/P0k+upFVs1tW57HZNAr k5tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=G9I0qiAqN4XSGike99qwDMLkTYwZk82/ud57PYs2/uk=; b=KnmKQ18uVwDMgYD0Tfja0T4Yz7d1A/IYYT1Cj6sX/fqMBsxCA/2vpLvG0bWHx6ajs9 kcpcxuZQy3TNcvZf3bosShZ5NnEddCNB4SUQhHs/dy8zxL9f/aEsD0jXXmS6f4VQ5Yv5 ZujuZgl7U/0KpAhHcttcr+rp9qbbLBWsGxgWXtMKOlrGsT/KDx+jMKYux6VPEMUkpU7f LKWYiXqgdTvkyDkGCXSIA5QwhEg/yi7bctzG/WUgeF5UL71jPopUsWHfSk7l6bH2ot81 SIfroUBwgfE41xqNZaAQu1GNjLUKd7sPSokZsqNwfgI0PV46DENcWkChImui2ScMdKkQ aWCg== X-Gm-Message-State: APjAAAUp35JPDOCIYKiJW+j6hJskNJe1mfYqJ7C5OQygjxD2qaPuuwdX plSDRIdAsSgI4kUaHA4TO6TxqlH5LDBe9Y//2FjRL/jhnhs= X-Google-Smtp-Source: APXvYqx8py6+C1D+pmmKxSiw92LWgMYXt5GOoFr70Zilh7ofmfO0u1C6Olbzb1aq3qcW2BA3cwoYZ6XTP2HkeqUxNoE= X-Received: by 2002:a2e:934e:: with SMTP id m14mr3474485ljh.116.1559996983504; Sat, 08 Jun 2019 05:29:43 -0700 (PDT) MIME-Version: 1.0 From: Isaac Jurado Date: Sat, 8 Jun 2019 14:29:32 +0200 Message-ID: Subject: Re: bug#21076: dynamic-link often fails to load libraries To: bug-guile@gnu.org Content-Type: multipart/mixed; boundary="0000000000000d9504058acf1aa5" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::241 X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 08 Jun 2019 10:56:26 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --0000000000000d9504058acf1aa5 Content-Type: text/plain; charset="UTF-8" I've experienced this issue as well, but the fix is very simple (attaching Git patch). The fix does NOT break foreign.test but I have no idea, yet, on how to test the new behaviour in a platform independent or continuous integration friendly way. The commit has been applied to the stable-2.2 branch, but it would also apply cleanly to master. Any feedback welcomed. Best regards. -- Isaac Jurado "The noblest pleasure is the joy of understanding" Leonardo da Vinci --0000000000000d9504058acf1aa5 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Interpret-dynamic-library-name-as-literal-path-first.patch" Content-Disposition: attachment; filename="0001-Interpret-dynamic-library-name-as-literal-path-first.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwnhwzl50 RnJvbSBiMzM3ZDQxMmIzYzEwY2FiZTM1NWRmMDdkMjI5NWM0ZDBhNTYwYjEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJc2FhYyBKdXJhZG8gPGRpcHRvbmdvQGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCA4IEp1biAyMDE5IDE0OjAwOjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gSW50ZXJw cmV0IGR5bmFtaWMgbGlicmFyeSBuYW1lIGFzIGxpdGVyYWwgcGF0aCBmaXJzdC4KCkZpeGVzIDxo dHRwczovL2J1Z3MuZ251Lm9yZy8yMTA3Nj4uCgoqIGxpYmd1aWxlL2R5bmwuYyAoc3lzZGVwX2R5 bl9saW5rKTogVHJ5IHBsYWluIGx0X2Rsb3BlbiBmaXJzdCwgdG8KICBpbnRlcnByZXQgZm5hbWUg YXMgYSBsaXRlcmFsIHBhdGguCiogZG9jL3JlZi9hcGktZm9yZWlnbi50ZXhpOiBVcGRhdGUgZXhw bGFuYXRpb24gdG8gZGVzY3JpYmUgdGhlIG5ldwogIGJlaGF2aW9yLgotLS0KIGRvYy9yZWYvYXBp LWZvcmVpZ24udGV4aSB8IDEzICsrKysrKysrLS0tLS0KIGxpYmd1aWxlL2R5bmwuYyAgICAgICAg ICB8ICA3ICsrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvcmVmL2FwaS1mb3JlaWduLnRleGkgYi9kb2MvcmVm L2FwaS1mb3JlaWduLnRleGkKaW5kZXggZDk5YTMzMzAwLi45NGZhYmYyM2MgMTAwNjQ0Ci0tLSBh L2RvYy9yZWYvYXBpLWZvcmVpZ24udGV4aQorKysgYi9kb2MvcmVmL2FwaS1mb3JlaWduLnRleGkK QEAgLTc1LDExICs3NSwxNCBAQCBTY2hlbWUgb2JqZWN0IHN1aXRhYmxlIGZvciByZXByZXNlbnRp bmcgdGhlIGxpbmtlZCBvYmplY3QgZmlsZS4KIE90aGVyd2lzZSBhbiBlcnJvciBpcyB0aHJvd24u ICBIb3cgb2JqZWN0IGZpbGVzIGFyZSBzZWFyY2hlZCBpcyBzeXN0ZW0KIGRlcGVuZGVudC4KIAot Tm9ybWFsbHksIEB2YXJ7bGlicmFyeX0gaXMganVzdCB0aGUgbmFtZSBvZiBzb21lIHNoYXJlZCBs aWJyYXJ5IGZpbGUKLXRoYXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IgaW4gdGhlIHBsYWNlcyB3aGVy ZSBzaGFyZWQgbGlicmFyaWVzIHVzdWFsbHkKLXJlc2lkZSwgc3VjaCBhcyBpbiBAZmlsZXsvdXNy L2xpYn0gYW5kIEBmaWxley91c3IvbG9jYWwvbGlifS4KLQotQHZhcntsaWJyYXJ5fSBzaG91bGQg bm90IGNvbnRhaW4gYW4gZXh0ZW5zaW9uIHN1Y2ggYXMgQGNvZGV7LnNvfS4gIFRoZQorR3VpbGUg Zmlyc3QgdHJpZXMgdG8gbG9hZCBAdmFye2xpYnJhcnl9IGFzIGEgZnVsbCBwYXRoIHRvIGEgc2hh cmVkCitsaWJyYXJ5IGZpbGUuICBJZiB0aGF0IGZhaWxzLCB0aGVuIGl0IGZhbGxzIGJhY2sgdG8g aW50ZXJwcmV0CitAdmFye2xpYnJhcnl9IGFzIGp1c3QgdGhlIG5hbWUgb2Ygc29tZSBzaGFyZWQg bGlicmFyeSB0aGF0IHdpbGwgYmUKK3NlYXJjaGVkIGZvciBpbiB0aGUgcGxhY2VzIHdoZXJlIHNo YXJlZCBsaWJyYXJpZXMgdXN1YWxseSByZXNpZGUsIHN1Y2gKK2FzIEBmaWxley91c3IvbGlifSBh bmQgQGZpbGV7L3Vzci9sb2NhbC9saWJ9LgorCitAdmFye2xpYnJhcnl9IHNob3VsZCBub3QgY29u dGFpbiBhbiBleHRlbnNpb24gc3VjaCBhcyBAY29kZXsuc299LCB1bmxlc3MKK0B2YXJ7bGlicmFy eX0gcmVwcmVzZW50cyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBzaGFyZWQgbGlicmFyeSBmaWxlLiAg VGhlCiBjb3JyZWN0IGZpbGUgbmFtZSBleHRlbnNpb24gZm9yIHRoZSBob3N0IG9wZXJhdGluZyBz eXN0ZW0gaXMgcHJvdmlkZWQKIGF1dG9tYXRpY2FsbHksIGFjY29yZGluZyB0byBsaWJsdGRsJ3Mg cnVsZXMgKEBweHJlZntMaWJsdGRsIGludGVyZmFjZSwKIGx0X2Rsb3BlbmV4dCwgQGNvZGV7bHRf ZGxvcGVuZXh0fSwgbGlidG9vbCwgU2hhcmVkIExpYnJhcnkgU3VwcG9ydCBmb3IKZGlmZiAtLWdp dCBhL2xpYmd1aWxlL2R5bmwuYyBiL2xpYmd1aWxlL2R5bmwuYwppbmRleCAyYTI1ZTVkMmUuLjAw OTZlOGNmNSAxMDA2NDQKLS0tIGEvbGliZ3VpbGUvZHlubC5jCisrKyBiL2xpYmd1aWxlL2R5bmwu YwpAQCAtNzksMTAgKzc5LDkgQEAgc3lzZGVwX2R5bmxfbGluayAoY29uc3QgY2hhciAqZm5hbWUs IGNvbnN0IGNoYXIgKnN1YnIpCiB7CiAgIGx0X2RsaGFuZGxlIGhhbmRsZTsKIAotICBpZiAoZm5h bWUgPT0gTlVMTCkKLSAgICAvKiBSZXR1cm4gYSBoYW5kbGUgZm9yIHRoZSBwcm9ncmFtIGFzIGEg d2hvbGUuICAqLwotICAgIGhhbmRsZSA9IGx0X2Rsb3BlbiAoTlVMTCk7Ci0gIGVsc2UKKyAgLyog VHJ5IHRoZSBsaXRlcmFsIGZpbGVuYW1lIGZpcnN0IG9yLCBpZiBOVUxMLCB0aGUgcHJvZ3JhbSBp dHNlbGYgKi8KKyAgaGFuZGxlID0gbHRfZGxvcGVuIChmbmFtZSk7CisgIGlmIChoYW5kbGUgPT0g TlVMTCkKICAgICB7CiAgICAgICBoYW5kbGUgPSBsdF9kbG9wZW5leHQgKGZuYW1lKTsKIAotLSAK Mi4xNy4xCgo= --0000000000000d9504058acf1aa5-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 08 10:56:28 2019 Received: (at 21076) by debbugs.gnu.org; 8 Jun 2019 14:56:28 +0000 Received: from localhost ([127.0.0.1]:53467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZclg-0002xI-9B for submit@debbugs.gnu.org; Sat, 08 Jun 2019 10:56:28 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:33328) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZabN-0005uv-6D for 21076@debbugs.gnu.org; Sat, 08 Jun 2019 08:37:42 -0400 Received: by mail-lf1-f67.google.com with SMTP id y17so3568314lfe.0 for <21076@debbugs.gnu.org>; Sat, 08 Jun 2019 05:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=a8bbqW1YduN1mxN2TsKy5kAdsxgmQATvC9sdCPBHQnM=; b=AlhaQu73tO1CsFMdM+9uupSwDmNEkjlSpZKhRRkHfdf8VAXiqhrDVbpEYJBeEnu6h2 JwWCH7KjYcmoF8DjgW0Y0gBjBizK2VgPAzL31hDy0i7d+wWPrVV1Vm+jtkQ7IiTlvqC0 avZxqHuhk98jyzAh0kYRSEsxQzsC/MLdymdQ56xmtzTXZ9mA/UueW9YGtfvO9sCutMhl eVNdqX6KN2mLAUmYKfsfUy2RfztmeCs/TgF/C0xB+ubXKjoxhRogPDgSUWMyJNYXCy3g bQ2BAMNrfadKTUEqUO1DI7l1+zt21FZ9RuvJ5VcEJmSsQoSoZP3mUMbgYuRfC7yC9YEA HGJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=a8bbqW1YduN1mxN2TsKy5kAdsxgmQATvC9sdCPBHQnM=; b=C+t3tgCRJk8VJ9DmUfFvczBUD9rmMV2Q+mYOKDkWGIyz+DtW1BAnosmNE8DJJ0mGJ3 CNVSeI/oHIX6d82BFlNfV9fALEvnjFkCCB9RDuAjCqWmucn4Dj36SRUDqWnzUZwU7zAn YTRkDkYr4sWI22V1K14wF6s7lVtaY6EsHQrLhTfdkg+E6PH41cbyqEoiXkVscmPnsifK g5qWQmuOgDyIi4eMtkzUmBccQiFQ2sDM6D0rZ61B5+vo+9GzDtYplAU3vn0pxrldvI5Y 74c5x0858VISawOCxAgXQOSQ0yVLeoD3Xm98bESC67Rg1s+KOPKkReVMfx+gaGJdewxe f1LQ== X-Gm-Message-State: APjAAAWfYeV0ZpWLWd7C780xKAj4oa7f9UciAgi//XT+UGVRIoW7Tp6u B2JS8wCphYDvU/yBm+Jk7lBCvuV4KfveAT1gCe/89q9f+4w= X-Google-Smtp-Source: APXvYqzlGrHCf8HVmTL4Gl3LEOY8EW9UlmbYQT1ds+ZrGvDKCCrpZk80l8rGt+37AdUBlfMBahhZa7R5NZnZ5xxXkWA= X-Received: by 2002:a19:c78b:: with SMTP id x133mr6978213lff.85.1559997454581; Sat, 08 Jun 2019 05:37:34 -0700 (PDT) MIME-Version: 1.0 From: Isaac Jurado Date: Sat, 8 Jun 2019 14:37:23 +0200 Message-ID: Subject: Re: bug#21076: dynamic-link often fails to load libraries To: 21076@debbugs.gnu.org Content-Type: multipart/mixed; boundary="00000000000021a783058acf36a7" X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 21076 X-Mailman-Approved-At: Sat, 08 Jun 2019 10:56:26 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.6 (-) --00000000000021a783058acf36a7 Content-Type: text/plain; charset="UTF-8" I've experienced this issue as well, but the fix is very simple (attaching Git patch). The fix does NOT break foreign.test but I have no idea, yet, on how to test the new behaviour in a platform independent or continuous integration friendly way. The commit has been applied to the stable-2.2 branch, but it would also apply cleanly to master. Any feedback welcomed. Best regards. -- Isaac Jurado "The noblest pleasure is the joy of understanding" Leonardo da Vinci --00000000000021a783058acf36a7 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Interpret-dynamic-library-name-as-literal-path-first.patch" Content-Disposition: attachment; filename="0001-Interpret-dynamic-library-name-as-literal-path-first.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwni70ld0 RnJvbSBiMzM3ZDQxMmIzYzEwY2FiZTM1NWRmMDdkMjI5NWM0ZDBhNTYwYjEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJc2FhYyBKdXJhZG8gPGRpcHRvbmdvQGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCA4IEp1biAyMDE5IDE0OjAwOjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gSW50ZXJw cmV0IGR5bmFtaWMgbGlicmFyeSBuYW1lIGFzIGxpdGVyYWwgcGF0aCBmaXJzdC4KCkZpeGVzIDxo dHRwczovL2J1Z3MuZ251Lm9yZy8yMTA3Nj4uCgoqIGxpYmd1aWxlL2R5bmwuYyAoc3lzZGVwX2R5 bl9saW5rKTogVHJ5IHBsYWluIGx0X2Rsb3BlbiBmaXJzdCwgdG8KICBpbnRlcnByZXQgZm5hbWUg YXMgYSBsaXRlcmFsIHBhdGguCiogZG9jL3JlZi9hcGktZm9yZWlnbi50ZXhpOiBVcGRhdGUgZXhw bGFuYXRpb24gdG8gZGVzY3JpYmUgdGhlIG5ldwogIGJlaGF2aW9yLgotLS0KIGRvYy9yZWYvYXBp LWZvcmVpZ24udGV4aSB8IDEzICsrKysrKysrLS0tLS0KIGxpYmd1aWxlL2R5bmwuYyAgICAgICAg ICB8ICA3ICsrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvcmVmL2FwaS1mb3JlaWduLnRleGkgYi9kb2MvcmVm L2FwaS1mb3JlaWduLnRleGkKaW5kZXggZDk5YTMzMzAwLi45NGZhYmYyM2MgMTAwNjQ0Ci0tLSBh L2RvYy9yZWYvYXBpLWZvcmVpZ24udGV4aQorKysgYi9kb2MvcmVmL2FwaS1mb3JlaWduLnRleGkK QEAgLTc1LDExICs3NSwxNCBAQCBTY2hlbWUgb2JqZWN0IHN1aXRhYmxlIGZvciByZXByZXNlbnRp bmcgdGhlIGxpbmtlZCBvYmplY3QgZmlsZS4KIE90aGVyd2lzZSBhbiBlcnJvciBpcyB0aHJvd24u ICBIb3cgb2JqZWN0IGZpbGVzIGFyZSBzZWFyY2hlZCBpcyBzeXN0ZW0KIGRlcGVuZGVudC4KIAot Tm9ybWFsbHksIEB2YXJ7bGlicmFyeX0gaXMganVzdCB0aGUgbmFtZSBvZiBzb21lIHNoYXJlZCBs aWJyYXJ5IGZpbGUKLXRoYXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IgaW4gdGhlIHBsYWNlcyB3aGVy ZSBzaGFyZWQgbGlicmFyaWVzIHVzdWFsbHkKLXJlc2lkZSwgc3VjaCBhcyBpbiBAZmlsZXsvdXNy L2xpYn0gYW5kIEBmaWxley91c3IvbG9jYWwvbGlifS4KLQotQHZhcntsaWJyYXJ5fSBzaG91bGQg bm90IGNvbnRhaW4gYW4gZXh0ZW5zaW9uIHN1Y2ggYXMgQGNvZGV7LnNvfS4gIFRoZQorR3VpbGUg Zmlyc3QgdHJpZXMgdG8gbG9hZCBAdmFye2xpYnJhcnl9IGFzIGEgZnVsbCBwYXRoIHRvIGEgc2hh cmVkCitsaWJyYXJ5IGZpbGUuICBJZiB0aGF0IGZhaWxzLCB0aGVuIGl0IGZhbGxzIGJhY2sgdG8g aW50ZXJwcmV0CitAdmFye2xpYnJhcnl9IGFzIGp1c3QgdGhlIG5hbWUgb2Ygc29tZSBzaGFyZWQg bGlicmFyeSB0aGF0IHdpbGwgYmUKK3NlYXJjaGVkIGZvciBpbiB0aGUgcGxhY2VzIHdoZXJlIHNo YXJlZCBsaWJyYXJpZXMgdXN1YWxseSByZXNpZGUsIHN1Y2gKK2FzIEBmaWxley91c3IvbGlifSBh bmQgQGZpbGV7L3Vzci9sb2NhbC9saWJ9LgorCitAdmFye2xpYnJhcnl9IHNob3VsZCBub3QgY29u dGFpbiBhbiBleHRlbnNpb24gc3VjaCBhcyBAY29kZXsuc299LCB1bmxlc3MKK0B2YXJ7bGlicmFy eX0gcmVwcmVzZW50cyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBzaGFyZWQgbGlicmFyeSBmaWxlLiAg VGhlCiBjb3JyZWN0IGZpbGUgbmFtZSBleHRlbnNpb24gZm9yIHRoZSBob3N0IG9wZXJhdGluZyBz eXN0ZW0gaXMgcHJvdmlkZWQKIGF1dG9tYXRpY2FsbHksIGFjY29yZGluZyB0byBsaWJsdGRsJ3Mg cnVsZXMgKEBweHJlZntMaWJsdGRsIGludGVyZmFjZSwKIGx0X2Rsb3BlbmV4dCwgQGNvZGV7bHRf ZGxvcGVuZXh0fSwgbGlidG9vbCwgU2hhcmVkIExpYnJhcnkgU3VwcG9ydCBmb3IKZGlmZiAtLWdp dCBhL2xpYmd1aWxlL2R5bmwuYyBiL2xpYmd1aWxlL2R5bmwuYwppbmRleCAyYTI1ZTVkMmUuLjAw OTZlOGNmNSAxMDA2NDQKLS0tIGEvbGliZ3VpbGUvZHlubC5jCisrKyBiL2xpYmd1aWxlL2R5bmwu YwpAQCAtNzksMTAgKzc5LDkgQEAgc3lzZGVwX2R5bmxfbGluayAoY29uc3QgY2hhciAqZm5hbWUs IGNvbnN0IGNoYXIgKnN1YnIpCiB7CiAgIGx0X2RsaGFuZGxlIGhhbmRsZTsKIAotICBpZiAoZm5h bWUgPT0gTlVMTCkKLSAgICAvKiBSZXR1cm4gYSBoYW5kbGUgZm9yIHRoZSBwcm9ncmFtIGFzIGEg d2hvbGUuICAqLwotICAgIGhhbmRsZSA9IGx0X2Rsb3BlbiAoTlVMTCk7Ci0gIGVsc2UKKyAgLyog VHJ5IHRoZSBsaXRlcmFsIGZpbGVuYW1lIGZpcnN0IG9yLCBpZiBOVUxMLCB0aGUgcHJvZ3JhbSBp dHNlbGYgKi8KKyAgaGFuZGxlID0gbHRfZGxvcGVuIChmbmFtZSk7CisgIGlmIChoYW5kbGUgPT0g TlVMTCkKICAgICB7CiAgICAgICBoYW5kbGUgPSBsdF9kbG9wZW5leHQgKGZuYW1lKTsKIAotLSAK Mi4xNy4xCgo= --00000000000021a783058acf36a7-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 20 19:36:37 2020 Received: (at 21076) by debbugs.gnu.org; 20 Mar 2020 23:36:37 +0000 Received: from localhost ([127.0.0.1]:45820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jFRBt-0007w6-DS for submit@debbugs.gnu.org; Fri, 20 Mar 2020 19:36:37 -0400 Received: from mail-pg1-f177.google.com ([209.85.215.177]:43721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jFRBs-0007vt-N6 for 21076@debbugs.gnu.org; Fri, 20 Mar 2020 19:36:37 -0400 Received: by mail-pg1-f177.google.com with SMTP id u12so3833366pgb.10 for <21076@debbugs.gnu.org>; Fri, 20 Mar 2020 16:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=OP2vrBYCcvQB0sQ/kaEk4+dV0RXaUFMxZ+lfPhgSxbw=; b=glTLrNnI8GyKVMR4KZv/aXKpmSkchnl92JlXqmlzfos9moLVUxsY+kuGkwsGxMaXE5 cMjVRcsh/A36zAxY9Yb4npx33kQoO0n/R64SQ0+3PnEFE2uOYfiemwQw59zbxj8S7K+4 6BUmHQkxSZE3yYY25RJvhwl5EEFpu5D1OZRnC3/EpJHvAKVegLZtPaQ7DOsYJRL/IU7I atktmGqU1Oui05ZmGd0KvkJVQq+51l6BQnbve0VDSlik9eZ6Ck7oug1/lAhP2kiUBS5M kiKKpJfmc10EHQbNyaRJA9Q6F/20dT7Jpia2MqttPgKBfxwcRGEdpbqRxznvbZrenb1l 31jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=OP2vrBYCcvQB0sQ/kaEk4+dV0RXaUFMxZ+lfPhgSxbw=; b=Zx3GZWF2tzH79q2AuR2Nz4ajQh+QqWjUfgNLpxvBXVMQpILQ+m6Qdi2Xz89nafY7zn WN1WO/buUtlQUQZMP86EI4UUmM8BVVwhPueedIHPsnkJyES9MLKSHsJ22PzECn6LQmi9 P0/358mDjVlundkDx5BqbGK4I53PQLvFbLZsoKB02Ys39Kmaqi+jzn4IZEomTnXF8WNv W2iCACbFBwrmmx/2PVYM9y3/ZgRovaidbwX3NSsYueNyft45yj3Of3HkQrO749//MI8V Q1L10sV5VnAXBFlm8gHY2ssKm7A9/RWDV/VKNRiMH0dyNScs7DX9DbH9tJgPqGouyZtp pkPw== X-Gm-Message-State: ANhLgQ0vNb8c2UOpohQtoaiQOs4H3QqYdJM27WTjhysvxzqYxDTBlF1E meY7K2QLrgF1FdCO59c2DgrKpy1r X-Google-Smtp-Source: ADFU+vvU7b0xK8r6ERmIfaRiOj7gEOxfCZphMIVq5L062YM1a0mFml0ent6LhTAoU5SAW8Et13gSNA== X-Received: by 2002:a63:385c:: with SMTP id h28mr9711543pgn.200.1584747390184; Fri, 20 Mar 2020 16:36:30 -0700 (PDT) Received: from [192.168.2.183] (64-52-176-132.championbroadband.com. [64.52.176.132]) by smtp.gmail.com with ESMTPSA id c16sm6694562pfn.86.2020.03.20.16.36.29 for <21076@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Mar 2020 16:36:29 -0700 (PDT) To: 21076@debbugs.gnu.org From: Matt Wette Subject: dynamic-link Message-ID: Date: Fri, 20 Mar 2020 16:36:28 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21076 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I have encountered this issue with dynamic-link. I propose a small patch to Guile (works on v3.0.1) to address it. At least this allows me to load the file if I know the exact name. This patch fixes issue with libtool and OSes which use non-standard extensions for shared libraries.  The libltdl function lt_dlopenext expects the argument to have a standard extension or no extention.  Arguments reflecting shared object files with non-standard extensions will fail to load.  For example, my system has /usr/lib64/libyaml-0.so.2.  w/o this patch (dynamic-link "libyaml-0.so.2") does not work; with it, it does.  Go figure. --- libguile/dynl.c-orig    2020-03-20 05:56:42.101214929 -0700 +++ libguile/dynl.c    2020-03-20 05:57:40.432893330 -0700 @@ -69,7 +69,10 @@      handle = lt_dlopen (NULL);    else      { -      handle = lt_dlopenext (fname); +      handle = lt_dlopen (fname); + +      if (handle == NULL) +         handle = lt_dlopenext (fname);        if (handle == NULL  #ifdef LT_DIRSEP_CHAR From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 21 19:26:54 2020 Received: (at 21076-done) by debbugs.gnu.org; 21 Mar 2020 23:26:54 +0000 Received: from localhost ([127.0.0.1]:48446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jFnW2-0006Nk-9G for submit@debbugs.gnu.org; Sat, 21 Mar 2020 19:26:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50213) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jFnW1-0006NY-AD for 21076-done@debbugs.gnu.org; Sat, 21 Mar 2020 19:26:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52492) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jFnVw-0005yE-4G; Sat, 21 Mar 2020 19:26:48 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=56556 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jFnVv-0007Sb-26; Sat, 21 Mar 2020 19:26:47 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Isaac Jurado Subject: Re: bug#21076: dynamic-link often fails to load libraries References: <2096431437065554@web11m.yandex.ru> Date: Sun, 22 Mar 2020 00:26:44 +0100 In-Reply-To: (Isaac Jurado's message of "Sat, 8 Jun 2019 14:37:23 +0200") Message-ID: <87lfntuw5n.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21076-done Cc: 21076-done@debbugs.gnu.org, Matt Wette X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Isaac, Isaac Jurado skribis: > From b337d412b3c10cabe355df07d2295c4d0a560b10 Mon Sep 17 00:00:00 2001 > From: Isaac Jurado > Date: Sat, 8 Jun 2019 14:00:29 +0200 > Subject: [PATCH] Interpret dynamic library name as literal path first. > > Fixes . > > * libguile/dynl.c (sysdep_dyn_link): Try plain lt_dlopen first, to > interpret fname as a literal path. > * doc/ref/api-foreign.texi: Update explanation to describe the new > behavior. It=E2=80=99s taken a while (!), but thanks to Matt Wette=E2=80=99s ping, it= =E2=80=99s now applied on =E2=80=98master=E2=80=99 and will make it into 3.0.2. I slightly modified the documentation wording as shown in the patch below (the GNU convention is to use =E2=80=9Cfile name=E2=80=9D for file na= mes and =E2=80=9Cpath=E2=80=9D for search paths). Like you wrote, it=E2=80=99s hard to test, but I think it=E2=80=99s OK to l= eave it as is. Thanks! Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/doc/ref/api-foreign.texi b/doc/ref/api-foreign.texi index 94fabf23c..b0d6c249b 100644 --- a/doc/ref/api-foreign.texi +++ b/doc/ref/api-foreign.texi @@ -75,14 +75,14 @@ Scheme object suitable for representing the linked object file. Otherwise an error is thrown. How object files are searched is system dependent. -Guile first tries to load @var{library} as a full path to a shared -library file. If that fails, then it falls back to interpret +Guile first tries to load @var{library} as the absolute file name of a shared +library. If that fails, it then falls back to interpret @var{library} as just the name of some shared library that will be searched for in the places where shared libraries usually reside, such as @file{/usr/lib} and @file{/usr/local/lib}. @var{library} should not contain an extension such as @code{.so}, unless -@var{library} represents the full path to the shared library file. The +@var{library} represents the absolute file name to the shared library. The correct file name extension for the host operating system is provided automatically, according to libltdl's rules (@pxref{Libltdl interface, lt_dlopenext, @code{lt_dlopenext}, libtool, Shared Library Support for --=-=-=-- From unknown Sun Jun 22 11:32:55 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 19 Apr 2020 11:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator