<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:01:23 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>[CXX-1097] Compiling driver on rhel 7 with Oracle Solaris studio 12.5</title>
                <link>https://jira.mongodb.org/browse/CXX-1097</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;I was wondering if you ever attempted to compile your C+&lt;ins&gt;11 driver with Oracle Solaris studio v12.5 on RedHat 7. I had no problems building libbson and the C driver, but for some reason the compiler choked on the C&lt;/ins&gt;+ driver. &lt;/p&gt;</description>
                <environment>Linux Redhat 7</environment>
        <key id="325628">CXX-1097</key>
            <summary>Compiling driver on rhel 7 with Oracle Solaris studio 12.5</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="5" iconUrl="https://jira.mongodb.org/images/icons/priorities/trivial.svg">Trivial - P5</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="nistar">Alex Vilensky</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Oct 2016 16:24:02 +0000</created>
                <updated>Wed, 11 Sep 2019 19:06:30 +0000</updated>
                            <resolved>Thu, 20 Oct 2016 20:13:01 +0000</resolved>
                                    <version>3.0.2</version>
                                                    <component>Build</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1414135" author="acm" created="Thu, 20 Oct 2016 20:13:01 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=nistar&quot; class=&quot;user-hover&quot; rel=&quot;nistar&quot;&gt;nistar&lt;/a&gt; - OK, I&apos;m going to close this issue. Hopefully Oracle will bring their toolchain up to spec!&lt;/p&gt;</comment>
                            <comment id="1414010" author="nistar" created="Thu, 20 Oct 2016 18:47:42 +0000"  >&lt;p&gt;Just opened a ticket with Oracle. Thank you for your help.&lt;/p&gt;</comment>
                            <comment id="1413997" author="acm" created="Thu, 20 Oct 2016 18:43:26 +0000"  >&lt;p&gt;I&apos;d report it to your vendor then. Since we don&apos;t have access to this compiler it is unlikely that we will be able to help find a workaround.&lt;/p&gt;</comment>
                            <comment id="1413983" author="nistar" created="Thu, 20 Oct 2016 18:33:39 +0000"  >&lt;p&gt; CC -std=c++11 -g -o static_assert static_assert.cpp&lt;br/&gt;
&quot;static_assert.cpp&quot;, line 9: Error: Static assertion failed: YYY.&lt;br/&gt;
1 Error(s) detected.&lt;/p&gt;

&lt;p&gt;It seems to me the compiler is not standards compliant. &lt;/p&gt;</comment>
                            <comment id="1413914" author="acm" created="Thu, 20 Oct 2016 17:31:55 +0000"  >&lt;p&gt;Tracing this through, it appears that the static assertion on line 38 of value.cpp is firing for the b_double type:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        static_assert(std::is_nothrow_destructible&amp;lt;b_##name&amp;gt;::value, &quot;Destruction may throw&quot;); \&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;This is pretty strange, as b_double::value is a typedef for double.&lt;/p&gt;

&lt;p&gt;What happens if you compile the following program with your compiler:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;#include &amp;lt;type_traits&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;static_assert(std::is_nothrow_destructible&amp;lt;double&amp;gt;::value, &quot;XXX&quot;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;struct struct_with_double {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    double x;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;};&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;static_assert(std::is_nothrow_destructible&amp;lt;struct_with_double&amp;gt;::value, &quot;YYY&quot;);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Does that compile for you?&lt;/p&gt;</comment>
                            <comment id="1413897" author="nistar" created="Thu, 20 Oct 2016 17:18:36 +0000"  >&lt;p&gt;[  3%] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx.dir/types/value.cpp.o&lt;br/&gt;
cd /home/alex.vilensky/tools/mongo-cxx-driver/build/src/bsoncxx &amp;amp;&amp;amp; /home/alex.vilensky/tools/OracleDeveloperStudio12.5-linux-x86-bin/developerstudio12.5/bin/CC   -DBSONCXX_EXPORT -DMONGO_CXX_DRIVER_COMPILING -I/home/alex.vilensky/tools/libmongoc/include/libbson-1.0 -I/home/alex.vilensky/tools/mongo-cxx-driver/src -I/home/alex.vilensky/tools/mongo-cxx-driver/build/src -I/home/alex.vilensky/tools/mongo-cxx-driver/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core/include  -xO3 -DNDEBUG -KPIC   -std=c++11 -o CMakeFiles/bsoncxx.dir/types/value.cpp.o -c /home/alex.vilensky/tools/mongo-cxx-driver/src/bsoncxx/types/value.cpp&lt;br/&gt;
&quot;/home/alex.vilensky/tools/mongo-cxx-driver/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core/include/core/optional.hpp&quot;, line 632: Warning: attribute gnu::deprecated is unsupported and will be skipped.&lt;br/&gt;
&quot;/home/alex.vilensky/tools/mongo-cxx-driver/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core/include/core/optional.hpp&quot;, line 997: Warning: attribute gnu::deprecated is unsupported and will be skipped.&lt;br/&gt;
&quot;/home/alex.vilensky/tools/mongo-cxx-driver/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core/include/core/optional.hpp&quot;, line 963: Warning: ptr hides core::v1::expected&amp;lt;void&amp;gt;::ptr.&lt;br/&gt;
&quot;/home/alex.vilensky/tools/mongo-cxx-driver/src/bsoncxx/enums/type.hpp&quot;, line 19: Error: Static assertion failed: Destruction may throw.&lt;/p&gt;</comment>
                            <comment id="1413892" author="acm" created="Thu, 20 Oct 2016 17:15:11 +0000"  >&lt;p&gt;Those first issues are with libbson, so I recommend that you open a ticket in the CDRIVER project.&lt;/p&gt;

&lt;p&gt;For the second issue, I&apos;ll need more. Does it give you an include stack or some other context? We need to know which expansion of the BSONCXX_ENUM is causing this (it is an X macros style mechanism). What .cpp file was being compiled?&lt;/p&gt;</comment>
                            <comment id="1413885" author="nistar" created="Thu, 20 Oct 2016 17:11:53 +0000"  >&lt;p&gt;Hi Andrew, the first error I got was caused by a missing #define in bson-atomic.h on line 97. I had to change &lt;br/&gt;
#elif defined(__SUNPRO_C)&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;include &amp;lt;mbarrier.h&amp;gt;&lt;/li&gt;
	&lt;li&gt;define bson_memory_barrier() __machine_rw_barrier()&lt;br/&gt;
to &lt;br/&gt;
#elif defined(_&lt;em&gt;SUNPRO_C) || defined(&lt;/em&gt;_SUNPRO_CC)&lt;/li&gt;
	&lt;li&gt;include &amp;lt;mbarrier.h&amp;gt;&lt;/li&gt;
	&lt;li&gt;define bson_memory_barrier() __machine_rw_barrier()&lt;br/&gt;
to make sure the code gets picked up by the C++ compiler.  &lt;br/&gt;
Now i&apos;m getting the following error:&lt;br/&gt;
&quot;/home/alex.vilensky/tools/mongo-cxx-driver/src/bsoncxx/enums/type.hpp&quot;, line 19: Error: Static assertion failed: Destruction may throw.&lt;/li&gt;
&lt;/ol&gt;



</comment>
                            <comment id="1413872" author="acm" created="Thu, 20 Oct 2016 16:55:07 +0000"  >&lt;p&gt;Can you provide the error it emitted? As far as I know, we have never tried to use that compiler.&lt;/p&gt;</comment>
                    </comments>
                    <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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsr1s7:</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>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1347">Platforms 2016-10-31</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>