Hi Daniel,

Am 15.06.22 um 17:12 schrieb Daniel Kahn Gillmor:
after again months of waiting for some typical build tools and a lot of
try and errors attempts I'm now able to build the current beta version
of Thunderbird (102.0~b4) together with the system package of
librnp-dev.

that's great news!  thanks for doing this.

uploaded to experimental just right now.

The downside is that this requires currently the usage of the internal
version of botan, bz2 and jsonc.

I've no kowledge if upstream has plans to reenable the usage of system
packages for these tools, maybe it's also just a misconfiguration of the
buildsystem.

Ugh, that doesn't sound so reasonable.  I'd expect those libraries to be
internal to librnp, and not directly exposed to the rest of thunderbird.
so they shouldn't be related to the build process at all, afaict.

Preparing the current version did make a lot of headaches. :-)
So far I've experienced we need to use the option --enable-av1 now to get a recent Thunderbird, otherwise the build failed with an error messages that make not really sense to me.

 0:12.47 js/src> updating cache ./config.cache
 0:12.47 js/src> creating ./config.data
 0:12.48 Creating config.status
 0:12.67 Reticulating splines...
 0:12.97  0:00.33 File already read. Skipping: 
/build/thunderbird-98.0~b2/intl/components/moz.build
 0:13.18  0:00.53 File already read. Skipping: 
/build/thunderbird-98.0~b2/gfx/angle/targets/angle_common/moz.build
 0:15.20 Traceback (most recent call last):
 0:15.20   File "/build/thunderbird-98.0~b2/configure.py", line 349, in <module>
 0:15.20     sys.exit(main(sys.argv))
 0:15.20   File "/build/thunderbird-98.0~b2/configure.py", line 161, in main
 0:15.20     return config_status(config)
 0:15.20   File "/build/thunderbird-98.0~b2/configure.py", line 300, in 
config_status
 0:15.20     return config_status(args=[], **sanitized_config)
 0:15.20   File 
"/build/thunderbird-98.0~b2/python/mozbuild/mozbuild/config_status.py", line 
162, in config_status
 0:15.20     definitions = list(definitions)
 0:15.20   File 
"/build/thunderbird-98.0~b2/python/mozbuild/mozbuild/frontend/emitter.py", line 
179, in emit
 0:15.20     objs = list(self._emit_libs_derived(contexts))
 0:15.20   File 
"/build/thunderbird-98.0~b2/python/mozbuild/mozbuild/frontend/emitter.py", line 
261, in _emit_libs_derived
 0:15.20     self._link_libraries(context, obj, variable, idl_sources)
 0:15.20   File 
"/build/thunderbird-98.0~b2/python/mozbuild/mozbuild/frontend/emitter.py", line 
378, in _link_libraries
 0:15.20     self._link_library(context, obj, variable, path)
 0:15.20   File 
"/build/thunderbird-98.0~b2/python/mozbuild/mozbuild/frontend/emitter.py", line 
469, in _link_library
 0:15.20     raise SandboxValidationError(
 0:15.20 mozbuild.frontend.reader.SandboxValidationError:
 0:15.20 ==============================
 0:15.20 FATAL ERROR PROCESSING MOZBUILD FILE
 0:15.20 ==============================
0:15.20 0:15.20 The error occurred while processing the following file or one of the files it includes: 0:15.20 0:15.20 /build/thunderbird-98.0~b2/media/ffvpx/libavcodec/moz.build 0:15.20 0:15.20 The error occurred when validating the result of the execution. The reported error is: 0:15.20 0:15.20 USE_LIBS contains "dav1d", which does not match any LIBRARY_NAME in the tree. 0:15.20 0:15.20

Building TB with AV1 support isn't something what I think is needed to have. :-) But well, the build configuration isn't something that is getting less complex over time.

Have you reported this upstream at all?  do you have examples of the
build failures that happen when you use the system librnp that we could
work through and post where upstream can see them?
No, I haven't reported any issue upstream yet, I wanted first to have a basic working Thunderbird package for the current Beta versions. Unfortunately I often needed to wait in the past on the most bleeding edge Rust and Cargo stuff due the version dependencies. And now we are getting closer to the next ESR version of Thunderbird, a broader user base that can try out these version(s) is more helpful for Debian and to me as we can mostly work around some upstream issues.

I see currently two main things we need to bring to upstream issue tracker.

1) Why we can't set --disable-av1 as before and the configure script is
   ending with an exit code of 1.

2) What is needed to modify in the upstream configure script voodoo so
   its possible to use the configure options

     --with-system-botan
     --with-system-bz2
     --with-system-jsonc

   again.

So if someone wants to play with these option there will be easily the build problem visible I've encountered in the past weeks and months on my side.

--
Regards
Carsten

Reply via email to