[asterisk-bugs] [JIRA] (ASTERISK-27745) [patch] BuildSystem: Remove unused dependency on libltdl.

Asterisk Team (JIRA) noreply at issues.asterisk.org
Wed Aug 8 10:10:56 CDT 2018


     [ https://issues.asterisk.org/jira/browse/ASTERISK-27745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Asterisk Team updated ASTERISK-27745:
-------------------------------------

    Target Release Version/s: 16.0.0

> [patch] BuildSystem: Remove unused dependency on libltdl.
> ---------------------------------------------------------
>
>                 Key: ASTERISK-27745
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27745
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/BuildSystem
>    Affects Versions: 13.20.0, 15.3.0
>            Reporter: Alexander Traud
>            Assignee: Alexander Traud
>            Severity: Minor
>              Labels: patch
>      Target Release: 13.21.0, 15.4.0, 16.0.0
>
>         Attachments: remove_unused_libltdl.patch
>
>
> With Mantis 9989 (now ASTERISK-9690, commit [4365827|http://github.com/asterisk/asterisk/commit/43658278ff46c04fc6a0d8f88e01bb550220527f]) an issue related to Red Hat was addressed in the script {{./configure}}: In contrast to Debian/Ubuntu, Red Hat did not install the development package of libltdl when unixODBC is installed. Ten years later, with Red Hat Fedora 27, the situation is the same. Finally, this is not limited to Red Hat based distributions only.
> The development package of libltdl was required because {{./configure}} stated:{code}AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h], [-lltdl]){code}Because of the extra library -lltdl, the GNU Autotools searched for the file {{libltdl.so}} which is installed only with its development package. When that file is missing, {{./configure}} fails to link its small testing app.
> However, that extra library is not required at all. The library -lodbc declares all its required dependencies (to other runtime libraries) itself. That is why the current statement works: {code}AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h], []){code}Back then, instead of simply removing that extra library, an additional AST_EXT_LIB_CHECK was added. Furthermore, instead of redirecting the user to the automatically created file {{config.out}}, libltdl was added as dependency within Menuselect. That way, the user shall see which/that this package is required. However, Asterisk does neither include the header [ltdl.h|https://www.gnu.org/software/libtool/manual/html_node/Libltdl-interface.html] nor uses any lt_dl* symbol. This development package is not required.
> Consequently, the attached patch removes the dependency on this (development) library within Asterisk. This was verified by creating a small app in Fedora 27, with ltdl and unixODBC-devel installed but without libtool-ltdl-devel installed:{code}cc ./hello.c -lodbc
> ldd ./a.out{code}The app declares a dependency on the runtime library libtldl.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list