<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:27:16 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 add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-3323] Latest Nodejs LTS (v16) breaks &apos;yarn install&apos; in platform-complete</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3323</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Nodejs v16 became the &quot;active&quot; LTS of Nodejs today (previously it was v14) and resulting in sharp and node-gyp build errors when running &apos;yarn install&apos; in platform-complete.   &lt;/p&gt;</description>
                <environment></environment>
        <key id="82159">FOLIO-3323</key>
            <summary>Latest Nodejs LTS (v16) breaks &apos;yarn install&apos; in platform-complete</summary>
                <type id="10001" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium">Bug</type>
                                            <priority id="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/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="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="5f9abc1eb45b2e007453f423">John Malconian</assignee>
                                                                <reporter accountid="5f9abc1eb45b2e007453f423">John Malconian</reporter>
                                    <labels>
                    </labels>
                <created>Tue, 26 Oct 2021 19:14:49 +0000</created>
                <updated>Tue, 30 Nov 2021 22:29:17 +0000</updated>
                            <resolved>Mon, 1 Nov 2021 18:39:51 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                <comments>
                                                            <comment id="196777" author="5f9abc1eb45b2e007453f423" created="Tue, 26 Oct 2021 19:16:05 +0000"  >&lt;p&gt;Error looks something like: &lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&quot;error /etc/folio/stripes/node_modules/sharp: Command failed.&quot;, &quot;Exit code: 1&quot;, &quot;Command: (node install/libvips &amp;amp;&amp;amp; node install/dll-copy &amp;amp;&amp;amp; prebuild-install) || (node-gyp rebuild &amp;amp;&amp;amp; node install/dll-copy)&quot;, &quot;Arguments: &quot;, &quot;Directory: /etc/folio/stripes/node_modules/sharp&quot;, &quot;Output:&quot;, &quot;info sharp Using cached /root/.npm/_libvips/libvips-8.8.1-linux-x64.tar.gz&quot;, &quot;prebuild-install WARN install No prebuilt binaries found (target=16.13.0 runtime=node arch=x64 libc= platform=linux)&quot;, &quot;gyp info it worked if it ends with ok&quot;, &quot;gyp info using node-gyp@8.2.0&quot;, &quot;gyp info using node@16.13.0 | linux | x64&quot;, &quot;gyp info find Python using Python version 3.8.10 found at \&quot;/usr/bin/python3\&quot;&quot;, &quot;gyp info spawn /usr/bin/python3&quot;, &quot;gyp info spawn args [&quot;, &quot;gyp info spawn args   &apos;/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py&apos;,&quot;, &quot;gyp info spawn args   &apos;binding.gyp&apos;,&quot;, &quot;gyp info spawn args   &apos;-f&apos;,&quot;, &quot;gyp info spawn args   &apos;make&apos;,&quot;, &quot;gyp info spawn args   &apos;-I&apos;,&quot;, &quot;gyp info spawn args   &apos;/etc/folio/stripes/node_modules/sharp/build/config.gypi&apos;,&quot;, &quot;gyp info spawn args   &apos;-I&apos;,&quot;, &quot;gyp info spawn args   &apos;/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi&apos;,&quot;, &quot;gyp info spawn args   &apos;-I&apos;,&quot;, &quot;gyp info spawn args   &apos;/root/.cache/node-gyp/16.13.0/include/node/common.gypi&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dlibrary=shared_library&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dvisibility=default&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dnode_root_dir=/root/.cache/node-gyp/16.13.0&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dnode_lib_file=/root/.cache/node-gyp/16.13.0/&amp;lt;(target_arch)/node.lib&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dmodule_root_dir=/etc/folio/stripes/node_modules/sharp&apos;,&quot;, &quot;gyp info spawn args   &apos;-Dnode_engine=v8&apos;,&quot;, &quot;gyp info spawn args   &apos;--depth=.&apos;,&quot;, &quot;gyp info spawn args   &apos;--no-parallel&apos;,&quot;, &quot;gyp info spawn args   &apos;--generator-output&apos;,&quot;, &quot;gyp info spawn args   &apos;build&apos;,&quot;, &quot;gyp info spawn args   &apos;-Goutput_dir=.&apos;&quot;, &quot;gyp info spawn args ]&quot;, &quot;gyp info spawn make&quot;, &quot;gyp info spawn args [ &apos;BUILDTYPE=Release&apos;, &apos;-C&apos;, &apos;build&apos; ]&quot;, &quot;&amp;lt;command-line&amp;gt;: warning: \&quot;_GLIBCXX_USE_CXX11_ABI\&quot; redefined&quot;, &quot;&amp;lt;command-line&amp;gt;: note: this is the location of the previous definition&quot;, &quot;In file included from /root/.cache/node-gyp/16.13.0/include/node/v8.h:30,&quot;, &quot;                 from /root/.cache/node-gyp/16.13.0/include/node/node.h:63,&quot;, &quot;                 from ../src/common.cc:22:&quot;, &quot;/root/.cache/node-gyp/16.13.0/include/node/v8-internal.h: In function &#8216;void v8::internal::PerformCastCheck(T*)&#8217;:&quot;, &quot;/root/.cache/node-gyp/16.13.0/include/node/v8-internal.h:492:38: error: &#8216;remove_cv_t&#8217; is not a member of &#8216;std&#8217;; did you mean &#8216;remove_cv&#8217;?&quot;, &quot;  492 |             !std::is_same&amp;lt;Data, std::remove_cv_t&amp;lt;T&amp;gt;&amp;gt;::value&amp;gt;::Perform(data);&quot;, &quot;      |                                      ^~~~~~~~~~~&quot;, &quot;      |                                      remove_cv&quot;, &quot;/root/.cache/node-gyp/16.13.0/include/node/v8-internal.h:492:38: error: &#8216;remove_cv_t&#8217; is not a member of &#8216;std&#8217;; did you mean &#8216;remove_cv&#8217;?&quot;, &quot;  492 |             !std::is_same&amp;lt;Data, std::remove_cv_t&amp;lt;T&amp;gt;&amp;gt;::value&amp;gt;::Perform(data);&quot;, &quot;      |                                      ^~~~~~~~~~~&quot;, &quot;      |                                      remove_cv&quot;, &quot;/root/.cache/node-gyp/16.13.0/include/node/v8-internal.h:492:50: error: template argument 2 is invalid&quot;, &quot;  492 |             !std::is_same&amp;lt;Data, std::remove_cv_t&amp;lt;T&amp;gt;&amp;gt;::value&amp;gt;::Perform(data);&quot;, &quot;      |                                                  ^&quot;, &quot;/root/.cache/node-gyp/16.13.0/include/node/v8-internal.h:492:63: error: &#8216;::Perform&#8217; has not been declared&quot;, &quot;  492 |             !std::is_same&amp;lt;Data, std::remove_cv_t&amp;lt;T&amp;gt;&amp;gt;::value&amp;gt;::Perform(data);&quot;, &quot;      |                                                               ^~~~~~~&quot;, &quot;make: Entering directory &apos;/etc/folio/stripes/node_modules/sharp/build&apos;&quot;, &quot;  TOUCH Release/obj.target/libvips-cpp.stamp&quot;, &quot;  CXX(target) Release/obj.target/sharp/src/common.o&quot;, &quot;make: *** [sharp.target.mk:139: Release/obj.target/sharp/src/common.o] Error 1&quot;, &quot;make: Leaving directory &apos;/etc/folio/stripes/node_modules/sharp/build&apos;&quot;, &quot;gyp ERR! build error &quot;, &quot;gyp ERR! stack Error: `make` failed with exit code: 2&quot;, &quot;gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)&quot;, &quot;gyp ERR! stack     at ChildProcess.emit (node:events:390:28)&quot;, &quot;gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)&quot;, &quot;gyp ERR! System Linux 5.11.0-1020-aws&quot;, &quot;gyp ERR! command \&quot;/usr/local/bin/node\&quot; \&quot;/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\&quot; \&quot;rebuild\&quot;&quot;, &quot;gyp ERR! cwd /etc/folio/stripes/node_modules/sharp&quot;, &quot;gyp ERR! node -v v16.13.0&quot;, &quot;gyp ERR! node-gyp -v v8.2.0&quot;, &quot;gyp ERR! not ok&quot;]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                                                            <comment id="196780" author="5f9abc1eb45b2e007453f423" created="Tue, 26 Oct 2021 19:24:43 +0000"  >&lt;p&gt;the &apos;stripes-build&apos; folio-ansible role uses the &apos;n&apos; npm dependency to set nodejs to the active lts version.  e.g &apos;n lts&apos;.  I&apos;ve changed this explicitly use v14 instead.   This resolves the issue when using folio-ansible to build stripes.    Jenkins CI and Github Actions currently use Nodejs v12.     I feel like this is only part of the solution,  however.   Some members of the FOLIO community will no doubt be using v16 when attempting to build stripes from platform-complete and will likely run into the same problem.   &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=615afd1cd9820f0070a09ef0&quot; class=&quot;user-hover&quot; rel=&quot;615afd1cd9820f0070a09ef0&quot; data-account-id=&quot;615afd1cd9820f0070a09ef0&quot; accountid=&quot;615afd1cd9820f0070a09ef0&quot; rel=&quot;noreferrer&quot;&gt;Zak Burke&lt;/a&gt; mentioned that setting  the environment variable CXXFLAGS=&quot;-std=c++17&quot; resolves the issue on OS X.    This probably warrants verification on linux platforms and maybe should be noted in the platform-complete documentation.   &lt;/p&gt;</comment>
                                                            <comment id="196783" author="615afd1cd9820f0070a09ef0" created="Tue, 26 Oct 2021 19:58:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5d1cd1e35e43080ce8bf881f&quot; class=&quot;user-hover&quot; rel=&quot;5d1cd1e35e43080ce8bf881f&quot; data-account-id=&quot;5d1cd1e35e43080ce8bf881f&quot; accountid=&quot;5d1cd1e35e43080ce8bf881f&quot; rel=&quot;noreferrer&quot;&gt;Jason Skomorowski&lt;/a&gt; had the same problem on Linux and found the same fix, exporting CXXFLAGS, works there too. Also, I did not figure this out myself; I found &lt;a href=&quot;https://stackoverflow.com/questions/67241196/error-no-template-named-remove-cv-t-in-namespace-std-did-you-mean-remove&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;a related post on stackoverflow&lt;/a&gt;.&lt;/p&gt;</comment>
                                                            <comment id="196786" author="6291011f9c617b006a6f8d98" created="Thu, 28 Oct 2021 20:10:30 +0000"  >&lt;p&gt;I&apos;m hitting this problem as well, with building Stripes for Juniper HF3. Any good suggestions on pinning the version in the Dockerfile?&lt;/p&gt;</comment>
                                                            <comment id="196788" author="6291011f9c617b006a6f8d98" created="Thu, 28 Oct 2021 21:21:09 +0000"  >&lt;p&gt;&lt;font color=&quot;#1d1c1d&quot;&gt;To get around this, I am pinning the version of&#160;&lt;/font&gt;&lt;tt&gt;n&lt;/tt&gt;&lt;font color=&quot;#1d1c1d&quot;&gt;&#160;to 14 in our Stripes Dockerfile&lt;/font&gt;.&lt;/p&gt;</comment>
                                                            <comment id="196793" author="5f9abc1eb45b2e007453f423" created="Mon, 1 Nov 2021 18:39:40 +0000"  >&lt;p&gt;For clarification and posterity,  it appears that the npm dependency sharp-libvips 8.8.1 (released in 2019) is not compatible with Nodejs v16.   Subsequent releases of this dependency probably are compatible.    I&apos;ve updated the READMEs on the master and R2-2021 releases branches of platform-complete with the CXXFLAGS=&quot;-std=c++17&quot; workaround.   Closing.  &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="35148">MODGQL-142</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="82161">FOLIO-3324</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03l1b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="283">DevOps Sprint 126</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 26 Oct 2021 19:58:16 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>