Hi

On 20 April 2014 14:50, leif <not.rea...@online.de> wrote:

> Jan Groenewald wrote:
>
>> On 19 April 2014 17:15, leif <not.rea...@online.de
>> <mailto:not.rea...@online.de>> wrote:
>>
>>     Depends: build-essential, gfortran [probably also m4]
>>
>>
>> Are build-essential and m4 not only from-source build dependencies? I
>> would maybe move them to Suggests: Is there runtime functionality, a
>> function you would call in the notebook, that would need build-essential
>> and m4?
>>
>
> Most probably not m4 (it's only needed in Sage to [re]build MPIR/GMP
> IIRC), but any Cython code, e.g. also in a notebook cell, needs
> build-essentials.
>
>
OK, so Depends or Recommends: build-essentials, Suggests: m4


>
>
>  Note the PPA is not ideal for installing optional packages. The relevant
>> folders are owned by root, so the sage -i must be run as root, which is
>> bad practice.
>>
>
> So you'd have to sudo 'sage -b' as well?


Everything. That is of course not recommended.

I would suggest the best way to save over downloading the source code
again, is to
cp -R /usr/lib/sagemath/ ~/
and then work further from there with alias mysage='~/sagemath/sage'

But if you're developing, you may have enough bandwidth.


>      (gfortran already depends on libgfortran3.)
>>
>>
>> Right, gfortran and (or only) libgfortran are runtime dependencies for
>> some functionality?
>>
>
> Unless one wants to rebuild some packages using Fortran, I think
> libgfortran is sufficient, but there may be doctests trying to run the
> Fortran compiler, or scripts checking its presence, as well.


doctests only run when you're doing make test?
So perhaps Recommends: gfortran and Depends: libgfortran3
Recommends will be installed on almost all systems.




> It looks like it suggests on gfortran-multilib which depends on
> libgfortran-4.8-multilib,
>

I don't think multilib stuff makes any sense (unless you e.g. ship the
> optional KaSH3 package, which contains an x86 pre-built binary, but that's
> statically linked).
>
>
>
>  Are there runtime functionalities, that is functions that will not work
>> if imagemagick and openssh-client is not installed?
>>
>
> Not sure about the former, but presumably yes.
>

Looks like at least animate() depends on imagemagick.


>
> OpenSSH client is for example needed to interact with Sage's git-trac.


I guess normal users might do that to file a bug... openssh-client is
already default on ubuntu-desktop though. So it does not really matter. It
could go in Suggests.



>
>
>
>      (Note that openssh-client already depends on OpenSSL.  We could
>>     still require it, but then I'd use libssl-dev.)
>>
>>
>> I think libssl1 should at least be Suggests and perhaps Recommends. The
>> PPA is really meant for a stanadalone laptop, not a server, but we teach
>> our students how to start a secure server when SSHing into a computer
>> lab desktop so they can connect from their laptop, which might become a
>> general use case for us, or for example, to connect from a tablet.
>>
>
> Well, for the PPA, you should IMHO build Sage's Python with libssl-dev
> present, then libssl will be a runtime dependency, since Sage doesn't ship
> it.  Or copy Trusty's versions into $SAGE_LOCAL/lib... ;-)
> [Then including the optional PyOpenSSL into the build would also make
> sense.]


The PPA does not build anything. It copies the upstream binaries into place.
However the Sage's Python is built in waterfall (the buildbot buildslave
system) that is how it will be.
I guess this could use further discussion. As far as I can tell the sage
binaries are built able to use the system-wide for notebook(secure=True) so
we should Depends or Recommends: openssl. I'm not familiar with the extra
use of pyopenssl you mention above, or why copying ssl into LOCAL/lib will
help any further functionality.


>
>
>
>  The PPA is not really meant for developers, but I guess that is fine. I
>> certainly run the PPA and a from source next to each other to compare
>> when there are bugs. I might be the only one.
>>
>
> My impression is that at least /some/ Sage developers prefer to use the
> PPA (or pre-built binaries) on their netbooks or (low-end) notebooks. And
> on ARM machines ... X-)


I would still suggest cp -R /usr/lib/sagemath ~/ for any development,
leaving the PPA in /usr/lib untouched.

I guess developers are more comfortable adding what they need afterwards...
but in general I might not mind Recommending rather than Suggesting if most
the community wants something.

I run
1) PPA
2) binary from sagmath.org
3) source compile

next to each other... for comparison to see if the PPA is to blame for
something. I would not personally copy the PPA installation to compile from
source -- it will not isolate an error.

But the ARM is a good use case.



>
>
>
>      In the future, I'd also require libreadline-dev, but unfortunately
>>     currently Sage doesn't even try to use a system-wide one (instead of
>>     its meanwhile outdated version 6.2, asking for trouble at least on
>>     other distros like Arch Linux and OpenSuSE).
>>
>> I feel like all of these should move to Recommends, so they get
>> installed by default through the apt-get and software centre, but a
>> sysadm could --without-recommends them if they want.
>>
>
> Well, you should check (e.g. with ldd) what (system) libraries your
> binaries depend on; those of course should be in "Depends:".
>


I can add these. Many are standard ubuntu installs.

0 jan@osprey:/usr/lib/sagemath/local/bin$for i in `ldd * |egrep '
/lib|/usr/lib'|awk '{print $3}'|sort -u`; do dpkg -S $i; done|awk -F:
'{print $1}'|sort -u
libc6
libexpat1
libfontconfig1
libfreetype6
libgcc1
libgd2-xpm
libgmp10
libgmpxx4ldbl
libgsl0ldbl
libjpeg-turbo8
libmpfr4
libpng12-0
libppl13
libppl-c4
libpython2.7
libreadline6
libsqlite3-0
libssl1.0.0
libstdc++6
libtinfo5
libx11-6
libxau6
libxcb1
libxdmcp6
libxpm4
zlib1g
0 jan@osprey:/usr/lib/sagemath/local/bin$





>
> But I don't know whether or which Sage packages (such as readline) you
> replace by system ones.
>
>
>
>  Note, the only Build-Depends for the PPA DEB package, is actually only
>> debhelper. It really just copies a compiled binary into place, as one
>> would wiht a binary pacakge. The PPA is a stopgap for a few years until
>> debianization is complete ;) It was way to hard to make a
>> sagemath-monolithic that actually builds all the components through a
>> debian rules file. And that is REALLY not the debian way.
>>
>
> Yep, but as mentioned, as soon as Cython is involved, "using" Sage needs
> build tools.
>
>
> -leif
>
> P.S.:  Beat the Ubuntu guys for not releasing fixed versions of
> Ubuntu/Linaro GCC 4.6.3 for Precise.  (They still ship the broken 1ubuntu5
> IIRC, although the fixes had been there two years ago.)


Precise or Trusty?

Regards,
Jan
-- 
  .~.
  /V\     Jan Groenewald
 /( )\    www.aims.ac.za
 ^^-^^

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to