URL: <https://savannah.gnu.org/support/?111191>
Summary: libtool mistakes a directory as an executable Group: GNU Libtool Submitter: tyan0 Submitted: Wed 19 Feb 2025 11:37:27 PM UTC Category: None Priority: 5 - Normal Severity: 3 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Operating System: Microsoft Windows _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 19 Feb 2025 11:37:27 PM UTC By: Takashi Yano <tyan0> In cygwin mailing list, the maintainer of gdbm package reported test suite failure in that package. https://cygwin.com/pipermail/cygwin/2025-February/257349.html I looked into this issue, and found the root cause is in libtool. https://cygwin.com/pipermail/cygwin/2025-February/257416.html A simple test case (reproducer.sh) is attached. The expected output of the test case is: Hello 1 Hello 2 However, with cygwin libtool, the output is: Hello 1 127 This is caused because find_executable() returns the directory whose name is the same as the target executable if it appears earlier in the environment PATH. This issue arises from a bug in check_executable() that returns 1 for the directory. The patch (check-executable.patch) to fix this issue is attached. I confirmed that both the test case attached, and gdbm test suite work as expected with this patch. This issue does not occur in Linux because these functions are not used for some reason. I'm not sure what is the difference in cygwin and Linux. Thanks in advance. _______________________________________________________ File Attachments: ------------------------------------------------------- Name: reproducer.sh Size: 399B <https://file.savannah.gnu.org/file/reproducer.sh?file_id=56928> ------------------------------------------------------- Name: check-executable.patch Size: 429B <https://file.savannah.gnu.org/file/check-executable.patch?file_id=56929> AGPL NOTICE These attachments are served by Savane. You can download the corresponding source code of Savane at https://savannah.gnu.org/source/savane-513955078e56c124c506c834d031bbe09cbf4040.tar.gz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/support/?111191> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature