Closed Bug 1712625 Opened 3 years ago Closed 3 years ago

2.53.7.1 fails to build against nss-3.65

Categories

(SeaMonkey :: Build Config, defect)

SeaMonkey 2.53 Branch
defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: zarniwhoop, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Steps to reproduce:

Tried to build seamonkey-2.53.7.1 using the instructions at BLFS,
https://www.linuxfromscratch.org/blfs/view/svn/xsoft/seamonkey.html

Actual results:

With gcc-11.1.0 and nss-3.65 the build fell over in IDBTransaction.h at the CLEANUP enum:
/scratch/working/seamonkey-2.53.7.1/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/IDBTransaction.h: At global scope:
/scratch/working/seamonkey-2.53.7.1/obj-x86_64-pc-linux-gnu/dist/includemozilla/dom/IDBTransaction.h:62:5: error: expected identifier before '(' token
62 | CLEANUP,
| ^~~~~~~

Today, someone who is still using gcc-10.2.0 reported a similar error:

In file included from /home/pro/rpmbuild/BUILD/seamonkey-2.53.7.1/obj-x86_64-pc-linux-gnu/dom/bindings/IDBDatabaseBinding.cpp:16:
/home/pro/rpmbuild/BUILD/seamonkey-2.53.7.1/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/IDBTransaction.h:197:21: error: use of undeclared identifier 'cleanup'
mMode == CLEANUP ||
^
/usr/include/nss/pk11hpke.h:13:5: note: expanded from macro 'CLEANUP'
cleanup
^
He was able to identify that nss was involved, and fixed this by downgrading nss to 3.64. Doing that also fixed my build with gcc-11.1.0.

Not sure whether seamonkey or nss is the problem, but since only seamonkey seems to be affected I'll start here.

Expected results:

Successful compilation

The specific cause is nss-3.65/nss/lib/pk11wrap/pk11hpke.h which has

#define CLEANUP
PORT_Assert(rv == SECSuccess);
cleanup

SeaMonkey uses the latest nspr and nss esr 78 versions. Building with later versions might fail as you found out. I suggest not using the system nss and nspr versions with it. Official support for later nss and nspr versions will only be implemented when ESR 91 appears.

OK, thanks.

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID

We can keep the bug open if you want. ESR91 is around the corner and we need to fix this for sure later.

If you want to reopen it, feel free. I figured ESR91 is not going to arrive until early August so at this point it is still "months away" and anything could happen in that timeframe.

You need to log in before you can comment on or make changes to this bug.