Page 1 of 2

Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-26, 09:21
by sebma
Hi,

I'm following this guide https://developer.palemoon.org/Developer_Guide:Build_Instructions/Pale_Moon/macOS to build Pale Moon from git and I get the following output on Macos X 10.13 High Sierra :

Code: Select all

./mach build
 0:00.52 /usr/local/bin/gmake -f client.mk -s
 0:02.95 Adding client.mk options from :
 0:02.95     MOZ_OBJDIR=/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:02.95     OBJDIR=/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:03.80 => FOUND_MOZCONFIG = <>
 0:03.80 usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
 0:03.80        cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
 0:03.81 cd /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:03.82 /Users/mansfeld/src/Pale-Moon/configure
 0:04.65 loading cache ./config.cache
 0:04.88 checking host system type... x86_64-apple-darwin17.7.0
 0:04.95 checking target system type... x86_64-apple-darwin17.7.0
 0:05.01 checking build system type... x86_64-apple-darwin17.7.0
 0:05.02 checking for mawk... no
 0:05.02 checking for gawk... gawk
 0:05.04 checking for python2.7... /usr/local/miniconda2/bin/python2.7
 0:05.04 Creating Python environment
 0:05.23 New python executable in /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/bin/python2.7
 0:05.24 Not overwriting existing python script /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/bin/python (you must use /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/bin/python2.7)
 0:05.32 Installing setuptools, pip...
 0:05.32   Complete output from command /Users/mansfeld/src/...ualenv/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
 0:05.32   Traceback (most recent call last):
 0:05.32   File "<string>", line 1, in <module>
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl/pip/__init__.py", line 13, in <module>
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl/pip/utils/__init__.py", line 14, in <module>
 0:05.32   File "/usr/local/miniconda2/lib/python2.7/zipfile.py", line 6, in <module>
 0:05.32     import io
 0:05.32   File "/usr/local/miniconda2/lib/python2.7/io.py", line 51, in <module>
 0:05.32     import _io
 0:05.32 ImportError: dlopen(/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
 0:05.32   Referenced from: /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so
 0:05.32   Expected in: flat namespace
 0:05.32  in /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so
 0:05.32 ----------------------------------------
 0:05.32 ...Installing setuptools, pip...done.
 0:05.32 Traceback (most recent call last):
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 2352, in <module>
 0:05.32     main()
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 825, in main
 0:05.32     symlink=options.symlink)
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 993, in create_environment
 0:05.32     install_wheel(to_install, py_executable, search_dirs)
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 961, in install_wheel
 0:05.32     'PIP_NO_INDEX': '1'
 0:05.32   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 903, in call_subprocess
 0:05.32     % (cmd_desc, proc.returncode))
 0:05.32 OSError: Command /Users/mansfeld/src/...ualenv/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
 0:05.33 Traceback (most recent call last):
 0:05.33   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 475, in <module>
 0:05.33     manager.ensure()
 0:05.33   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 128, in ensure
 0:05.33     return self.build()
 0:05.33   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 371, in build
 0:05.33     self.create()
 0:05.33   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 147, in create
 0:05.33     raise Exception('Error creating virtualenv.')
 0:05.33 Exception: Error creating virtualenv.
 0:05.34 ------ config.log ------
 0:05.34 This file contains any messages produced by compilers while
 0:05.34 running configure, to aid debugging if configure makes a mistake.
 0:05.34
 0:05.34 configure:1164: checking host system type
 0:05.35 configure:1185: checking target system type
 0:05.35 configure:1203: checking build system type
 0:05.35 configure:1282: checking for mawk
 0:05.35 configure:1282: checking for gawk
 0:05.35 configure:1367: checking for python2.7
 0:05.35 *** Fix above errors and then restart with\
 0:05.35                "/usr/local/bin/gmake -f client.mk build"
 0:05.35 gmake[2]: *** [/Users/mansfeld/src/Pale-Moon/client.mk:365: configure] Error 1
 0:05.35 gmake[1]: *** [/Users/mansfeld/src/Pale-Moon/client.mk:377: /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/Makefile] Error 2
 0:05.35 gmake: *** [client.mk:171: build] Error 2
 0:05.39 0 compiler warnings present.
Can you please help me ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-26, 17:25
by adesh
High Sierra comes with Python 2.7 by default. Any reason why you are using your own version of Python?
I suggest removing object directory (obj-x86_64-apple-darwin17.7.0) and trying again with system Python.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-27, 09:31
by sebma
Hi,

Thank you for your help.

How do I force the system python ?

I tried this but it still detects my miniconda python :

Code: Select all

$ rm -fr obj-x86_64-apple-darwin17.7.0
$ /usr/bin/python2.7 mach build
 0:00.49 /usr/local/bin/gmake -f client.mk -s
 0:01.91 Clobber not needed.
 0:04.16 Adding client.mk options from :
 0:04.16     MOZ_OBJDIR=/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:04.16     OBJDIR=/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:05.03 => FOUND_MOZCONFIG = <>
 0:05.04 usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
 0:05.04        cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
 0:05.05 cd /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0
 0:05.05 /Users/mansfeld/src/Pale-Moon/configure
 0:05.74 creating cache ./config.cache
 0:05.93 checking host system type... x86_64-apple-darwin17.7.0
 0:05.98 checking target system type... x86_64-apple-darwin17.7.0
 0:06.04 checking build system type... x86_64-apple-darwin17.7.0
 0:06.05 checking for mawk... no
 0:06.05 checking for gawk... gawk
 0:06.06 checking for python2.7... /usr/local/miniconda2/bin/python2.7
 0:06.06 Creating Python environment
 0:06.29 New python executable in /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/bin/python2.7
 0:06.29 Also creating executable in /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/bin/python
 0:06.38 Installing setuptools, pip...
 0:06.38   Complete output from command /Users/mansfeld/src/...ualenv/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
 0:06.38   Traceback (most recent call last):
 0:06.38   File "<string>", line 1, in <module>
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl/pip/__init__.py", line 13, in <module>
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl/pip/utils/__init__.py", line 14, in <module>
 0:06.39   File "/usr/local/miniconda2/lib/python2.7/zipfile.py", line 6, in <module>
 0:06.39     import io
 0:06.39   File "/usr/local/miniconda2/lib/python2.7/io.py", line 51, in <module>
 0:06.39     import _io
 0:06.39 ImportError: dlopen(/Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
 0:06.39   Referenced from: /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so
 0:06.39   Expected in: flat namespace
 0:06.39  in /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/_virtualenv/lib/python2.7/lib-dynload/_io.so
 0:06.39 ----------------------------------------
 0:06.39 ...Installing setuptools, pip...done.
 0:06.39 Traceback (most recent call last):
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 2352, in <module>
 0:06.39     main()
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 825, in main
 0:06.39     symlink=options.symlink)
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 993, in create_environment
 0:06.39     install_wheel(to_install, py_executable, search_dirs)
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 961, in install_wheel
 0:06.39     'PIP_NO_INDEX': '1'
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/virtualenv/virtualenv.py", line 903, in call_subprocess
 0:06.39     % (cmd_desc, proc.returncode))
 0:06.39 OSError: Command /Users/mansfeld/src/...ualenv/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
 0:06.39 Traceback (most recent call last):
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 475, in <module>
 0:06.39     manager.ensure()
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 128, in ensure
 0:06.39     return self.build()
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 371, in build
 0:06.39     self.create()
 0:06.39   File "/Users/mansfeld/src/Pale-Moon/python/mozbuild/mozbuild/virtualenv.py", line 147, in create
 0:06.40     raise Exception('Error creating virtualenv.')
 0:06.40 Exception: Error creating virtualenv.
 0:06.40 ------ config.log ------
 0:06.40 This file contains any messages produced by compilers while
 0:06.40 running configure, to aid debugging if configure makes a mistake.
 0:06.40
 0:06.40 configure:1164: checking host system type
 0:06.40 configure:1185: checking target system type
 0:06.40 configure:1203: checking build system type
 0:06.40 configure:1282: checking for mawk
 0:06.40 configure:1282: checking for gawk
 0:06.40 configure:1367: checking for python2.7
 0:06.41 *** Fix above errors and then restart with\
 0:06.41                "/usr/local/bin/gmake -f client.mk build"
 0:06.41 gmake[2]: *** [/Users/mansfeld/src/Pale-Moon/client.mk:365: configure] Error 1
 0:06.41 gmake[1]: *** [/Users/mansfeld/src/Pale-Moon/client.mk:377: /Users/mansfeld/src/Pale-Moon/obj-x86_64-apple-darwin17.7.0/Makefile] Error 2
 0:06.41 gmake: *** [client.mk:171: build] Error 2
 0:06.42 0 compiler warnings present.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-27, 13:16
by adesh
Ok. Get you path using "echo $PATH"
Your $PATH should have this "miniconda" thing. Export the new $PATH after removing it like so:

Code: Select all

export $PATH=<your_path_without_miniconda_path>
Then run ./mach build in same terminal.

Search internet if you need more help setting your $PATH.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-27, 15:51
by sebma
Thanks.

Here is what I did (for helping purposes only) :

Code: Select all

$ mv /usr/local/bin/python2.7 /usr/local/bin/python27
$ rm -fr obj-x86_64-apple-darwin17.7.0
$ PATH=$(echo $PATH | sed "s,/usr/local/miniconda2/bin,,") ./mach build
It took 42 minutes to build.

Code: Select all

$ sudo \cp -pr obj-x86_64-apple-darwin*/dist/NewMoon.app /Applications/
Password:
$ sync
$ sudo mv /Applications/NewMoon.app /Applications/Palemoon.app
$ /Applications/Palemoon.app/Contents/MacOS/palemoon -V
Moonchild Productions Pale Moon 27.9.1a1
The version shows "27.9.1a1" instead of "27.9.4" and I know where it comes from :

Code: Select all

$ rm -fr obj-x86_64-apple-darwin17.7.0/
$ grep -r "27\.9\.1a1" .
./browser/config/version.txt:27.9.1a1
Why is this file not pointing to "27.9.4" ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-27, 19:42
by wicknix
Looks like you pulled the wrong branch. You can directly download 27.9.4 here:
https://github.com/MoonchildProductions ... elease.zip

Also i'd advise that after the browser builds to use ./mach run to test it, then use ./mach package to properly package PM as a .dmg. Then install from the .dmg.

Cheers

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 09:45
by sebma
Hi,

Thank you for your answer.

Before you answered I had already opened a github issue (https://github.com/MoonchildProductions ... ssues/1691) to ask them to update their browser/config/version.txt from their master branch but they also told me no to build from the master branch.

And they gave me this link : https://github.com/MoonchildProductions ... /README.md saying that I must this repo instead : https://github.com/MoonchildProductions/UXP

So I asked them "Which subdirectory contains the Palemoon source ?" and "How do I build it ?"

And they said to go the Mac OS X board of the forum so here I am back again :-)

Which subdirectory of the new repo (https://github.com/MoonchildProductions/UXP) contains the Palemoon source ?

Is the build procedure the same ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 12:54
by adesh
1. Build process is SAME.
2. An older version issue can be easily fixed with "./mach clobber".

There is also some information on developer wiki which you should look at.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 13:15
by sebma
Which sub-directory of the new repo (https://github.com/MoonchildProductions/UXP) contains the Palemoon source ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 13:54
by adesh
Application specific code is in "application" directory. Rest is the UXP platform.
Please, please try to explore things yourself. If you are stuck somewhere or have specific problem, we can always help.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 14:03
by SpockFan02
The Pale Moon source is in UXP/application/palemoon, but you should still run ./mach build from the top level source directory, i.e. UXP, not UXP/application/palemoon. Use a mozconfig to specify the application you want to build, with a line like

Code: Select all

ac_add_options --enable-application=palemoon
.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-07-31, 14:10
by sebma
@Spockfan02 Thank you very much. I'm going to try this.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-01, 12:15
by sebma
@Spockfan02 Hi, wolfbeast says here https://github.com/MoonchildProductions/Pale-Moon/issues/1691#issuecomment-409254387 that :
That will build a full-fledged UXP with every default enabled component, which is NOT the way Pale Moon should be configured.
But I noticed there are some mozconfig files in $topsrcdir/build/macosx/ and in $topsrcdir/build/macosx/universal/, are these files automatically used so that one only needs to specify

Code: Select all

ac_add_options --enable-application=palemoon
in the mozconfig file at the root of the source code ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-01, 13:02
by adesh
Just to help the case, here is my .mozconfig which I use on macOS High Sierra. It disables many features which are not in official Pale Moon.

Code: Select all

ac_add_options --enable-application=palemoon

ac_add_options --enable-optimize="-O2 -msse2 -mfpmath=sse"

ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --disable-parental-controls
ac_add_options --disable-accessibility
ac_add_options --disable-crashreporter

ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-necko-wifi
ac_add_options --disable-safe-browsing

ac_add_options --enable-jemalloc
ac_add_options --enable-strip

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-01, 15:48
by sebma
@adesh
Thanks a lot for your file :-) !
I also added :

Code: Select all

ac_add_options --with-pthreads
ac_add_options --enable-devtools
and commented the following "disable"s to have them included :

Code: Select all

#ac_add_options --disable-parental-controls
#ac_add_options --disable-accessibility
#ac_add_options --disable-crashreporter
#ac_add_options --disable-webrtc
#ac_add_options --disable-safe-browsing
It took 65 minutes to build, now I'm going to install from the generated DMG file and test :-)

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-01, 19:33
by SpockFan02
@adesh aren't tests disabled by default in UXP?

@sebma I'm not sure why you want parental controls, the crash reporter, or Google Safe Browsing. I think the crash reporter sends data to Mozilla when the application crashes, which won't be very useful to anyone, and I would definitely avoid Google Safe Browsing.

Official Pale Moon builds exclude accessibility features, just FYI. And I'm not sure about the status of WebRTC in UXP, but I know in Tycho it was not kept updated or a supported feature, and official Pale Moon builds don't come with it.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-02, 11:16
by adesh
SpockFan02 wrote:@adesh aren't tests disabled by default in UXP?
Yes, probably. Thanks for taking note. I added that option months ago early in porting process. At that time, build used to throw error due to failing tests and adding this option was the way to success.

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-02, 12:51
by sebma
@Spockfan02 Hi, thanks for your explanation. I'm going to disable the parental control (because I can use OpenDNS FamilyShield , it's free) and the crash reporter features.

For the accessibility feature, you are also right I don't need it.

I'd like to keep WebRTC because I cannot find any portable open-source software dedicated to communicate via WebRTC.

If you know of any, please tell me, I also would like use a dedicated software for WebRTC ?

Regarding the Google Safe Browsing#Privacy, Wikipedia says that :
The Safe Browsing API v3, on the other hand, compares 32-bit hash prefixes of the URL to preserve privacy. The Firefox and Safari browsers use the latter.
I don't think anyone can revert the URL hash back to the original URL, hence Googles' Safe Browsing server won't know what URL the client is browsing.

I'm sure your advise regarding Google Safe Browsing is good because you do know what you're talking about.

Can you please give other reasons why not to use Google Safe Browsing if the privacy problem is solved ?

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-02, 17:25
by yami_
sebma wrote:I'd like to keep WebRTC because I cannot find any portable open-source software dedicated to communicate via WebRTC.
IIRC the problem with WebRTC and Pale Moon is that the front-end does not take WebRTC into account.
sebma wrote:Regarding the Google Safe Browsing#Privacy, Wikipedia says that :
wikipedia-en wrote:The Safe Browsing API v3, on the other hand, compares 32-bit hash prefixes of the URL to preserve privacy. The Firefox and Safari browsers use the latter.
I don't think anyone can revert the URL hash back to the original URL, hence Googles' Safe Browsing server won't know what URL the client is browsing.
AFAIK UXP can use the 2nd version of the API. I also have not found any evidence of Firefox supporting API versions other than 2nd and 4th.
sebma wrote:Can you please give other reasons why not to use Google Safe Browsing if the privacy problem is solved ?
  • the front-end is not Safe Browsing-aware
  • even if you build Pale Moon with Safe Browsing enabled it would not work, because in addition to enabling the feature, you also need to provide a valid Google API key
Off-topic:
Fun fact: both --disable-webrtc and --disable-safe-browsing are not valid configure options - i.e. nothing will happen if you include them in your .mozconfig

Re: Error building Pale Moon from git on MacOS High Sierra

Posted: 2018-08-02, 17:32
by sebma
@yami Thank you for your answer.

How do I disable WebRTC and Safe Browsing if
both --disable-webrtc and --disable-safe-browsing are not valid configure options.
?