Where can build scripts be found?
Hello,
I'm trying to compile my own version of icedove to see if I can
understand certain bugs I'm running into (at the moment I just get
random crashes, so I can't really report anything useful). I tried the
following steps on a new machine:
$ mkdir $HOME/icedove
$ cd $HOME/icedove/
$ sudo apt-get install devscripts
$ sudo apt-get build-dep icedove
$ apt-get source icedove
$ cd icedove-45.6.0/
$ build -b -uc -us
I then get an error (posting error below as a postscript). What I wonder
is, how is that the packages are originally compiled? I was under the
impression that this would be enough (if I'm wrong, please yell at me!).
There must be some boxes somewhere building this. Are there scripts that
I might follow to better understand what's going on? Am I incorrect in
my believe that the steps above should in theory be enough?
Thanks for any help.
Cheers,
Thomas
P.S. Here's the error:
$ debuild -b -uc -us
dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: source package icedove
dpkg-buildpackage: source version 1:45.6.0-1~deb8u1
dpkg-buildpackage: source distribution stable-security
dpkg-buildpackage: source changed by Christoph Goehre <chris@sigxcpu.org>
dpkg-source --before-build icedove-45.6.0
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_testdir
debian/rules override_dh_auto_clean
make[1]: Entering directory '/home/admin/icedove/icedove-45.6.0'
# needed for icedove-l10n
dh_auto_clean
rm -rf debian/icedove-l10n-build
# needed for iceowl-l10n
rm -rf debian/iceowl-l10n-build
make[1]: Leaving directory '/home/admin/icedove/icedove-45.6.0'
dh_clean
debian/rules build
make: 'build' is up to date.
fakeroot debian/rules binary
dh binary
dh_testdir
debian/rules override_dh_auto_configure
make[1]: Entering directory '/home/admin/icedove/icedove-45.6.0'
# update config.sub and config.guess
dh_autotools-dev_updateconfig
# run autoconf for all configure files
if [ "Z2.13" != Z ] || [ ! -e
/home/admin/icedove/icedove-45.6.0/configure ]; \
then cd /home/admin/icedove/icedove-45.6.0 && `which autoconf2.13 ||
which autoconf`; fi
if [ "Z2.13" != Z ] || [ ! -e
/home/admin/icedove/icedove-45.6.0/mozilla/configure ]; \
then cd /home/admin/icedove/icedove-45.6.0/mozilla && `which
autoconf2.13 || which autoconf`; fi
if [ "Z2.13" != Z ] || [ ! -e
/home/admin/icedove/icedove-45.6.0/mozilla/js/src/configure ]; \
then cd /home/admin/icedove/icedove-45.6.0/mozilla/js/src && `which
autoconf2.13 || which autoconf`; fi
# prepare branding for the Icedove packages
mkdir -p mail/branding/icedove
# copy needed icons
cp -a debian/icedove-branding/* mail/branding/icedove
cp debian/app-icons/icedove16.png mail/branding/icedove/mailicon16.png
cp debian/app-icons/icedove22.png mail/branding/icedove/mailicon22.png
cp debian/app-icons/icedove24.png mail/branding/icedove/mailicon24.png
cp debian/app-icons/icedove32.png mail/branding/icedove/mailicon32.png
cp debian/app-icons/icedove48.png mail/branding/icedove/mailicon48.png
cp debian/app-icons/icedove256.png mail/branding/icedove/mailicon256.png
cp debian/app-icons/icedove48.png mail/branding/icedove/content/icon48.png
cp debian/app-icons/icedove64.png mail/branding/icedove/content/icon64.png
cp debian/preview.png mail/themes/linux/mail/preview.png
# copy the mozconfig files
cp debian/mozconfig.* .
cp debian/mozconfig.default mozilla/
echo 'mk_add_options
MOZ_OBJDIR=/home/admin/icedove/icedove-45.6.0/obj-icedove' >>
mozconfig.icedove
# configure the various build settings
# icedove, icedove-dev, calendar-google-provider, iceowl-extension
make -f client.mk configure
make[2]: Entering directory '/home/admin/icedove/icedove-45.6.0'
client.mk:205:
/home/admin/icedove/icedove-45.6.0/obj-icedove/.mozconfig.mk: No such
file or directory
mkdir -p '/home/admin/icedove/icedove-45.6.0/obj-icedove/'
> /home/admin/icedove/icedove-45.6.0/obj-icedove/.mozconfig.mk
cd /home/admin/icedove/icedove-45.6.0/obj-icedove
/home/admin/icedove/icedove-45.6.0/configure
creating cache ./config.cache
Traceback (most recent call last):
File "/home/admin/icedove/icedove-45.6.0/mozilla/./mach", line 148, in
<module>
main(sys.argv[1:])
File "/home/admin/icedove/icedove-45.6.0/mozilla/./mach", line 76, in main
mach = get_mach()
File "/home/admin/icedove/icedove-45.6.0/mozilla/./mach", line 67, in
get_mach
mach = check_and_get_mach(dir_path)
File "/home/admin/icedove/icedove-45.6.0/mozilla/./mach", line 42, in
check_and_get_mach
return load_mach(dir_path, mach_path)
File "/home/admin/icedove/icedove-45.6.0/mozilla/./mach", line 30, in
load_mach
return mach_bootstrap.bootstrap(dir_path)
File "/home/admin/icedove/icedove-45.6.0/build/mach_bootstrap.py",
line 14, in bootstrap
return build.mach_bootstrap.bootstrap(topsrcdir, mozilla_dir)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/build/mach_bootstrap.py",
line 314, in bootstrap
mach.load_commands_from_file(os.path.join(mozilla_dir, path))
File
"/home/admin/icedove/icedove-45.6.0/mozilla/python/mach/mach/main.py",
line 258, in load_commands_from_file
imp.load_source(module_name, path)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/addon-sdk/mach_commands.py",
line 13, in <module>
from mozbuild.base import (
File
"/home/admin/icedove/icedove-45.6.0/mozilla/build/mach_bootstrap.py",
line 340, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/python/mozbuild/mozbuild/base.py",
line 17, in <module>
from mach.mixin.process import ProcessExecutionMixin
File
"/home/admin/icedove/icedove-45.6.0/mozilla/build/mach_bootstrap.py",
line 340, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/python/mach/mach/mixin/process.py",
line 29, in <module>
raise Exception('Could not detect environment shell!')
Exception: Could not detect environment shell!
loading cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking build system type... x86_64-unknown-linux-gnu
checking for mawk... mawk
checking for python2.7... /usr/bin/python2.7
Creating Python environment
New python executable in
/home/admin/icedove/icedove-45.6.0/obj-icedove/_virtualenv/bin/python2.7
Also creating executable in
/home/admin/icedove/icedove-45.6.0/obj-icedove/_virtualenv/bin/python
Installing setuptools, pip...done.
WARNING: Python.h not found. Install Python development headers.
Error processing command. Ignoring because optional.
(optional:setup.py:python/psutil:build_ext:--inplace)
checking Python environment is Mozilla virtualenv... Traceback (most
recent call last):
File "<string>", line 1, in <module>
File
"/home/admin/icedove/icedove-45.6.0/mozilla/build/mach_bootstrap.py",
line 340, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/python/mozbuild/mozbuild/base.py",
line 17, in <module>
from mach.mixin.process import ProcessExecutionMixin
File
"/home/admin/icedove/icedove-45.6.0/mozilla/build/mach_bootstrap.py",
line 340, in __call__
module = self._original_import(name, globals, locals, fromlist, level)
File
"/home/admin/icedove/icedove-45.6.0/mozilla/python/mach/mach/mixin/process.py",
line 29, in <module>
raise Exception('Could not detect environment shell!')
Exception: Could not detect environment shell!
configure: error: Python environment does not appear to be sane.
------ config.log ------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
configure:1206: checking host system type
configure:1227: checking target system type
configure:1245: checking build system type
configure:1325: checking for mawk
configure:1410: checking for python2.7
configure:1520: checking Python environment is Mozilla virtualenv
configure: error: Python environment does not appear to be sane.
*** Fix above errors and then restart with\
"make -f client.mk build"
client.mk:361: recipe for target 'configure' failed
make[2]: *** [configure] Error 1
make[2]: Leaving directory '/home/admin/icedove/icedove-45.6.0'
debian/rules:64: recipe for target 'override_dh_auto_configure' failed
make[1]: *** [override_dh_auto_configure] Error 2
make[1]: Leaving directory '/home/admin/icedove/icedove-45.6.0'
debian/rules:54: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit
status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed
Reply to: