<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:07:53 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[MONGOCRYPT-70] libmongocrypt: Build static link of libbson by default</title>
                <link>https://jira.mongodb.org/browse/MONGOCRYPT-70</link>
                <project id="17481" key="MONGOCRYPT">Libmongocrypt</project>
                    <description>&lt;p&gt;In &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-110&quot; title=&quot;libmongocrypt: add cmake package configuration&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-110&quot;&gt;&lt;del&gt;CDRIVER-2973&lt;/del&gt;&lt;/a&gt;, the linkage of libmongocrypt to libbson was changed from static to dynamic in order to prevent problems with symbol clashes when a libmongocrypt consumer also links directly to libbson.  However, there are instances where the static linkage is preferable.  Specifically the libmongocrypt Java implementation, which loads a .so/.dll via JNA, is drastically simplified by only requiring the loading of a single library file.  The dynamic linkage situation forces users of the Java bindings to either install libbson in a system-wide location or to set the LD_LIBRARY_PATH environment variable to the location of libbson in order to enable the dynamic linker to satisfy the dependencies.&lt;/p&gt;

&lt;p&gt;The desired approach is instead to make a static linkage of libbson the default (most consumers of this library will never have a need to link directly to libbson) and to allow dynamic linkage based on a build flag for those consumers which require it (i.e., the C driver, which links directly to both libmongocrypt and libbson).&lt;/p&gt;

&lt;p&gt;The artifacts published by this ticket&apos;s parent (&lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-81&quot; title=&quot;Publish libmongocrypt .so/.dll artifacts in known locations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-81&quot;&gt;&lt;del&gt;CDRIVER-3133&lt;/del&gt;&lt;/a&gt;) will be the static-linked version.&lt;/p&gt;</description>
                <environment></environment>
        <key id="772975">MONGOCRYPT-70</key>
            <summary>libmongocrypt: Build static link of libbson by default</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="roberto.sanchez@mongodb.com">Roberto Sanchez</assignee>
                                    <reporter username="roberto.sanchez@mongodb.com">Roberto Sanchez</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2019 15:34:42 +0000</created>
                <updated>Sat, 28 Oct 2023 10:26:03 +0000</updated>
                            <resolved>Fri, 24 May 2019 16:42:05 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2259445" author="xgen-internal-githook" created="Fri, 24 May 2019 16:41:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Roberto C. S&#225;nchez&apos;, &apos;email&apos;: &apos;roberto@connexer.com&apos;, &apos;username&apos;: &apos;rcsanchez97&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-70&quot; title=&quot;libmongocrypt: Build static link of libbson by default&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-70&quot;&gt;&lt;del&gt;CDRIVER-3140&lt;/del&gt;&lt;/a&gt; statically link to libbson by default&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/libmongocrypt/commit/2d5c4951f227ab7e9718da6140806a02e7f28ac7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/libmongocrypt/commit/2d5c4951f227ab7e9718da6140806a02e7f28ac7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2254390" author="roberto.sanchez" created="Tue, 21 May 2019 16:40:47 +0000"  >&lt;p&gt;Is it expected that users of the Java bindings will have other mongo-c libraries installed on their systems?  Based on our discussion in the stand up today I thought that the Java bindings ought to be self-contained.  Even if other libraries are shipped within the same JAR, what you are suggesting would require that the JAR be unpacked somewhere on the system in order for the dynamic linker to find the libraries.  I do not think that would be considered desirable.&lt;/p&gt;</comment>
                            <comment id="2254341" author="acm" created="Tue, 21 May 2019 16:17:38 +0000"  >&lt;p&gt;Wouldn&apos;t this be fixed if libmongocrypt simply had a DT_RUNPATH entry pointing to where the other mongo-c libraries are installed? Potentially using $ORIGIN if you intend that location to be relocatable?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="763640">MONGOCRYPT-51</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CDRIVER-2915</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htw42f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>