Opened 5 years ago

Last modified 22 months ago

#13383 new defect

Building Tor-Browser fails on mac (using vagrant) because of locale parsing issue

Reported by: dwt Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

When building TorBrowser on a Mac, after building the the VM and fetching all the prerequisites, calling USE_LXC=1 TORSOCKS='' ./mkbundle-mac.sh reliably fails with an error like this:

+ sudo vmbuilder kvm ubuntu --rootsize 15360 --arch=i386 --suite=lucid --addpkg=openssh-server,pciutils,build-essential,git-core,subversion --removepkg=cron --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=http://127.0.0.1:3142/archive.ubuntu.com/ubuntu --security-mirror=http://127.0.0.1:3142/security.ubuntu.com/ubuntu --dest=base-lucid-i386 --flavour=virtual --firstboot=/home/vagrant/gitian-builder/target-bin/bootstrap-fixup
2014-10-11 12:42:16,499 INFO    : Calling hook: preflight_check
2014-10-11 12:42:16,507 INFO    : Calling hook: set_defaults
2014-10-11 12:42:16,509 INFO    : Calling hook: bootstrap
2014-10-11 12:44:25,274 INFO    : Calling hook: configure_os
Extracting templates from packages: 100%
2014-10-11 12:44:59,169 INFO    : update-alternatives: error: no alternatives for rsh.
2014-10-11 12:44:59,298 INFO    : update-alternatives: error: no alternatives for rlogin.
2014-10-11 12:44:59,420 INFO    : update-alternatives: error: no alternatives for rcp.
2014-10-11 12:45:02,231 INFO    : Creating SSH2 RSA key; this may take some time ...
2014-10-11 12:45:02,940 INFO    : Creating SSH2 DSA key; this may take some time ...
2014-10-11 12:45:03,329 INFO    : 
2014-10-11 12:45:03,330 INFO    : Warning: Fake initctl called, doing nothing
2014-10-11 12:45:03,338 INFO    : 
2014-10-11 12:45:03,339 INFO    : Warning: Fake initctl called, doing nothing
2014-10-11 12:45:06,154 INFO    : 
2014-10-11 12:45:06,158 INFO    : Current default time zone: 'Etc/UTC'
2014-10-11 12:45:06,179 INFO    : Local time is now:      Sat Oct 11 12:45:06 UTC 2014.
2014-10-11 12:45:06,179 INFO    : Universal Time is now:  Sat Oct 11 12:45:06 UTC 2014.
2014-10-11 12:45:06,180 INFO    : 
2014-10-11 12:45:06,298 INFO    : Cleaning up
2014-10-11 12:45:07,416 ERROR   : Process (['chroot', '/tmp/tmpvvfwM9', 'locale-gen', 'de_DE.utf-8']) returned 1. stdout: , stderr: 
Traceback (most recent call last):
  File "/usr/bin/vmbuilder", line 24, in <module>
    cli.main()
  File "/usr/lib/python2.7/dist-packages/VMBuilder/contrib/cli.py", line 216, in main
    distro.build_chroot()
  File "/usr/lib/python2.7/dist-packages/VMBuilder/distro.py", line 84, in build_chroot
    self.call_hooks('configure_os')
  File "/usr/lib/python2.7/dist-packages/VMBuilder/distro.py", line 67, in call_hooks
    call_hooks(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/VMBuilder/util.py", line 165, in call_hooks
    getattr(context, func, log_no_such_method)(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/VMBuilder/plugins/ubuntu/distro.py", line 149, in configure_os
    self.suite.set_locale()
  File "/usr/lib/python2.7/dist-packages/VMBuilder/plugins/ubuntu/dapper.py", line 351, in set_locale
    self.run_in_target('locale-gen', lang)
  File "/usr/lib/python2.7/dist-packages/VMBuilder/plugins/ubuntu/dapper.py", line 327, in run_in_target
    return self.context.run_in_target(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/VMBuilder/plugins/__init__.py", line 86, in run_in_target
    return util.run_cmd('chroot', self.chroot_dir, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/VMBuilder/util.py", line 120, in run_cmd
    raise VMBuilderException, "Process (%s) returned %d. stdout: %s, stderr: %s" % (args.__repr__(), status, mystdout.buf, mystderr.buf)
VMBuilder.exception.VMBuilderException: Process (['chroot', '/tmp/tmpvvfwM9', 'locale-gen', 'de_DE.utf-8']) returned 1. stdout: , stderr: 
cp: cannot stat `base-lucid-i386': No such file or directory
i386 lucid VM creation failed

Turns out that this is an instance of bug https://bugs.launchpad.net/vmbuilder/+bug/338317 cropping up, where a locale (in my case) of 'de_DE.utf-8' was the reason for the problem, as 'locale-gen' needs the locale to be 'de_DE.UTF-8'.

Now I'm not entirely sure what the correct fix for this is. My understanding is that the whole point of gitian is to not contaminate the build system with any of the settings from the host system. In that respect it might be the right course of action to actually filter out environment variables like this when creating the gitian images?

Or it might be that proper casing for LANG variables should be enforced? (Not sure what that means) or perhaps changing the locale parser of locale-gen to accent de_DE.utf-8 as the same as de_DE.UTF-8 might be best?

Some more info, I'm building on Darwin 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64 via vagrant. Env shows this (filtered to lang relevant environment variables) on the virtual machine which generates the containers to build tbb inside:

$ env
LC_ALL=en_US
LANG=de_DE.utf-8
LC_CTYPE=de_DE.UTF-8

which seems inconsistent at least.

Child Tickets

Change History (3)

comment:1 Changed 5 years ago by dwt

Summary: Building Tor-Browser fails on mac (using vagrant)Building Tor-Browser fails on mac (using vagrant) because of locale parsing issue

comment:2 Changed 5 years ago by dwt

Workaround for me was to start the build process like this:

$ LANG=en_US.UTF-8 USE_LXC=1 TORSOCKS='' ./mkbundle-mac.sh

comment:3 Changed 22 months ago by teor

Severity: Normal

Set all open tickets without a severity to "Normal"

Note: See TracTickets for help on using tickets.