<?xml version="1.0" encoding="utf-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
 <title type="text">XGQT's blog: Posts tagged 'math'</title>
 <link rel="self" href="https://xgqt.gitlab.io/blog/feeds/math.atom.xml" />
 <link href="https://xgqt.gitlab.io/blog/tags/math.html" />
 <id>urn:https-xgqt-gitlab-io:-blog-tags-math-html</id>
 <updated>2021-03-22T23:00:00Z</updated>
 <entry>
  <title type="text">Sage Math on Gentoo</title>
  <link rel="alternate" href="https://xgqt.gitlab.io/blog/posts/2021/03/23/sage-math-on-gentoo/?utm_source=math&amp;utm_medium=Atom" />
  <id>urn:https-xgqt-gitlab-io:-blog-posts-2021-03-23-sage-math-on-gentoo</id>
  <published>2021-03-22T23:00:00Z</published>
  <updated>2021-03-22T23:00:00Z</updated>
  <author>
   <name>Maciej Barć</name></author>
  <content type="html">
&lt;h1 id="intro"&gt;Intro&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.sagemath.org/"&gt;Sage&lt;/a&gt; may be available on your distro but on Gentoo such frivolities for students are not there yet, so I had to install it the manual way.&lt;/p&gt;

&lt;h1 id="user"&gt;User&lt;/h1&gt;

&lt;p&gt;I went to the Sage website, to the &lt;a href="https://www.sagemath.org/download-source.html"&gt;"download-source"&lt;/a&gt; link. The source mirror I picked was &lt;a href="http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-9.2.tar.gz"&gt;France&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ok, so let's follow Sage Math build instructions and get it going&lt;/p&gt;

&lt;div class="brush: bash"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;wget&lt;span class="w"&gt; &lt;/span&gt;www-ftp.lip6.fr/pub/math/sagemath/src/sage-9.2.tar.gz
tar&lt;span class="w"&gt; &lt;/span&gt;xvf&lt;span class="w"&gt; &lt;/span&gt;sage-9.2.tar.gz
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;sage-9.2
./configure
make
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;And now, let's wait&amp;hellip;&lt;/p&gt;

&lt;h1 id="portage"&gt;Portage&lt;/h1&gt;

&lt;p&gt;After a long, long, long time waiting I remembered that there existed a &lt;a href="https://github.com/cschwan/sage-on-gentoo"&gt;Gentoo overlay for Sage&lt;/a&gt;. And in the meantime I thought I'd try that solution instead since some good Gentoo people already did most of the effort.&lt;/p&gt;

&lt;p&gt;Just a few files to edit&amp;hellip;&lt;/p&gt;

&lt;p&gt;File: /etc/portage/repos.conf/sage-on-gentoo.conf&lt;/p&gt;

&lt;div class="brush: conf"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;# -*- conf -*-


[sage-on-gentoo]

auto-sync = yes
location = /var/db/repos/sage-on-gentoo
priority = 999
sync-git-clone-extra-opts = --depth=999999999 --no-shallow-submodules --verbose
sync-git-pull-extra-opts = --verbose
sync-type = git
sync-umask = 022
sync-uri = https://github.com/cschwan/sage-on-gentoo.git
sync-user = root:portage
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;File: /etc/portage/package.accept~keywords~/zz-sage&lt;/p&gt;

&lt;div class="brush: conf"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;# -*- conf -*-


sci-mathematics/sage                    **

*/*::sage-on-gentoo

dev-python/cvxopt

media-gfx/tachyon

sci-libs/bliss
sci-libs/dsdp
sci-libs/fflas-ffpack
sci-libs/fplll
sci-libs/libhomfly
sci-libs/linbox
sci-libs/m4rie

sci-mathematics/glpk
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;File: /etc/portage/package.use/zz-sage&lt;/p&gt;

&lt;div class="brush: conf"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;# -*- conf -*-


sci-mathematics/sage                    -doc-html -doc-html-bin
sci-mathematics/sage                    -doc-pdf -doc-pdf-bin
sci-mathematics/sage                    -jmol
sci-mathematics/sage                    X bliss meataxe

dev-python/pplpy                        doc

sci-libs/cddlib                         tools
sci-libs/pynac                          -giac

sci-mathematics/eclib                   flint
sci-mathematics/flint                   ntl
sci-mathematics/glpk                    gmp
sci-mathematics/gmp-ecm                 -openmp
sci-mathematics/lcalc                   pari
sci-mathematics/maxima                  ecls
sci-mathematics/pari                    gmp doc
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;Now - let's build Sage with Portage!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fosstodon.org/@xgqt/105940287356177246"&gt;&amp;gt;&amp;gt;&amp;gt; Emerging (1 of 100) sci-mathematics/cliquer&amp;ndash;1.21::gentoo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At least I know more or less how long I'm going to wait and know what exactly fails to build, if anything does.&lt;/p&gt;

&lt;h1 id="final"&gt;Final&lt;/h1&gt;

&lt;h2 id="build"&gt;Build&lt;/h2&gt;

&lt;blockquote&gt;
 &lt;p&gt;$ qlop -tv sage&lt;/p&gt;
 &lt;p&gt;&amp;gt; 2021&amp;ndash;03&amp;ndash;23T20:49:12 &amp;gt;&amp;gt;&amp;gt; sci-mathematics/sage&amp;ndash;9999: 55′04″&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2 id="git-stats"&gt;Git stats&lt;/h2&gt;

&lt;h3 id="overlays"&gt;Overlays&lt;/h3&gt;

&lt;p&gt;This info we can easily gather with executing:&lt;/p&gt;

&lt;div class="brush: bash"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;emerge&lt;span class="w"&gt; &lt;/span&gt;--info
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;Gentoo' HEAD: &lt;code&gt;33f2d770c28307b1e9a1199c681e1c543602c6d4&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Sage-on-Gentoo's HEAD: &lt;code&gt;f7eac5b7e1a844132164b7593dab85cd87918664&lt;/code&gt;&lt;/p&gt;

&lt;h3 id="sage"&gt;Sage&lt;/h3&gt;

&lt;p&gt;Sage repository's HEAD (because we are using the live (9999) ebuild):&lt;/p&gt;

&lt;div class="brush: bash"&gt;
 &lt;div class="source"&gt;
  &lt;table class="sourcetable"&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td class="linenos"&gt;
      &lt;div class="linenodiv"&gt;
       &lt;pre&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
     &lt;td class="code"&gt;
      &lt;div&gt;
       &lt;pre&gt;&lt;span&gt;&lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/var/cache/distfiles/git3-src/sagemath_sage.git/refs/heads/develop
&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;Which returns: &lt;code&gt;5cb72aade9b297c10bb0f1ae8529466e5b5eb41d&lt;/code&gt;&lt;/p&gt;</content></entry></feed>