Thunderbird-78.0
by 3rensho from LinuxQuestions.org on (#55WAX)
Saw the blog post from WillySR this morning that this had been released so decided to try to build it. As I first approximation I used the SlackBuild for T-bird-68.10.0. Found that two --enable lines cause errors (said they were unrecognized options) so removed -
--enable-startup-notification
--enable-ldap
The patch, gkrust.a.no.networking.check.diff.gz could not be applied so commented that out and the build commenced without problems until the very end. Using Eric's checkpkg.sh on the build.log it says -
Code:./checkpkg.sh -l build.log
++ Checking logfile 'build.log' (no news is good news):
321106: thunderbird-78.0/dom/html/test/forms/FAIL.html
335721: thunderbird-78.0/dom/base/test/FAIL.html
349337: 2:28.90 if (berrc != LBER_ERROR &&
349340: 2:28.90 if (berrc != LBER_ERROR && serverctrlsp != NULL &&
349346: 2:28.90 if (berrc == LBER_ERROR && err == LDAP_SUCCESS) {
349354: 2:30.46 if (LBER_ERROR == ber_printf(ber, "{s{v}}", authzid, attrlist)) {
349390: 2:32.47 if (LBER_ERROR == ber_printf(ber, "{s}", dn)) {
349393: 2:32.47 if (LBER_ERROR == ber_printf(ber, "s", authzid)) {
349399: 2:32.84 if (LBER_ERROR == (ber_printf(ber, "{"))) {
349402: 2:32.84 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_ID,
349405: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_OLD,
349408: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_NEW,
349411: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "}"))) {
349424: 2:35.41 if (rc != LBER_ERROR && ber_peek_tag(&ber, &len) == LDAP_TAG_SASL_RES_CREDS) {
349436: 2:39.11 if (LBER_ERROR == ber_printf(ber, "{ii", ldvlistp->ldvlist_before_count,
349439: 2:39.11 if (LBER_ERROR == ber_printf(ber, "t{ii}}", LDAP_TAG_VLV_BY_INDEX,
349442: 2:39.11 if (LBER_ERROR == ber_printf(ber, "to}", LDAP_TAG_VLV_BY_VALUE,
351025: 10:45.54 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351028: 10:45.54 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351032: 10:45.55 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351035: 10:45.55 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
354410: 19:22.21 /tmp/thunderbird-78.0/media/webrtc/trunk/webrtc/common_video/h264/sps_parser.cc:22:9: warning: 'RETURN_EMPTY_ON_FAIL' macro redefined [-Wmacro-redefined]
354411: 19:22.21 #define RETURN_EMPTY_ON_FAIL(x) \
354414: 19:22.21 #define RETURN_EMPTY_ON_FAIL(x) \
356868: 44:22.20 return PR_FAILURE;
356877: 44:22.20 return PR_FAILURE;
356880: 44:22.20 return PR_FAILURE;
356883: 44:22.20 return PR_FAILURE;
356889: 44:22.20 return PR_FAILURE;
357014: 48:18.55 error: options `-C embed-bitcode=no` and `-C lto` are incompatible
357015: 48:18.68 error: could not compile `gkrust`.
357017: 48:18.69 gmake[4]: *** [/tmp/thunderbird-78.0/config/makefiles/rust.mk:294: force-cargo-library-build] Error 101
357018: 48:18.69 gmake[3]: *** [/tmp/thunderbird-78.0/config/recurse.mk:74: toolkit/library/rust/target] Error 2
357019: 48:18.69 gmake[3]: *** Waiting for unfinished jobs....
357020: 48:52.09 gmake[2]: *** [/tmp/thunderbird-78.0/config/recurse.mk:34: compile] Error 2
357021: 48:52.09 gmake[1]: *** [/tmp/thunderbird-78.0/config/rules.mk:390: default] Error 2
357022: 48:52.09 gmake: *** [client.mk:125: build] Error 2
357025: Config object not found by mach.
|install mawk). For LFS: we put mktemp in /usr/bin not /bin, removeThe bit about "options `-C embed-bitcode=no` and `-C lto` are incompatible" appears in several Google searches but I don't see a way to resolve this issue since I don't know anything about rust and where the options would be introduced.
If some programming person can point me to where this issue can be resolved I'd be grateful. Thanks in advance. BTW I was using clang as that is what the Mozilla team seems to prefer for builds.


--enable-startup-notification
--enable-ldap
The patch, gkrust.a.no.networking.check.diff.gz could not be applied so commented that out and the build commenced without problems until the very end. Using Eric's checkpkg.sh on the build.log it says -
Code:./checkpkg.sh -l build.log
++ Checking logfile 'build.log' (no news is good news):
321106: thunderbird-78.0/dom/html/test/forms/FAIL.html
335721: thunderbird-78.0/dom/base/test/FAIL.html
349337: 2:28.90 if (berrc != LBER_ERROR &&
349340: 2:28.90 if (berrc != LBER_ERROR && serverctrlsp != NULL &&
349346: 2:28.90 if (berrc == LBER_ERROR && err == LDAP_SUCCESS) {
349354: 2:30.46 if (LBER_ERROR == ber_printf(ber, "{s{v}}", authzid, attrlist)) {
349390: 2:32.47 if (LBER_ERROR == ber_printf(ber, "{s}", dn)) {
349393: 2:32.47 if (LBER_ERROR == ber_printf(ber, "s", authzid)) {
349399: 2:32.84 if (LBER_ERROR == (ber_printf(ber, "{"))) {
349402: 2:32.84 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_ID,
349405: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_OLD,
349408: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "to", LDAP_TAG_PWDMOD_REQ_NEW,
349411: 2:32.85 if (LBER_ERROR == (ber_printf(ber, "}"))) {
349424: 2:35.41 if (rc != LBER_ERROR && ber_peek_tag(&ber, &len) == LDAP_TAG_SASL_RES_CREDS) {
349436: 2:39.11 if (LBER_ERROR == ber_printf(ber, "{ii", ldvlistp->ldvlist_before_count,
349439: 2:39.11 if (LBER_ERROR == ber_printf(ber, "t{ii}}", LDAP_TAG_VLV_BY_INDEX,
349442: 2:39.11 if (LBER_ERROR == ber_printf(ber, "to}", LDAP_TAG_VLV_BY_VALUE,
351025: 10:45.54 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351028: 10:45.54 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351032: 10:45.55 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
351035: 10:45.55 (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
354410: 19:22.21 /tmp/thunderbird-78.0/media/webrtc/trunk/webrtc/common_video/h264/sps_parser.cc:22:9: warning: 'RETURN_EMPTY_ON_FAIL' macro redefined [-Wmacro-redefined]
354411: 19:22.21 #define RETURN_EMPTY_ON_FAIL(x) \
354414: 19:22.21 #define RETURN_EMPTY_ON_FAIL(x) \
356868: 44:22.20 return PR_FAILURE;
356877: 44:22.20 return PR_FAILURE;
356880: 44:22.20 return PR_FAILURE;
356883: 44:22.20 return PR_FAILURE;
356889: 44:22.20 return PR_FAILURE;
357014: 48:18.55 error: options `-C embed-bitcode=no` and `-C lto` are incompatible
357015: 48:18.68 error: could not compile `gkrust`.
357017: 48:18.69 gmake[4]: *** [/tmp/thunderbird-78.0/config/makefiles/rust.mk:294: force-cargo-library-build] Error 101
357018: 48:18.69 gmake[3]: *** [/tmp/thunderbird-78.0/config/recurse.mk:74: toolkit/library/rust/target] Error 2
357019: 48:18.69 gmake[3]: *** Waiting for unfinished jobs....
357020: 48:52.09 gmake[2]: *** [/tmp/thunderbird-78.0/config/recurse.mk:34: compile] Error 2
357021: 48:52.09 gmake[1]: *** [/tmp/thunderbird-78.0/config/rules.mk:390: default] Error 2
357022: 48:52.09 gmake: *** [client.mk:125: build] Error 2
357025: Config object not found by mach.
|install mawk). For LFS: we put mktemp in /usr/bin not /bin, removeThe bit about "options `-C embed-bitcode=no` and `-C lto` are incompatible" appears in several Google searches but I don't see a way to resolve this issue since I don't know anything about rust and where the options would be introduced.
If some programming person can point me to where this issue can be resolved I'd be grateful. Thanks in advance. BTW I was using clang as that is what the Mozilla team seems to prefer for builds.