<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Aurelien,<div><br></div><div>Speaking of prefixes, there are generally some rules (please, let the rest correct me if I am wrong):</div><div><br></div><div>a) if the software you are packaging has no reason to exist in multiple versions on the system, put it into /usr (for example vim/nano)</div><div>b) if there are reasons to use multiple version, then place it under /usr/<software>/<version> (for example, gcc 4.6 vs 4.7, postgresql 9.1 vs 9.2 vs 9.3) and create IPS mediated links into /usr/{bin,lib} and user will have the ability to choose.</div><div>However, creating sometimes mediated links for the library is tricky (alp could talk about that).</div><div><br></div><div>Python is rather an expection from b) as python 2.6 and 2.7 are both placed in /usr. Python binaries/scripts have a suffix -2.6/2.7 (depending on which version of python is used in shebang line of the script or which version of python is the binary for) and are mediated into non-suffixed link, e.g /usr/bin/python-2.6 becomes  /usr/bin/python, if python mediator is set to 2.6 (at the moment, 2.6 is the only version available). Python modules are placed under /usr/lib/python-<PYVER>)/site-packages. Please check some python module IPS manifests (<a href="https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/python">https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/python</a>). I am not sure that why Python is placed into /usr and not /usr/python, but I guess that it has to do something with the fact that IPS itself is written in Python. Could someone bring more light into this?</div><div><br></div><div>As for openmpi/mpich stuff, the locations sounds reasonable to me, but I am not sure how will this behave with other C++ libraries. It would be better if others comment on this.</div><div><br></div><div>Oh, and thanks again working on these libraries. If there are any other questions, just feel free to come back and ask.</div><div><br></div><div>Cheers,</div><div>Adam</div><div><br><div><div>On Nov 13, 2013, at 6:01 PM, Aurélien Larcher <<a href="mailto:aurelien.larcher@gmail.com">aurelien.larcher@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div><div>Hi Adam and Andrzej,<br></div>sorry for the late follow-up, I have been caught in teaching and different research projects in the past weeks.<br></div><div>Moreover I noticed that something broke my python modules again in hipster, I need to investigate.<br>
</div><div>Anyway I installed a bunch of numerical libraries, python modules with oi-build that I could contribute to oi-userland but I have now a very concrete question for you that I mentioned in the past when I was packaging with SFE (but never got a conclusive answer).<br>
</div><div>I think it requires some thinking before adding these packages.<br></div><br><br>1)<br><br></div><div>For mpich and openmpi, one should provide packages compiled for a specific compiler and libraries (like PETSc and linear solvers) should be provided for a given pair (compiler, MPI implementation).<br>
</div><div>For example, in the past I ended up providing mpich-gcc, openmpi-gcc, mpich-cc packages and for each library following the same scheme:<br><br>library/mpich2-gcc (localhost)                    1.5-0.0.151.1.7            i--<br>
library/openmpi-gcc (localhost)                   1.6.3-0.0.151.1.7          i--<br>library/math/mpich2/gcc/hypre (localhost)         2.9.0-0.0.151.1.7          i--<br>library/math/mpich2/gcc/parmetis (localhost)      4.0.2-0.0.151.1.7          i--<br>
<br></div><div>I then provided headers in /usr/include/mpich2 and /usr/include/openmpi (same thing for the documentation) and for each pair (compile, mpi) the libraries in /usr/lib/$(ARCH)/$(MPI)/$(COMPILER)<br><br>For example: /usr/lib/amd64/mpich2/gcc <br>
<br></div><div>My question is then if this scheme would be suitable for hipster and what should be the library prefix ?<br><br></div><div>Obviously it cannot be just /usr/lib since you cannot mix C++ libraries from different compilers and you cannot mix MPI implementations.<br>
</div><div><br>2)<br><br></div><div>One more thing is that I also use the environment-modules utility (<a href="http://modules.sourceforge.net/">http://modules.sourceforge.net/</a>) to switch between mpi + compiler "bundles", it is a good way to set the environment without dealing with manual setting.<br>
<br>Example:<br><br>/afs/<a href="http://nada.kth.se/dept/na/ctl/pkg/@sys/modulefiles">nada.kth.se/dept/na/ctl/pkg/@sys/modulefiles</a><br><br></div><div>Contains the module definitions:<br><br>#%Module1.0#####################################################################<br>
##<br>## null modulefile<br>##<br>proc ModulesHelp { } {<br>        global version<br><br>        puts stderr "\tThis module does absolutely nothing."<br>        puts stderr "\tIt's meant simply as a place holder in your"<br>
        puts stderr "\tdot file initialization."<br>        puts stderr "\n\tVersion $version\n"<br>}<br><br>module-whatis   "does absolutely nothing"<br><br># for Tcl script use only<br>set     version      "3.1.6"<br>
<br>set     modroot      /afs/<a href="http://nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4">nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4</a><br><br>prepend-path    PATH            $modroot/bin:<br>prepend-path    MANPATH         $modroot/man<br>
prepend-path    LD_LIBRARY_PATH $modroot/lib<br><br>## gcc paths<br>prepend-path    C_INCLUDE_PATH          $modroot/include<br>prepend-path    CPP_INCLUDE_PATH        $modroot/include<br>prepend-path    LIBRARY_PATH            $modroot/lib<br>
<br>## python specific<br>prepend-path    PYTHONPATH      $modroot/lib/python2.7/site-packages<br>prepend-path    PKG_CONFIG_PATH $modroot/lib/pkgconfig<br><br></div><div>And the module root directory /afs/<a href="http://nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4">nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4</a> contains the installed module<br>
<br>/afs/<a href="http://nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4/lib/python2.7/site-packages/FIAT/">nada.kth.se/dept/na/ctl/pkg/@sys/fiat/0.3.4/lib/python2.7/site-packages/FIAT/</a><br><br></div><div>I could then provide modulefiles allowing to switch from one "bundle" (like "mpich2-gcc") to another.<br>
<br></div><div>The main issue is: in which prefix shoud I put everything ? e.g is /usr/lib/$(ARCH)/$(MPI)/$(COMPILER) suitable of not ? or should we have /usr/mpich/$(COMPILER) and /usr/openmpi/$(COMPILER) prefixes ?<br><br>
</div><div>Handling this is usually ugly even with Debian and FreeBSD.<br><br></div><div>I also compiler Enlightenment 17 and have the same thought, what should be the prefix for a Desktop Environment.<br></div><div>Same question applies to JNI modules.<br>
</div><div><br></div><div>I think Hipster would benefit from guidelines to specify install prefix for different kinds of software.<br></div><div><br></div><div>Thank you in advance.<br></div><div>Best regards,<br><br>Aurelien<br>
</div><div><br><br><br></div><div><br><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 16, 2013 at 12:21 PM, Adam Števko <span dir="ltr"><<a href="mailto:adam.stevko@gmail.com" target="_blank">adam.stevko@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Aurelien,<div><br></div><div>how is it going? Do you need any help?</div><div><br>
</div><div>Cheers,</div><div>Adam<br><div><br><div>Begin forwarded message:</div><br><blockquote type="cite"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica; font-size: inherit;"><b>From: </b></span><span style="font-family: Helvetica; font-size: inherit;">Aurélien Larcher <<a href="mailto:aurelien.larcher@gmail.com" target="_blank">aurelien.larcher@gmail.com</a>><br>
</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica; font-size: inherit;"><b>Subject: </b></span><span style="font-family: Helvetica; font-size: inherit;"><b>[oi-dev] Numpy and Scipy</b><br>
</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica; font-size: inherit;"><b>Date: </b></span><span style="font-family: Helvetica; font-size: inherit;">September 8, 2013 6:36:57 PM GMT+02:00<br>
</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica; font-size: inherit;"><b>To: </b></span><span style="font-family: Helvetica; font-size: inherit;">OpenIndiana Developer mailing list <<a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a>><br>
</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica; font-size: inherit;"><b>Reply-To: </b></span><span style="font-family: Helvetica; font-size: inherit;">OpenIndiana Developer mailing list <<a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a>><br>
</span></div><div><div class="h5"><br><div dir="ltr"><div><div><div><div>Hi everyone,<br></div>since the numpy python package available in hipster seems broken (segfaults), I installed the latest stable 1.7.0 compiled with gcc, without a linear algebra backend.<br>

</div>So I intend to add latest numpy, scipy (and atlas for the backend) in oi-userland if it is ok.<br><br></div>How does it fit in the way python modules are packaged ? Should they be added to the python folder ?<br></div>

<div>Should 32 bit and 64 bits be both provided or only one of them ?<br><br></div><div>What about gdb, is it possible to upgrade to 7.x to get python extensions or are there any known showstoppers ? (I installed the latest gdb with the 'historical' patches).<br>

<br>I have also a few numerical libraries pending that I converted from my SFE specs. <br>Best regards,<br></div><br>Aurelien<br clear="all"><div><br>-- <br><font style="font-family:courier new,monospace" size="1">-------------------------------------------------------------------------------<br>

LARCHER Aurélien            | KTH, School of Computer Science and Communication<br>
Work: <a value="+4687907142">+46 (0) 8 790 71 42</a>   | Lindstedtsvägen 5, Plan 4<br>Mob.: <a value="+46709464017">+46 (0) 7 09 46 40 17</a> | 100 44 Stockholm, SWEDEN<br>-------------------------------------------------------------------------------<br>

Praise the Caffeine embeddings ...</font>
</div></div></div></div><div class="im">
_______________________________________________<br>oi-dev mailing list<br><a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a><br><a href="http://openindiana.org/mailman/listinfo/oi-dev" target="_blank">http://openindiana.org/mailman/listinfo/oi-dev</a></div>
</blockquote></div><br></div></div></blockquote></div><br><br clear="all"><br>-- <br><font style="font-family:courier new,monospace" size="1">-------------------------------------------------------------------------------<br>
LARCHER Aurélien            | KTH, School of Computer Science and Communication<br>
Work: <a value="+4687907142">+46 (0) 8 790 71 42</a>   | Lindstedtsvägen 5, Plan 5<br>Mob.: <a value="+46709464017">+46 (0) 7 09 46 40 17</a> | 100 44 Stockholm, SWEDEN<br>-------------------------------------------------------------------------------<br>
Praise the Caffeine embeddings ...</font>
</div>
</blockquote></div><br></div></body></html>