v30 building error; FINAL_LIBRARY("xul") does not match any LIBRARY_NAME

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
dinosaur
Fanatic
Fanatic
Posts: 165
Joined: 2014-06-03, 09:26
Location: France

v30 building error; FINAL_LIBRARY("xul") does not match any LIBRARY_NAME

Unread post by dinosaur » 2022-03-21, 11:03

Greetings,

I am trying to rebuild v30 from source under Linux, like I did with all previous versions without trouble in the past. But with v30, the build stops early with the build system apparently not finding the xul component:

Code: Select all

Traceback (most recent call last):
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/configure.py", line 32, in <module>
    sys.exit(main(sys.argv))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/configure.py", line 29, in main
    return config_status(config)
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/configure.py", line 102, in config_status
    return config_status(args=[], **encode(sanitized_config, encoding))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/config_status.py", line 139, in config_status
    the_backend.consume(definitions)
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/backend/base.py", line 126, in consume
    for obj in objs:
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/frontend/emitter.py", line 185, in emit
    objs = list(self._emit_libs_derived(contexts))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/frontend/emitter.py", line 198, in _emit_libs_derived
    % lib.link_into, contexts[lib.objdir])
mozbuild.frontend.reader.SandboxValidationError:
==============================
ERROR PROCESSING MOZBUILD FILE
==============================

The error occurred while processing the following file or one of the files it includes:

    /usr/src/rpm/BUILD/palemoon-30.0.1/platform/system/memory/volatile/moz.build

The error occurred when validating the result of the execution. The reported error is:

    FINAL_LIBRARY ("xul") does not match any LIBRARY_NAME
At this point, if I manually remove the "FINAL_LIBRARY = 'xul'" line from platform/system/memory/volatile/moz.build, 'mach' resumes the build, but stops again later on with:

Code: Select all

 0:02.92 Creating config.status
Brewing coffee...
Traceback (most recent call last):
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/configure.py", line 32, in <module>
    sys.exit(main(sys.argv))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/configure.py", line 29, in main
    return config_status(config)
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/configure.py", line 102, in config_status
    return config_status(args=[], **encode(sanitized_config, encoding))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/config_status.py", line 139, in config_status
    the_backend.consume(definitions)
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/backend/base.py", line 126, in consume
    for obj in objs:
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/frontend/emitter.py", line 185, in emit
    objs = list(self._emit_libs_derived(contexts))
  File "/usr/src/rpm/BUILD/palemoon-30.0.1/platform/python/mozbuild/mozbuild/frontend/emitter.py", line 240, in _emit_libs_derived
    contexts[lib.objdir])
mozbuild.frontend.reader.SandboxValidationError:
==============================
ERROR PROCESSING MOZBUILD FILE
==============================

The error occurred while processing the following file or one of the files it includes:

    /usr/src/rpm/BUILD/palemoon-30.0.1/platform/libs/nss/moz.build

The error occurred when validating the result of the execution. The reported error is:

    The static "nss" library is not used in a shared library or a program, but USE_LIBS contains the following shared library names:
        nss3
        nssutil3
        smime3
        sqlite
        ssl3

    Maybe you can remove the static "nss" library?


*** Fix above errors and then restart with\
               "/usr/bin/gmake -f client.mk build"
Any help appreciated !

Thank you in advance.

PS: yes, I did follow the build instructions, and by the way, there is an error in them since they still point to the old (and password protected) git repository; the git clone url should be: https://repo.palemoon.org/MoonchildProd ... /Pale-Moon

patrick-g
Hobby Astronomer
Hobby Astronomer
Posts: 21
Joined: 2020-12-23, 10:49

Re: v30 building error; FINAL_LIBRARY("xul") does not match any LIBRARY_NAME

Unread post by patrick-g » 2022-03-22, 16:55

Hi,
I suppose it is caused by the replacement of UXP by GRE as stated here:
In addition, our platform code has been changed to a more streamlined version over the past months and UXP is no longer used (or maintained) by us in this milestone. UXP has been released to the community for maintenance and coordination to continue building on where desired. Instead, we are now building on the Goanna Runtime Environment™ (or GRE for short) focusing more tightly on the Goanna rendering engine and cutting out support for unmaintainable components and target platforms. More details about this change will follow in in-depth documentation on the developer site and/or the forum.
In the new layout of PM source code GRE appears as "platform", as UXP before, but there are probably some differences.

In the meantime, release 30 has been recalled, so maybe should you wait for a while. :)

Locked