[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#864974: thunderbird: Missing AtomicOperations for multiple architectures cause FTBFS



Source: icedove
Version: 1:52.2.0-1
Severity: serious
Justification: fails to build from source

Hi!

thunderbird fails to build from source on multiple architectures,
including s390x, because the proper AtomicOperations header
is not included for the affected architectures.

Looking at [1], all architectures that do not have their own
variant of the AtomicOperations header must use the generic
ppc or sparc headers, e.g.

(...)
# elif defined(__alpha__)
#  include "jit/none/AtomicOperations-ppc.h"
# elif defined(__hppa__)
#  include "jit/none/AtomicOperations-ppc.h"
#elif defined(__m68k__)
#  include "jit/none/AtomicOperations-ppc.h"
#elif defined(__s390__)
#  include "jit/none/AtomicOperations-ppc.h"
#elif defined(__sh__)
#  include "jit/none/AtomicOperations-ppc.h"
(...)

From what I can see, you are currently missing:

alpha: __alpha__
hppa: __hppa__
m68k: __m68k__
powerpc and powerpcspe: __ppc__
s390: __s390__

ppc64 and sparc64 should work as they define "__PPC64__" and
"__sparc__" which is actually covered in the current code. I will
check what's wrong on this architectures later.

See also [2] (note: AtomicOperations-ppc.h and AtomicOperations-sparc.h
are identical and have been renamed to AtomicOperations-feeling-lucky.h
by upstream).

All architectures which are not including jit/none/AtomicOperations-ppc.h
or jit/none/AtomicOperations-sparc.h will include jit/none/AtomicOperations-none.h
and *will* FTBFS by definition (this is intended behavior in the JavaScript
engine). Please note that __sparc__ is also used for sparc64. So please
do not test for sparc64 with "#if defined(__sparc64__)", testing for
"__sparc__" is fine as it is.

Thus, please add the missing definitions for all architectures where the
build fails with:

Executing /«PKGBUILDDIR»/obj-thunderbird/dist/bin/xpcshell -g /«PKGBUILDDIR»/obj-thunderbird/dist/bin/ -a /«PKGBUILDDIR»/obj-thunderbird/dist/bin/ -f /«PKGBUILDDIR»/mozilla/toolkit/mozapps/installer/precompile_cache.js -e precompile_startupcache("resource://gre/");
d: file /«PKGBUILDDIR»/mozilla/xpcom/build/XPCOMInit.cpp, line 709
[23935] ###!!! ABORT: u_init() failed: file /«PKGBUILDDIR»/mozilla/xpcom/build/XPCOMInit.cpp, line 709
Traceback (most recent call last):
  File "/«PKGBUILDDIR»/mozilla/toolkit/mozapps/installer/packager.py", line 415, in <module>
    main()
  File "/«PKGBUILDDIR»/mozilla/toolkit/mozapps/installer/packager.py", line 409, in main
    args.source, gre_path, base)
  File "/«PKGBUILDDIR»/mozilla/toolkit/mozapps/installer/packager.py", line 166, in precompile_cache
    errors.fatal('Error while running startup cache precompilation')
  File "/«PKGBUILDDIR»/mozilla/python/mozbuild/mozpack/errors.py", line 103, in fatal
    self._handle(self.FATAL, msg)
  File "/«PKGBUILDDIR»/mozilla/python/mozbuild/mozpack/errors.py", line 98, in _handle
    raise ErrorMessage(msg)
mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation
/«PKGBUILDDIR»/mozilla/toolkit/mozapps/installer/packager.mk:41: recipe for target 'stage-package' failed
make[4]: *** [stage-package] Error 1

PS: The build logs for ppc64, sparc64 and x32 are currently missing due to issues on the
    buildds with sending mail. We're working on fixing this.

Cheers,
Adrian

> [1] https://anonscm.debian.org/cgit/pkg-mozilla/icedove.git/tree/mozilla/js/src/jit/AtomicOperations.h
> [2] https://github.com/glaubitz/gecko-dev/blob/m68k/js/src/jit/AtomicOperations.h#L340

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply to: