After the update to 0.15.0, www/elinks fails to build if SPIDERMONKEY is on. . . [CC] src/dialogs/download.o [CC] src/dialogs/edit.o [CC] src/dialogs/exmode.o [CC] src/dialogs/info.o In file included from info.c:22: In file included from ../.././src/ecmascript/ecmascript.h:13: In file included from /usr/local/include/js-1.7/jsapi.h:47: In file included from /usr/local/include/js-1.7/jspubtd.h:45: /usr/local/include/js-1.7/jstypes.h:248:6: error: "Must define one of XP_BEOS, XP_OS2, XP_WIN or XP_UNIX" # error "Must define one of XP_BEOS, XP_OS2, XP_WIN or XP_UNIX" ^ /usr/local/include/js-1.7/jstypes.h:264:2: error: No suitable type for JSInt8/JSUint8 #error No suitable type for JSInt8/JSUint8 ^ /usr/local/include/js-1.7/jstypes.h:277:2: error: No suitable type for JSInt16/JSUint16 #error No suitable type for JSInt16/JSUint16 ^ /usr/local/include/js-1.7/jstypes.h:297:2: error: No suitable type for JSInt32/JSUint32 #error No suitable type for JSInt32/JSUint32 ^ /usr/local/include/js-1.7/jstypes.h:329:5: error: unknown type name 'JSUint32' JSUint32 hi, lo; ^ /usr/local/include/js-1.7/jstypes.h:348:2: error: 'sizeof(int)' not sufficient for platform use #error 'sizeof(int)' not sufficient for platform use ^ /usr/local/include/js-1.7/jstypes.h:393:9: error: unknown type name 'JSIntn'; did you mean 'JSInt64'? typedef JSIntn JSBool; . .
See also bug 226878, comment 3 and later. This bug was opened since bug 226878 is a different issue.
See also bug 264699 which adds a new port for libxml++50. The elinks-0.15.0 configure script asserts that building with spidermonkey78 is dependent on libxml++50 (and also sqlite3). But there are other difficulties in trying to build elinks with spidermonkey78 (instead of spidermonkey17). See https://github.com/rkd77/elinks/issues/176
@John Can you: - Provide a full build log, compressed if necessary, or at least one that includes verbose compile lines. (In reply to John Hein from comment #2) - Confirm reproduction with libxml++50 via bug 264699 installed
(In reply to Kubilay Kocak from comment #3) There's no benefit in getting any more logs than was already provided. The problem is quite obvious, please do not ask submitters for more Bugzilla spam.
Sorry for the late reply, I've been dealing with a fire drill at $DAYJOB. On Tuesday I'll get this fixed and figure out why my poudriere runs didn't catch it.
So John figured out one part: It wants libxml++ 5.0 now. The other part seems that it wants lang/spidermonkey78 now instead of lang/spidermonkey17. The issue I'm running into now is that mozjs78 uses C++ includes, and elinks doesn't really seem to separate C and C++ code. It seems like it just treats everything as C++, and that's causing issues. There's some compiler flags that it's setting in the meson.build that don't seem to be replicated in the autoconf setup. I'll see if I can get that copied over.
And, nm, I just saw the github bug that John opened up and all of this is already known (sorry for the bug spam!).
This should be fixed once #266305 is committed.
(In reply to John Hein from comment #0) John, Can you try again now that the port has been updated please?
Closing this older bug. Upstream made some changes due to the upstream bug back in 2022 (and released 0.15.1). But FreeBSD's port of elinks is now at 0.17.0, and that seems to build fine (libxml++ has updated a bit since 2022 as well). In any case, it seems to build fine with the SPIDERMONKEY option today.