Now supposedly after adding enough override_dh_* to the
debian/rules file, there will be a working sagemath-monoliticm,
which gives us a buildfarm for all supported architectures and
all supported Ubuntu releases. It will also potentially aid the
debianization project.
If there is sufficient community interest, this can move to a separate
PPA and to UDD rather than traditional development. In the meantime
people can suggest I make changes, send me patches, or ask for
access to the existing PPA, until this becomes too much for me to manage.
> Run-time dependencies:
> * g++ (only Ubuntu 11.10 or later)
> * gfortran (only Ubuntu 11.10 or later)
We're only testing 12.04 at the moment. I've adjusted the control file:
Build-Depends: debhelper (>= 8.0.0), build-essential, m4, perl, tar,
gfortran, tk-dev, texlive-full, dvipng
(build-essential depends on gcc, g++, dpkg-dev, and dpkg-dev depends on
binutils, probaby tar and perhaps perl are not necessary as they might be
included on a minimal system, but it doesn't hurt to add them).
Depends: ${shlibs:Depends}, ${misc:Depends}, libssl0.9.8, build-essential,
gfortran, libgfortran3, openssh-client, imagemagick, ffmpeg, dvipng,
texlive, texlive-pictures, icedtea-7-plugin | icedtea-plugin
(this is the same as sagemath-upstream-binary)
****************************************************
NOTE: Set SAGE_MATPLOTLIB_GUI to anything but 'no' to try to build the
Matplotlib GUI.
Not building any matplotlib graphical backends.
patching file lib/matplotlib/__init__.py
patching file lib/matplotlib/finance.py
patching file lib/matplotlib/texmanager.py
patching file setupext.py
basedirlist is: ['/build/buildd/sagemath-monolithic-0.1ubuntu3/local']
=========================================================================== =
BUILDING MATPLOTLIB
matplotlib: 1.1.0
python: 2.7.3 (default, Jul 13 2012, 09:58:03) [GCC 4.6.3]
platform: linux2
REQUIRED DEPENDENCIES
./spkg-install: line 31: 14233 Aborted python setup.py build
Error building matplotlib package.
real 0m0.238s
user 0m0.176s
sys 0m0.040s
************************************************************************
Error installing package matplotlib-1.1.0
************************************************************************
> Run-time dependencies:
> * g++ (only Ubuntu 11.10 or later)
> * gfortran (only Ubuntu 11.10 or later)
> We're only testing 12.04 at the moment. I've adjusted the control file:
> Build-Depends: debhelper (>= 8.0.0), build-essential, m4, perl, tar,
> gfortran, tk-dev, texlive-full, dvipng
> (build-essential depends on gcc, g++, dpkg-dev, and dpkg-dev depends on
> binutils, probaby tar and perhaps perl are not necessary as they might
> be included on a minimal system, but it doesn't hurt to add them).
> Depends: ${shlibs:Depends}, ${misc:Depends}, libssl0.9.8,
> build-essential, gfortran, libgfortran3, openssh-client, imagemagick,
> ffmpeg, dvipng, texlive, texlive-pictures, icedtea-7-plugin | icedtea-plugin
> (this is the same as sagemath-upstream-binary)
I guess Depends should only have libgfortran3, not all of gfortran. But
that's a detail...
On 13 July 2012 13:42, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
> Can you build using "make -k" instead of "make"? This will make the
> build continue after errors (but it will still respect dependencies).
No idea how. Our rules file say to run:
0 jan@snapperkob:~/src/sagemath-monolithic/sagemath-monolithic-0.1ubuntu3$cat
debian/rules
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of
dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
On 13 July 2012 15:06, Javier López Peña <vengor...@gmail.com> wrote:
> On Friday, July 13, 2012 2:00:36 PM UTC+1, Javier López Peña wrote:
>> Maybe I am saying something stupid here, but cannot you just change the
>> first line to this?
>> #!/usr/bin/make -f -k
> Sorry, that should be
> #!/usr/bin/make -k -f
It seems not:
130 jan@snapperkob:~/src/sagemath-monolithic/sagemath-monolithic-0.1ubuntu3$deb uild
-k'Jan Groenewald (Www.aims.ac.za) <j...@aims.ac.za>'
-S -sa
dpkg-buildpackage -rfakeroot -d -us -uc -S -sa
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g
-O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor):
-D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor):
-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g
-O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor):
-Wl,-Bsymbolic-functions -Wl,-z,relro
dpkg-buildpackage: source package sagemath-monolithic
dpkg-buildpackage: source version 0.1ubuntu4
dpkg-buildpackage: source changed by Jan Groenewald <j...@aims.ac.za>
dpkg-source --before-build sagemath-monolithic-0.1ubuntu4
fakeroot debian/rules clean
/usr/bin/make: invalid option -- ' '
/usr/bin/make: invalid option -- '-'
Usage: make [options] [target] ...
Options:
-b, -m Ignored for compatibility.
-B, --always-make Unconditionally make all targets.
-C DIRECTORY, --directory=DIRECTORY
Change to DIRECTORY before doing anything.
-d Print lots of debugging information.
--debug[=FLAGS] Print various types of debugging information.
-e, --environment-overrides
Environment variables override makefiles.
-f FILE, --file=FILE, --makefile=FILE
Read FILE as a makefile.
-h, --help Print this message and exit.
-i, --ignore-errors Ignore errors from commands.
-I DIRECTORY, --include-dir=DIRECTORY
Search DIRECTORY for included makefiles.
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no
arg.
-k, --keep-going Keep going when some targets can't be made.
-l [N], --load-average[=N], --max-load[=N]
Don't start multiple jobs unless load is
below N.
-L, --check-symlink-times Use the latest mtime between symlinks and
target.
-n, --just-print, --dry-run, --recon
Don't actually run any commands; just print
them.
-o FILE, --old-file=FILE, --assume-old=FILE
Consider FILE to be very old and don't remake
it.
-p, --print-data-base Print make's internal database.
-q, --question Run no commands; exit status says if up to
date.
-r, --no-builtin-rules Disable the built-in implicit rules.
-R, --no-builtin-variables Disable the built-in variable settings.
-s, --silent, --quiet Don't echo commands.
-S, --no-keep-going, --stop
Turns off -k.
-t, --touch Touch targets instead of remaking them.
-v, --version Print the version number of make and exit.
-w, --print-directory Print the current directory.
--no-print-directory Turn off -w, even if it was turned on
implicitly.
-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
Consider FILE to be infinitely new.
--warn-undefined-variables Warn when an undefined variable is referenced.
This program built for x86_64-pc-linux-gnu
Report bugs to <bug-m...@gnu.org>
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit
status 2
debuild: fatal error at line 1350:
dpkg-buildpackage -rfakeroot -d -us -uc -S -sa failed
29 jan@snapperkob:~/src/sagemath-monolithic/sagemath-monolithic-0.1ubuntu3$
Regards,
Jan
-- .~.
/V\ Jan Groenewald
/( )\ www.aims.ac.za ^^-^^
> On 2012-07-13 15:06, Javier L pez Pe a wrote:
>> Sorry, that should be
>> #!/usr/bin/make -k -f
> No, you can't do that. "#!" scripts support at most 1 command line option.
But you should be able to do
#!/usr/bin/make -kf
Rob
-- E-Mail: Rob.McMa...@warwick.ac.uk PHONE: +44 24 7652 3037
Rob McMahon, IT Services, Warwick University, Coventry, CV4 7AL, England
> On 2012-07-13 11:32, Jan Groenewald wrote:
>> Note: I think launchpad will build for i386 for the 32bit packages, not
>> for i686 as
>> the buildbot / sage scripts currently does.
> Why do you think the buildbot builds for i686? The binaries *should*
> work on any i386 system, if not that's a bug.
The buildbots should build for all supported architectures ; so it's possible that there are i386 and i686 versions ; I don't know.
> On 13 July 2012 13:42, Jeroen Demeyer <jdeme...@cage.ugent.be
> <mailto:jdeme...@cage.ugent.be>> wrote:
> Can you build using "make -k" instead of "make"? This will make the
> build continue after errors (but it will still respect dependencies).
> Somehow those debhelper (dh) commands will call make somewhere.
> Maybe Julien can help us out.
Well, if you have a look at "man 7 debhelper", you'll see
dh_auto_build is how it's done ; so you just have to add this rule to your debian/rules :
override_dh_auto_build:
make -k
But notice that "make -k" will still fail in the end, so I don't know what you hope to gain with that!
On 13 July 2012 13:36, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
> On 2012-07-13 11:32, Jan Groenewald wrote:
> > Note: I think launchpad will build for i386 for the 32bit packages, not
> > for i686 as
> > the buildbot / sage scripts currently does.
> Why do you think the buildbot builds for i686? The binaries *should*
> work on any i386 system, if not that's a bug.
> On 13 July 2012 13:42, Jeroen Demeyer <jdeme...@cage.ugent.be
>> <mailto:jdeme...@cage.ugent.be**>> wrote:
>> Can you build using "make -k" instead of "make"? This will make the
>> build continue after errors (but it will still respect dependencies).
> Somehow those debhelper (dh) commands will call make somewhere.
>> Maybe Julien can help us out.
> Well, if you have a look at "man 7 debhelper", you'll see
> dh_auto_build is how it's done ; so you just have to add this rule to your
> debian/rules :
> override_dh_auto_build:
> make -k
Thanks, I will update and upoload that and have a closer look at the man
page.
> But notice that "make -k" will still fail in the end, so I don't know what
> you hope to gain with that!
Jeroen suggested this after the first compile failed on matplotlib.
> On 13 July 2012 13:42, Jeroen Demeyer <jdeme...@cage.ugent.be
>>> <mailto:jdeme...@cage.ugent.be**>> wrote:
>>> Can you build using "make -k" instead of "make"? This will make the
>>> build continue after errors (but it will still respect dependencies).
>> Somehow those debhelper (dh) commands will call make somewhere.
>>> Maybe Julien can help us out.
>> Well, if you have a look at "man 7 debhelper", you'll see
>> dh_auto_build is how it's done ; so you just have to add this rule to
>> your debian/rules :