Palemoon

Hi,

just a general question if anyone had some success getting Palemoon to work. I've tried to get the Linux version running, though directly after starting it hangs.
Compiling it directly works using GCC5, though again it directly segfaults upon starting it. The truss output loops with a "getpid" call, till a segfault ends the process.
Did anyone had some more success ?

Used OS - FreeBSD 10.3-RELEASE, my ".mozconfig" looks like

Code:
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-gstreamer
ac_add_options --disable-installer
ac_add_options --disable-precompiled-startupcache
ac_add_options --disable-profiling
ac_add_options --disable-pulseaudio
ac_add_options --disable-startupcache
ac_add_options --disable-updater
ac_add_options --enable-application=browser
ac_add_options --enable-chrome-format=omni
ac_add_options --enable-jemalloc
ac_add_options --prefix="/usr/local"
ac_add_options --with-pthreads
export MAKE=gmake
export ac_cv_path_PERL=/usr/local/bin/perl
export ac_cv_path_PERL_PATH=/usr/local/bin/perl
export PKG_CONFIG=pkgconf
export PYTHON="/usr/local/bin/python2.7"
export SHELL=/bin/sh
export CONFIG_SHELL=/bin/sh
export PERL="/usr/local/bin/perl"
export MOZ_OPTIMIZE_FLAGS="-O2"
export CC=gcc5
export CXX=g++5
export CPP=cpp5
mk_add_options MOZ_OBJDIR=/some_random_path/Pale-Moon-27.0_RelBranch/pmbuild
mk_add_options AUTOCONF=autoconf-2.13

Ccache isn't used. Also trying with an older 26.x version wasn't more successful. Though, maybe they changed too much being Linux centric so it isn't possible at all.
 
Finally, Pale Moon 27.6.0 is available for FreeBSD.

See PR 223597 for further details.
Great news!
I've been waiting this to happen since 10.0 RELEASE, when I started to use FreeBSD as a the only one
and main desktop OS. I aslo tried to use it with "linuxulator", and to build it from source, but without any luck.
Very nice web-browser, my all-time favorite. Who do not know, palemoon is firefox v25 fork, with good old
pre australis UI... Also it is very lightweight (without many unnecessary FF features) and very fast.
Also, now, PM is really a great choice, cause it's good, old FF under the hood (with improved rendering engine),
while original FF developers changed their direction... Also it is possible to use many old (and new, that are
compatible) FF extensions with PM. I'm writing this post from PM right now and I can confirm that it's working fine.
mSH38MB.png


Attaching complete palemoon port, for those who do not want to create it from patch from post above or to wait.
I used it to build PM, that I'm using now. Just extract palemoon dir to /usr/ports/www/, # cd into it and run # make install.

UPD: If you got some problems with cookies, like me, when login to some sites, when using PM (bug?),
as a workaround, install this addon, then open its settings and tick "Set as default cookie manager"
under "General" tab. This solves the issue.
To use developer tools (F12), install — Developer Tools.

By the way, it is even possible to install some new FF extensions, use Moon Tester Tool,
then open incompatible FF addon page, right click on inactive "Add to Firefox" button
NbYrQro.png

press "Save object as...", save .xpi file, then install it using Moon Tester Tool settings.
OTxsI0S.png
 
Last edited by a moderator:
Why can't it be installed from pkg install_name package? It takes a long time to compile from the tedious ports.
 
Why can't it be installed from pkg install_name package? It takes a long time to compile from the tedious ports.

I built it tonight on my T61 with Intel Core 2 Duo T7300 @ 2.0GHz and 4GB RAM in 65 minutes using the .zip file ILUXA provided with no problems. It has the extensions available for it I was missing in the new version of www/firefox and I'm pretty happy with it at this point.

palemoon.png

Edit: It complied without issue on my X61 running FreeBSD 11.1-RELEASE-p4 as well.
 
Trihexagonal said:
I built it tonight on my T61 with Intel Core 2 Duo T7300 @ 2.0GHz and 4GB RAM in 65 minutes using the .zip file ILUXA provided with no problems.
I left it compiling palemoon in the night, ending up giving error, it was not installed palemoon. What a new and buggy application.

# cd /usr/ports/www/palemoon && make install
Code:
Unified_cpp_hunspell_glue0.cpp:(.text._ZN11mozHunspell7SuggestEPKDsPPPDsPj+0x131): undefined reference to `Hunspell::suggest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
gmake[7]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/config/rules.mk:820: libxul.so] Error 1
gmake[7]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/obj-x86_64-unknown-freebsd11.1/toolkit/library'
gmake[6]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/config/recurse.mk:74: toolkit/library/target] Error 2
gmake[6]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/obj-x86_64-unknown-freebsd11.1'
gmake[5]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/config/recurse.mk:37: compile] Error 2
gmake[5]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/obj-x86_64-unknown-freebsd11.1'
gmake[4]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/config/rules.mk:541: default] Error 2
gmake[4]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/obj-x86_64-unknown-freebsd11.1'
gmake[3]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/client.mk:399: realbuild] Error 2
gmake[3]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release'
gmake[2]: *** [/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/client.mk:171: build] Error 2
gmake[2]: Leaving directory '/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/palemoon
*** Error code 1

Stop.
make: stopped in /usr/ports/www/palemoon
#
 
Which is why it hasn't been added to the ports tree yet.
 
For me, and it seems for some users (23), it is working fine. Better check your /etc/make.conf.
You're doing something wrong.
 
ILUXA said:
Better check your /etc/make.conf.
You're doing something wrong.
No, I'm not doing anything wrong, I try to do as you say, and compilation ends in that mistake. In the /etc/make.conf file I only have enabled USE_GCC=any so that the gcc compiler works in some application that needs gcc.
 
No, I'm not doing anything wrong, I try to do as you say, and compilation ends in that mistake. In the /etc/make.conf file I only have enabled USE_GCC=any so that the gcc compiler works in some application that needs gcc.
That's your mistake then. Remove it and try again.
 
In the /etc/make.conf file I only have enabled USE_GCC=any so that the gcc compiler works in some application that needs gcc.
Never add any USE_* variables to /etc/make.conf. They don't belong there.
 
tobik@ said:
That's your mistake then. Remove it and try again.
I can't remove it, because if I remove it USE_GCC=any, wouldn't work Xorg, and in virtual machine QEMU the Xorg would give me as corrupt and I wouldn't load Xorg. So spectacular that FreeBSD works in Qemu and goes great.
 
Never add any USE_* variables to /etc/make.conf. They don't belong there.

The Xorg in Qemu compiling with clang recognizes it as corrupt, and does not load Xorg, and so add USE_GCC=any to /etc/make.conf so that the gcc compiler compiles Xorg in clean and loads Xorg for machine displayed in qemu.
 
I can't remove it, because if I remove it USE_GCC=any, wouldn't work Xorg, and in virtual machine QEMU the Xorg would give me as corrupt and I wouldn't load Xorg. So spectacular that FreeBSD works in Qemu and goes great.
OK, but globally using USE_GCC=any is a mistake especially for C++ applications/libraries (LLVM's libc++ is incompatible with GCC's libstdc++). Do you know what port the bug is actually in? Is it x11-servers/xorg-server? You can create /usr/ports/x11-servers/xorg-server/Makefile.local and add USE_GCC=any to it. Just for the ports that needs it and not every port.

The bug you describe is tracked in PR 202643 and there seems to be an alternative solution there.
 
tobik@ said:
The bug you describe is tracked in PR 202643 and there seems to be an alternative solution there.
I thank you for your reply, very kind, but in that link you give me there are so many answers from users that I don't know which is the right one to follow, it's quite confusing. What I want is for the gcc compiler to only compile the dependencies that depend on gcc, and everything else will normally compile the clang compiler that is supplied by Mac OS X. Maybe you can help me figure out how to proceed and correct that flaw.
 
For me, and it seems for some users (23), it is working fine. Better check your /etc/make.conf.
You're doing something wrong.

And me too, copied the folder to /usr/ports/www/ and build without problems and for now runs without any problem
 
I extracted a palemoon directory from the .zip file ILUXA provided into /usr/ports/www and ran make install clean without specifying any non-standard options, twice, with success on both machines.
 
The Xorg in Qemu compiling with clang recognizes it as corrupt, and does not load Xorg, and so add USE_GCC=any to /etc/make.conf so that the gcc compiler compiles Xorg in clean and loads Xorg for machine displayed in qemu.
Code:
# Note: the distinction between the USE_* and WANT_* variables, and the
# WITH_* and WITHOUT_* variables, are that the former are restricted to
# usage inside the ports framework, and the latter are reserved for user-
# settable options.  ([b]Setting USE_* in /etc/make.conf is always wrong[/b]).
 
Code:
# Note: the distinction between the USE_* and WANT_* variables, and the
# WITH_* and WITHOUT_* variables, are that the former are restricted to
# usage inside the ports framework, and the latter are reserved for user-
# settable options.  (Setting USE_* in /etc/make.conf is always wrong).
And maybe an idea to put some variable in another file that depends of the gcc compiler? The FreeBSD system runnin in Qemu like an airplane and I don't want to spoil it, the sound is crisp, the video is clear, the screen is full and the speed of the system is spectacular.
 
I had no problem with building palemoon in FreeBSD 11.1-RELEASE, however, it fails in FreeBSD 11.1-RELEASE-p4 (and in p1 ― I updated p1 to p4, all boxes are amd64):
Code:
....
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.1
Thread model: posix
InstalledDir: /usr/bin
 "/usr/bin/ld" -pie --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable-new-dtags -o updater /usr/lib/Scrt1.o /usr/lib/crti.o /usr/lib/crtbeginS.o -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/lib /usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/obj-x86_64-unknown-freebsd11.1/toolkit/mozapps/update/updater/tmp5N5lGP.list -lbz2 -lgtk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig -lfreetype -lgdk-x11-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lpthread -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lstartup-notification-1 -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtendS.o /usr/lib/crtn.o
updater.o: In function `PatchFile::LoadSourceFile(__sFILE*)':
/usr/ports/www/palemoon/work/Pale-Moon-27.6.0_Release/toolkit/mozapps/update/updater/updater.cpp:(.text._ZN9PatchFile14LoadSourceFileEP7__sFILE+0x25c): undefined reference to `BZ2_crc32Table'
/usr/bin/ld: updater.o: relocation R_X86_64_PC32 against `BZ2_crc32Table' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)
....
By my understanding libbz2.* libraries are part of the base system, does the report above really mean that it has to be recompiled with -fPIC? I believe, something else is wrong...
My /etc/make.conf is empty.
 
Do not know, I had no problem with building palemoon in FreeBSD 11.1-RELEASE-p4 also.
Here is my "config":
FwqBOUW.png


And here is my /etc/make.conf:
Code:
BATCH=YES
CC=/usr/local/bin/clang40
CXX=/usr/local/bin/clang++40
CPP=/usr/local/bin/clang-cpp40
Run # make clean and try this settings,
I'm rebuilding it now again to be sure it 100% works.
I had problems with sndio in PM, so I use alsa and it's working fine.

UPD:
Yes, I got no problems at all, while building palemoon
RHEkBxU.png
 
Thanks for confirming, ILUXA ! Just in case I tried your /etc/make.conf (although it doesn't have anything specific) without success.
Here are my findings so far. In the "good" box I have:
Code:
$ locate libbz2.so
/compat/linux/usr/lib/libbz2.so.1
/compat/linux/usr/lib/libbz2.so.1.0.4
/compat/linux/usr/lib64/libbz2.so.1
/compat/linux/usr/lib64/libbz2.so.1.0.4
In the "bad" box there is no Linux stuff:
Code:
$ locate libbz2.so
/usr/lib/libbz2.so
/usr/lib/libbz2.so.4
/usr/lib32/libbz2.so
/usr/lib32/libbz2.so.4
 
Back
Top