<p dir="auto"><em>Original ticket <a href="http://projects.scipy.org/scipy/ticket/707" rel="nofollow">http://projects.scipy.org/scipy/ticket/707</a> on 2008-07-23 by trac user rjansen, assigned to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wnbell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wnbell">@wnbell</a>.</em></p>
<p dir="auto">Hi,</p>
<p dir="auto">I'm trying to compile scipy on Solaris 10:</p>
<p dir="auto">After, what seems to be a succesfull LAPACK and ATLAS build with the GNU compiler 4.0.2 (switched to sunfreeware python,w hich is build with GNU compilers<br>
and installing NumPy with same compiler, I'm bumped into the following error below when trying to compile SciPy.</p>
<p dir="auto">This same error shows also when using the Sun Studio 12 compiler chain. (everything rebuild with Sun compilers, due to the python used from the blastwave.org packages)</p>
<p dir="auto">The SciPy build stage seems to switch/default to Sun Studio compiler again</p>
<p dir="auto">scipy/optimize/minpack2/dcstep.f:<br>
dcstep:<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2602: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2603: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2604: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2605: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2606: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2607: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2608: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2609: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2610: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2611: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2612: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2614: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: multiplies is not a member of std.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int_, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector<em>)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: Unexpected type name "T" encountered.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int</em>, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector<em>)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: Operand expected instead of ")".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int</em>, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector<em>)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
3 Error(s) and 12 Warning(s) detected.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2602: Warning: String literal converted to char</em> in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2603: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2604: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2605: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2606: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2607: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2608: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2609: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2610: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2611: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2612: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 2614: Warning: String literal converted to char* in initialization.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: multiplies is not a member of std.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int_, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector<em>)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: Unexpected type name "T" encountered.<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int</em>, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector<em>)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
"scipy/sparse/sparsetools/sparsetools.h", line 409: Error: Operand expected instead of ")".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: While instantiating "csr_elmul_csr&lt;int, int&gt;(const int, const int, const int</em>, const int_, const int_, const int_, const int_, const int_, std::vector<em>, std::vector</em>, std::vector*)".<br>
"scipy/sparse/sparsetools/sparsetools_wrap.cxx", line 15087:     Where: Instantiated from non-template code.<br>
3 Error(s) and 12 Warning(s) detected.<br>
error: Setup script exited with error: Command "CC -DNDEBUG -xO3 -xtarget=ultra -xarch=v8 -Iscipy/sparse/sparsetools -I/opt/csw/lib/python/site-packages/numpy-1.1.0-py2.5-solaris-2.10-sun4u.egg/numpy/core/include -I/opt/csw/include/python2.5 -c scipy/sparse/sparsetools/sparsetools_wrap.cxx -o build/temp.solaris-2.10-sun4u-2.5/scipy/sparse/sparsetools/sparsetools_wrap.o" failed with exit status 3</p>
<p dir="auto">Any ideas or hints ? Or a real good cookbook to building Scipy with the Sun Studio compilers.</p>
<p dir="auto">TIA</p>
<p dir="auto">Regards</p>
<p dir="auto">Hi all,</p>
<p dir="auto">This issue is meant to be read by people interested in a SciPy (package) sprint.</p>
<p dir="auto">First things first: SciPy is a library covering very diverse topics, so <strong>do something you're interested in</strong> (say you're into signal processing, then ask one of the core developers or experienced users about what could make sense to tackle in <code class="notranslate">scipy.signal</code>).</p>
<p dir="auto">Before you begin, please review the <a href="http://scipy.github.io/devdocs/#developer-documentation" rel="nofollow">developer documentation</a>. <a href="http://scipy.github.io/devdocs/hacking.html" rel="nofollow">Ways to Contribute</a> gives a good overview of how you can improve SciPy, and the <a href="http://scipy.github.io/devdocs/dev/contributor/contributor_toc.html" rel="nofollow">SciPy Contributor Guide</a> contains all the information you need to get started.</p>
<p dir="auto">Here I'll list some ideas for things to do that are relatively easy to do, so suitable also for anyone who is new to contributing to an open source library.</p>
<h3 dir="auto">Documentation</h3>
<p dir="auto">Documentation is often nice to get started with, if you want to focus on the process of contributing and don't want to worry too much about e.g. setting up for local development on your laptop. A valuable thing to do is to add nice examples to docstrings for functions that don't yet have an example; see <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="213959876" data-permission-text="Title is private" data-url="https://github.com/scipy/scipy/issues/7168" data-hovercard-type="issue" data-hovercard-url="/scipy/scipy/issues/7168/hovercard" href="https://github.com/scipy/scipy/issues/7168">gh-7168</a> for an overview. Another option is to add tutorials (e.g. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="460707562" data-permission-text="Title is private" data-url="https://github.com/scipy/scipy/issues/10358" data-hovercard-type="issue" data-hovercard-url="/scipy/scipy/issues/10358/hovercard" href="https://github.com/scipy/scipy/issues/10358">gh-10358</a>).</p>
<h3 dir="auto">Finishing up open pull requests</h3>
<p dir="auto">If you're comfortable with Git and want to make an impact by helping to reduce our backlog of open PRs, that would be awesome! <a href="https://github.com/scipy/scipy/issues?utf8=%E2%9C%93&amp;q=is%3Aopen+label%3Aneeds-work+updated%3A%3C%3D2019-01-01+">Here </a> is a list of PRs that appear to be stalled. <em>Please comment in the PR to avoid duplicate efforts.</em></p>
<p dir="auto">When you take over an open PR, this is what you will likely want to do:</p>
<ol dir="auto">
<li>Check out the branch from which the PR was sent (requires adding the repo of the user who sent the PR as a <code class="notranslate">remote</code> first; see the latter half of <a href="http://scipy.github.io/devdocs/dev/contributor/reviewing_prs.html#reviewing-prs" rel="nofollow">this</a> for commands).</li>
<li>Rebase on the current <code class="notranslate">master</code> branch (see <a href="http://scipy.github.io/devdocs/dev/gitwash/useful_git.html#rebasing-on-master" rel="nofollow">here</a> for commands).</li>
<li>Finish up remaining work, addressing open comments, etc.</li>
<li>Create a new PR from your branch, linking to the old one (i.e. In a comment, write <code class="notranslate">supersedes and closes gh-xxxx</code>).</li>
</ol>
<p dir="auto">If you choose to revise the commit history, please preserve original authorship of the code you started from.</p>
<h3 dir="auto">Tackling new issues</h3>
<p dir="auto">There is a "good first issue" label, for issues that can be suitable to get started with if you're new to SciPy development. Click <a href="https://github.com/scipy/scipy/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22">here</a> for a list. <em>Please comment in the issue to avoid duplicate efforts.</em></p>
<h3 dir="auto">Your own idea</h3>
<p dir="auto">If it's an <em>existing issue</em>, or performance improvement, or another way of improving something that already is present in SciPy - go for it!</p>
<p dir="auto">If you are thinking of adding a <em>new feature</em>, please discuss it with a core developer first (at least some sanity checking to ensure that it's something that SciPy would in principle like to include).</p>
<h3 dir="auto">For domain experts</h3>
<p dir="auto">If you have expertise in a particular domain (e.g. statistics, numerical optimization, signal processing, ...) then you can make very valuable contributions by reviewing open pull requests in that domain. <em>You do not have to be familiar with SciPy development to review PRs</em>. If you can say "I understand this algorithm and it looks like the implementation is correct" or "I've tested this on my data and it works as expected", that's super helpful.</p>
<h3 dir="auto">Discussion channels</h3>
<p dir="auto">(event specific options go here)</p>
<ul dir="auto">
<li>GitHub works too.</li>
<li>the mailing list is the place to propose new features; there's probably a bit slower turnaround, but it could be the appropriate channel.</li>
</ul>