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.