[tbb-dev] Trouble building Tor Browser on Debian stretch

David Fifield david at bamsoftware.com
Mon Apr 11 06:59:10 UTC 2016

I'm trying to build Tor Browser (tbb-6.0a4-build1) on Debian stretch,
and running into problems. I tried some workarounds but it seems like I
must be trying to do something unsupported. I'm not trying to reproduce
a package; just test a patch. Can anyone shed some light?

One of the problems seems actionable so I made a ticket:

I had to install the vmbuilder script manually, so I did what
check-prerequisites.sh told me to do:
	torsocks wget -U "" https://bugs.launchpad.net/ubuntu/+archive/primary/+files/vm-builder_0.12.4+bzr494.orig.tar.gz
	echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e  vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c
	tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz
	cd vm-builder-0.12.4+bzr494
	sudo python setup.py install

I ran into two problems that I tried to fix by patching vmbuilder. The
first is that the call to "update-grub -y" would fail. I traced the
problem to a lack of /dev inside the chroot; update-grub runs
	grub-probe --device-map=/boot/grub/device.map -t device /
which fails with
	grub-probe: error: cannot find a device for / (is /dev mounted?).
For this, I copy-pasted some code to bind-mount /dev before the call and
unmount it after.

Then I had a problem during the dist-upgrade for the ubuntu precise VMs.
The "initscripts" package was failing to upgrade from 2.88dsf-13.10ubuntu11
to 2.88dsf-13.10ubuntu11.1:
	Setting up initscripts (2.88dsf-13.10ubuntu11.1) ...
	Processing triggers for libc-bin ...
	ldconfig deferred processing now taking place
	Extracting templates from packages: 100%

	Current default time zone: 'Etc/UTC'
	Local time is now:      Mon Apr 11 01:35:59 UTC 2016.
	Universal Time is now:  Mon Apr 11 01:35:59 UTC 2016.
	Run 'dpkg-reconfigure tzdata' if you wish to change it.

	invoke-rc.d: policy-rc.d denied execution of stop.
	mkdir: cannot create directory `/run/shm': File exists
The specific error is that mkdir is trying to create a directory over an
existing symlink. It's related to some confusion between /dev/shm and
/run/shm: https://bugs.launchpad.net/bugs/974584. Here I spliced in a
hack to remove the symlink and create the directory before upgrading

Finally I hit a compiler error during the build of i386 linux
tor-browser. It's complaining about -Wformat-security:
	c++ -o MetaData.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /home/debian/build/tor-browser/config/gcc_hidden.h -DANDROID_SMP=0 -DLOG_NDEBUG=1 -D_GLIBCXX_OS_DEFINES -DHAVE_SYS_UIO_H -DFAKE_LOG_DEVICE -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/home/debian/build/tor-browser/media/libstagefright -I. -I/home/debian/build/tor-browser/media/libstagefright/binding/include -I/home/debian/build/tor-browser/media/libstagefright/frameworks/av/include -I/home/debian/build/tor-browser/media/libstagefright/frameworks/av/include/media/stagefright/foundation -I/home/debian/build/tor-browser/media/libstagefright/frameworks/av/media/libstagefright/ -I/home/debian/build/tor-browser/media/libstagefright/stubs/empty -I/home/debian/build/tor-browser/media/libstagefright/stubs/include -I/home/debian/build/tor-browser/media/libstagefright/stubs/include/media/stagefright/foundation -I/home/debian/build/tor-browser/media/libstagefright/system/core/include -I../../dist/include   -I/home/debian/build/tor-browser/obj-i686-pc-linux-gnu/dist/include/nspr -I/home/debian/build/tor-browser/obj-i686-pc-linux-gnu/dist/include/nss       -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/MetaData.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -frandom-seed=tor -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -freorder-blocks -Os -fomit-frame-pointer -Wno-format -Wno-multichar -Wno-sign-compare -Wno-unused    /home/debian/build/tor-browser/media/libstagefright/frameworks/av/media/libstagefright/MetaData.cpp
	cc1plus: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
I didn't find a way to deal with this one. I noticed that a recent
commit refers to -Wformat-security in a comment, but it seems to be
about GCC, not Firefox:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Make-sure-dev-is-mounted-whenever-running-update-gru.patch
Type: text/x-diff
Size: 2035 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tbb-dev/attachments/20160410/8640e727/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Turn-run-shm-into-a-directory-for-ubuntu.patch
Type: text/x-diff
Size: 2144 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tbb-dev/attachments/20160410/8640e727/attachment-0001.patch>

More information about the tbb-dev mailing list