A linux build framework for Pale Moon

Support and discussions for the x86/x64 Linux version of Pale Moon.

Moderators: trava90, Indalecio, satrow

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Sat Dec 10, 2016 2:16 am

Based on the questions I've gotten, I've updated the process. The tar file "pmmain.tgz" now contains the entire "pmmain/" directory structure. Even though the final result is almost identical, less setup work is required by the end-user, which will simplify things. Install instructions....

  1. Download the attached file pmmain.tgz
  2. If you already have a directory "pmmain", rename it it to avoid clobbering files
  3. Extract the tar file with the command "tar -xvzf pmmain.tgz"
  4. It will create "pmmain/" and various files and subdirectories
  5. Please read the "pmmain/utils/readme.txt" file before proceeding further
  6. If you've customized your previous setup, you should be able to copy over the changed files from your old, renamed, "pmmain"
Attachments
pmmain.tgz
Updated Pale Moon build environment
(8.96 KiB) Downloaded 39 times

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Sun Dec 11, 2016 7:45 am

Walter Dnes wrote:
Sasquatch wrote:I can't get the makelinks script to run. I cd'd into ./native and created the link to pmsrc. But when I tried "../utils/makelinks" I got an error saying no such file or directory. But if I cd into ./utils I can run the script with no problem. Except, obviously, it errors out rather than creating links in the same directory as the files it is trying to link. I end up with a link in ./native to ./native, but nothing else. I don't know what's going wrong. A missing dependency shouldn't cause problems with creating symlinks, should it? I doubt I'll be able to build on this laptop, but I at least wanted to see if I could create the environment. Bedtime anyhow. I'm probably too tired to be messing with this stuff at the moment.


Here's what the directory layout should look like...

Code: Select all

<top level> pmmain/


Code: Select all

<2nd level> utils/   native/   machine2/   machine3/
 ("machine2", "machine3" etc are for any other builds you want to do)

From here, execute "utils/getcode 27.0". This creates pmsrc/ with latest 27.0.whatever source
Then "cd native"


Code: Select all

<3rd level is inside "native/">
Execute the 2 commands

ln -s ../pmsrc pmsrc
../utils/makelinks


That should get you going. Looking back, I think I can do a better setup, making things easier. I'll have to update the readme.txt to reflect the changes. Expect a version 2 soon. Sorry about not being clear enough. The hardest part of documenting stuff is saying the things "that go without saying".
Yup, that worked. I had native/ under utils/ instead of under pmmain/. Got all the links now. Going to try building on this laptop. My desktop is having compiler issues for some reason.

I've written a few tutorials for the GIMP crowd. I'm familiar with the problem of trying to be clear and complete. And especially doing so without sounding like you're talking down to people. It's tough to decide how basic the information should be. And it seems no matter how basic you make it there's always going to be one, "but how do I turn the computer on?" question.

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Sun Dec 11, 2016 10:44 am

Hit a minor (I hope) snag while installing the autoconf-2.13 dependency. Downloaded the source and followed the instructions from here. Got to 'make' and got this error;

Code: Select all

make: *** No rule to make target 'autoconf.texi', needed by 'autoconf.info'.  Stop.

It's not the first time I've seen a "no rule" error. But I've never found an answer to the riddle. Any thoughts? Seems especially baffling since I just removed autoconf.info.

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Sun Dec 11, 2016 7:36 pm

Sasquatch wrote:Hit a minor (I hope) snag while installing the autoconf-2.13 dependency. Downloaded the source and followed the instructions from here. Got to 'make' and got this error;

Code: Select all

make: *** No rule to make target 'autoconf.texi', needed by 'autoconf.info'.  Stop.

It's not the first time I've seen a "no rule" error. But I've never found an answer to the riddle. Any thoughts? Seems especially baffling since I just removed autoconf.info.

The short thread at http://askubuntu.com/questions/635292/a ... ake-errors discusses this error (for 2.68). The quick-n-dirty solution is to use "make -k" (long form "make --keep-going"). You won't have autoconf documentation, but otherwise it should work.

What distro are you using? Gentoo allows "slots" for simultaneous different versions, and CentOS has a separate "autoconf213" package that can be installed alongside the regular autoconf.

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Mon Dec 12, 2016 12:39 am

'make -k' gives me the same error. Tried the long form '--keep-going', same error. And now I get an additional error.

Code: Select all

make: Target 'all' not remade because of errors.]


Ended up going into the Makefile and manually editing it. I changed all references to 'autoconf.texi' to 'autoconf213.texi'. I thought the instructions I followed were supposed to do that. Apparently they didn't. Seems that did the trick. I know the idea is to keep this ancient autoconf from interfering with the new version. So I definitely didn't want to overwrite the new one.

Walter Dnes wrote:What distro are you using? Gentoo allows "slots" for simultaneous different versions, and CentOS has a separate "autoconf213" package that can be installed alongside the regular autoconf.

I run Salix. It's a Slackware-based distro. Theoretically it allows me to also install any RPM package, which should mean pretty much any program imaginable. But I've never gotten that to work. Anyhow, I'm working on getting competent at installing from source. I'm tired of relying on package managers and distro devs to spoon-feed me the programs and info I want. When I finish my workstation build it will get a fully custom LFS install so that everything is exactly the way I want it. And I mean custom right down to ignoring the archaic FHS and putting things where they make sense for a single-user system. I have to gain some education before I can accomplish that. This thread has been quite helpful as far as that education goes.

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Mon Dec 12, 2016 7:06 am

Okay, having a bit of deja vu now. Dropped to runlevel 3 to let the build have as much RAM as possible, ran 'time ./build', about a minute in I got an error telling me the C compiler cannot create executables. I've seen this on my desktop, and now on the laptop. From what I've gathered this is probably a sign I'm missing some dev tools or headers. But I'm not sure how to remedy the situation. The package manager says I have all the gcc and binutils stuff available. Any thoughts on what to look for or how to diagnose what's missing?

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Mon Dec 12, 2016 12:35 pm

Tried it again after rebooting and checking whatever I could think of to check. This is the full error I get.

Code: Select all

 0:42.96 configure: failed program was:
 0:42.96
 0:42.96 #line 3301 "configure"
 0:42.96 #include "confdefs.h"
 0:42.96
 0:42.96 main(){return(0);}
 0:42.97 configure: error: installation or configuration problem: C compiler cannot create executables.
 0:42.97 *** Fix above errors and then restart with\
 0:42.97                "/usr/bin/gmake -f client.mk build"
 0:42.97 ~/Build/pmmain/pmsrc/client.mk:361: recipe for target 'configure' failed
 0:42.97 gmake[2]: *** [configure] Error 1
 0:42.97 ~/Build/pmmain/pmsrc/client.mk:375: recipe for target '~/Build/pmmain/native/pmbuild/Makefile' failed
 0:42.97 gmake[1]: *** [~/Build/pmmain/native/pmbuild/Makefile] Error 2
 0:42.97 client.mk:171: recipe for target 'build' failed
 0:42.97 gmake: *** [build] Error 2
 0:42.98 0 compiler warnings present.

real    1m19.960s
user    0m21.418s
sys     0m13.270s
[native]$ nohup: redirecting stderr to stdout

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Mon Dec 12, 2016 5:34 pm

Sasquatch wrote:Okay, having a bit of deja vu now. Dropped to runlevel 3 to let the build have as much RAM as possible, ran 'time ./build', about a minute in I got an error telling me the C compiler cannot create executables. I've seen this on my desktop, and now on the laptop. From what I've gathered this is probably a sign I'm missing some dev tools or headers. But I'm not sure how to remedy the situation. The package manager says I have all the gcc and binutils stuff available. Any thoughts on what to look for or how to diagnose what's missing?

The only suggestion I can come up with is that you build a separate gcc compiler "with all the goodies" and try that.. Hopefully, your current gcc compiler has enough functionality to build another gcc compiler. Part 1 can take an hour or longer, depending on the machine. Let's install to "$HOME/gcc494" to avoid root/sudo requirements. The following instructions are generic. You can substitute another valid GCC version number to build another version than 4.9.4.

Code: Select all

#
# Instructions from https://gcc.gnu.org/wiki/InstallingGCC

wget http://ftpmirror.gnu.org/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2
tar xjf gcc-4.9.4.tar.bz2

#
# To get gmp, mpc, mpfr, and isl libs
# You *MUST* run this script from the top-level GCC source dir

cd gcc-4.9.4
contrib/download_prerequisites

#
# You *MUST NOT* run ./configure from the toplevel GCC source dir

mkdir gcc-build && cd gcc-build

#
# Your preferred options may differ, e.g. extra languages to build.  If
# building 5.0 or higher, it is strongly recommended to add the option
# --with-default-libstdcxx-abi=gcc4-compatible

../configure --prefix=$HOME/gcc494 \
             --disable-multilib \
             --enable-libstdcxx-threads \
             --enable-libstdcxx-time \
             --enable-shared \
             --enable-__cxa_atexit \
             --disable-libunwind-exceptions \
             --disable-libada

#
# I believe your laptop has 2 cores

make -j3

make install


Part 2; telling the "build" script to use an alternate gcc. One thing the "build" script does is to look for a file named "customize", in the same sub directory as "build". If found, the file is sourced. Source files are like "include files for bash scripts". Do NOT begin them with "#!/bin/bash" or mark them executable. They are plain text files, even though they have bash commands. Assuming the alternate gcc was installed to $HOME/gcc494, and this is a 64-bit linux, the following lines need to be included in "customize"

Code: Select all

  export GCCX_ROOT=$HOME/gcc494
  export PATH=$GCCX_ROOT/bin:$PATH
  export MANPATH=$GCCX_ROOT/share/man:MANPATH
  export INFOPATH=$GCCX_ROOT/share/info:$INFOPATH
  export LD_LIBRARY_PATH=$GCCX_ROOT/lib64:$GCCX_ROOT/lib:$LD_LIBRARY_PATH
  export LD_RUN_PATH=$GCCX_ROOT/lib64:$GCCX_ROOT/lib:$LD_RUN_PATH
  export LIBRARY_PATH=$GCCX_ROOT/lib64:$GCCX_ROOT/lib:$LIBRARY_PATH
  export INCLUDE_PATH=$GCCX_ROOT/include:$INCLUDE_PATH
  export CPLUS_INCLUDE_PATH=$GCCX_ROOT/include:$CPLUS_INCLUDE_PATH
  export C_INCLUDE_PATH=$GCCX_ROOT/include:$C_INCLUDE_PATH


If it's a 32-bit linux, change all occurrences of "lib64" to "lib". If you want to build another version than 4.9.4, browse http://ftpmirror.gnu.org/gcc/

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Mon Dec 12, 2016 10:49 pm

I think I have a simpler answer to the problem. I discovered what I screwed up. I successfully compiled a small solitaire game. Then I decided I wanted to recompile it with clang instead of gcc. So I did

Code: Select all

export CC=clang
and the build failed with the same error as before. So I changed to

Code: Select all

export CC=gcc

It appears adding the full path is important and I just added the name. I'm going to try again now that I've rebooted the machine and the ENV are all reset.

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Wed Dec 14, 2016 4:32 pm

Walter Dnes wrote:The only suggestion I can come up with is that you build a separate gcc compiler "with all the goodies" and try that..


I'm going to get to this tonight after the wife goes to bed. Hard for me to do much during the days (well, nights) I work. Twelve-hour shifts tend to drain a man's mental energy. I did try reinstalling gcc from the repos, no luck. I'm also wondering now if the continued problem isn't because the build environment is tainted with files from earlier attempts. I know there's a way to clean it up. I'll check into that as well.

And I greatly appreciate all your help with this. Seems these days most people just shout "RTFM" or "Google it" when you ask a question. That you are taking time to help me with this says a great deal about your character. Especially since the problem is not with your code.

Unix Ronin
Apollo supporter
Apollo supporter
Posts: 37
Joined: Wed Feb 11, 2015 1:31 pm
Location: New Hampshire, USA

Re: A linux build framework for Pale Moon

Postby Unix Ronin » Wed Dec 14, 2016 7:22 pm

OK, I just now got time to get back to this, trying to build 27.0.2 now. Got the source into pmsrc OK; got and unpacked utils; created my native, linked pmsrc, ran ../utils/makelinks, and so far all looking good; created my mozconfig.txt file. So far, so good. Verified correct autoconf (2.13) is available. Verified correct python (2.7) is installed and preferred. But when I try to build:

Code: Select all

babylon5:alaric:~/tmp/native:18 $ ./build
Error running mach:

    ['clobber']

The error occurred in mach itself. This is likely a bug in mach itself or a
fundamental problem with a loaded module.

Please consider filing a bug against mach by going to the URL:

    https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=mach

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

AssertionError

  File "/home/alaric/tmp/pmsrc/python/mach/mach/main.py", line 344, in run
    return self._run(argv)
  File "/home/alaric/tmp/pmsrc/python/mach/mach/main.py", line 432, in _run
    instance = cls(context)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/base.py", line 583, in __init__
    detect_virtualenv_mozinfo=detect_virtualenv_mozinfo)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/base.py", line 165, in from_environment
    config = loader.read_mozconfig(mozconfig, moz_build_app=current_project)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/mozconfig.py", line 237, in read_mozconfig
    parsed = self._parse_loader_output(output)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/mozconfig.py", line 347, in _parse_loader_output
    assert not in_variable
Error running mach:

    ['build']

The error occurred in mach itself. This is likely a bug in mach itself or a
fundamental problem with a loaded module.

Please consider filing a bug against mach by going to the URL:

    https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=mach

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

AssertionError

  File "/home/alaric/tmp/pmsrc/python/mach/mach/main.py", line 344, in run
    return self._run(argv)
  File "/home/alaric/tmp/pmsrc/python/mach/mach/main.py", line 432, in _run
    instance = cls(context)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/base.py", line 583, in __init__
    detect_virtualenv_mozinfo=detect_virtualenv_mozinfo)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/base.py", line 165, in from_environment
    config = loader.read_mozconfig(mozconfig, moz_build_app=current_project)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/mozconfig.py", line 237, in read_mozconfig
    parsed = self._parse_loader_output(output)
  File "/home/alaric/tmp/pmsrc/python/mozbuild/mozbuild/mozconfig.py", line 347, in _parse_loader_output
    assert not in_variable


It's still blowing up the moment mach is invoked.

Any ideas....?

Unix Ronin
Apollo supporter
Apollo supporter
Posts: 37
Joined: Wed Feb 11, 2015 1:31 pm
Location: New Hampshire, USA

Re: A linux build framework for Pale Moon

Postby Unix Ronin » Wed Dec 14, 2016 7:25 pm

I note by the way that everything worked fine up as far as 26.5.0. But something seems to have fundamentally changed in the build for 27.0 that is not working on my system, and I don't understand Python enough to know why it's failing.

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Wed Dec 14, 2016 9:30 pm

Unix Ronin wrote:It's still blowing up the moment mach is invoked.

Any ideas....?


You're running in $HOME/tmp, not in physical /tmp?

One booby-trap I run into in Gentoo is that python versions 2.x and 3.x are simultaneouslly installed, and the default is 3.x. After the install I have to manually select 2.x as the default. You may have already done this, but what is the output of...

Code: Select all

python --version


Please cd to your "native" directory and run

Code: Select all

tar -chzf files.tgz build customize mozconfig.txt

and attach "files.tgz" it to your next post. Don't worry about the error message if you don't have a "customize" file. I'll try your files on my system and check if there have been any changes causing problems.

Unix Ronin
Apollo supporter
Apollo supporter
Posts: 37
Joined: Wed Feb 11, 2015 1:31 pm
Location: New Hampshire, USA

Re: A linux build framework for Pale Moon

Postby Unix Ronin » Thu Dec 15, 2016 2:11 am

Correct, yes. My system /tmp is a tmpfs and I don't do builds in it.

babylon5:alaric:~:1 $ python --version
Python 2.7.12

gcc is version 4.9.3. files.tgz is attached. I didn't create a customize file.
Attachments
files.tgz
(2.03 KiB) Downloaded 12 times

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Thu Dec 15, 2016 1:30 pm

Finally! What a mess that was. It took all night for my old compiler to compile the new compiler. But that solved the problem. I guess the compiler that came with the distro was just missing something. I don't know if that's by design or accident. Anyhow, the build script is running now. I expect it to fail again because of the limited RAM on this laptop. But at least that's a known issue. And now I know I need to update the compiler on my desktop before I try doing anything fancy... like compiling programs.

*EDIT*
The build did fail again. I don't know if it was lack of RAM or what. This is the printout from the end of the stdout;

Code: Select all

13:15.18 Unified_cpp_editor_libeditor2.o
37:16.15 g++: internal compiler error: Killed (program cc1plus)
37:25.82 0x40c91c execute
37:25.82        ../../gcc/gcc.c:2854
37:25.82 Please submit a full bug report,
37:25.82 with preprocessed source if appropriate.
37:25.82 Please include the complete backtrace with any bug report.
37:25.82 See <http://gcc.gnu.org/bugs.html> for instructions.
37:25.82
37:26.02 In the directory  /home/neanderthal/Build/pmmain/native/pmbuild/editor/libeditor
37:26.03 The following command failed to execute properly:
37:26.03 /home/neanderthal/gcc494/bin/g++ -o Unified_cpp_editor_libeditor1.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /home/neanderthal/Build/pmmain/pmsrc/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/home/neanderthal/Build/pmmain/pmsrc/editor/libeditor -I. -I/home/neanderthal/Build/pmmain/pmsrc/dom/base -I/home/neanderthal/Build/pmmain/pmsrc/editor/txmgr -I/home/neanderthal/Build/pmmain/pmsrc/extensions/spellcheck/src -I/home/neanderthal/Build/pmmain/pmsrc/layout/generic -I/home/neanderthal/Build/pmmain/pmsrc/layout/style -I/home/neanderthal/Build/pmmain/pmsrc/layout/tables -I/home/neanderthal/Build/pmmain/pmsrc/layout/xul -I../../dist/include -I/home/neanderthal/Build/pmmain/native/pmbuild/dist/include/nspr -I/home/neanderthal/Build/pmmain/native/pmbuild/dist/include/nss -fPIC -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_editor_libeditor1.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -O2 -march=native -mfpmath=sse -floop-parallelize-all -fpredictive-commoning -ftree-loop-distribution -ftree-vectorize -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -freorder-blocks -O2 -fomit-frame-pointer /home/neanderthal/Build/pmmain/native/pmbuild/editor/libeditor/Unified_cpp_editor_libeditor1.cpp
37:26.08 /home/neanderthal/Build/pmmain/pmsrc/config/rules.mk:936: recipe for target 'Unified_cpp_editor_libeditor1.o' failed
37:26.10 gmake[5]: *** [Unified_cpp_editor_libeditor1.o] Error 1
37:26.10 gmake[5]: *** Deleting file 'Unified_cpp_editor_libeditor1.o'
37:26.10 gmake[5]: *** Waiting for unfinished jobs....
38:03.18 BatteryManager.o
41:08.51 /home/neanderthal/Build/pmmain/pmsrc/config/recurse.mk:74: recipe for target 'editor/libeditor/target' failed
41:08.51 gmake[4]: *** [editor/libeditor/target] Error 2
41:08.52 gmake[4]: *** Waiting for unfinished jobs....
41:10.09 Unified_cpp_widget1.o
41:49.51 libdom_battery.a.desc
41:58.66 Unified_cpp_widget2.o
47:24.50 libwidget.a.desc
47:28.55 /home/neanderthal/Build/pmmain/pmsrc/config/recurse.mk:36: recipe for target 'compile' failed
47:28.56 gmake[3]: *** [compile] Error 2
47:29.17 /home/neanderthal/Build/pmmain/pmsrc/config/rules.mk:541: recipe for target 'default' failed
47:29.17 gmake[2]: *** [default] Error 2
47:29.72 /home/neanderthal/Build/pmmain/pmsrc/client.mk:398: recipe for target 'realbuild' failed
47:29.72 gmake[1]: *** [realbuild] Error 2
47:29.77 client.mk:171: recipe for target 'build' failed
47:29.77 gmake: *** [build] Error 2
47:30.52 46 compiler warnings present.
nohup: redirecting stderr to stdout

real    47m56.901s
user    18m53.510s
sys     2m24.449s

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Thu Dec 15, 2016 2:49 pm

Unix Ronin wrote:Correct, yes. My system /tmp is a tmpfs and I don't do builds in it.

babylon5:alaric:~:1 $ python --version
Python 2.7.12

gcc is version 4.9.3. files.tgz is attached. I didn't create a customize file.


I've modified build and mozconfig.txt, and attached them as files2.tgz. The changes are...
  1. build Clutching at straws here... in the past, the build process used to call "make" directly, rather than "mach". I've replaced the calls to "mach" with "make" calls to hopefully sidestep the "mach" problems..
  2. mozconfig.txt Simplified the CFLAGS line.
    1. You do not need "-mcx16 -mpopcnt"; it's implied by the "-march=whatever"
    2. Removed the "graphite" optimization options. Graphite optimizations were not that great in GCC 4.9.3
    3. Changed to "-march=core2"; more about that later

Try building, using the modified build and mozconfig.txt. The screen output and logfiles will look different. If the process works, the tarball (*.bz2 file) will be located in subdirectory "pmbuild/dist/" Copy it over to the "amdfam10" machine (laptop?). Follow the manual install instructions in the first post in thread viewtopic.php?f=40&t=13530 and try running it.

A core2 isn't quite as powerful as an amdfam10, but it's better than a pentium4. If we can get this far, I have some ideas for getting an amdfam10 build working, but first, we have to walk before we can run. The amdfam10 build dies on me during the packaging stage.
Attachments
files2.tgz
modified build and mozconfig.txt
(1.99 KiB) Downloaded 12 times

Sasquatch
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: Wed Dec 07, 2016 6:28 am

Re: A linux build framework for Pale Moon

Postby Sasquatch » Fri Dec 16, 2016 1:57 pm

Code: Select all

$ palemoon -v
Moonchild Productions Pale Moon 27.0.3

Turns out the problem all along was the CFLAGS. I don't know which one(s), but I suspect the -O2. I ended up commenting out the CFLAGS line in the build script and substituting my own. I'm going to install the gcc test suite next week so I can experiment with the flags to see what my system dislikes. That seems like handy information to have around. All that trouble to install a different gcc and I ended up building this with the 5.3.0 version that shipped with the distro.

Since Pale Moon wasn't installed on this desktop I couldn't just replace the binary. I had to install the SlackBuild of 25.8 first so I had all the ancillary files and directories. Then I replaced the binary. As you can see, it's up and running. I just wish I had diagnosed the problem earlier so I could have avoided all the unnecessary questions here. Sorry about that.

If you're curious, the -march= on this box is k8-sse3.

Unix Ronin
Apollo supporter
Apollo supporter
Posts: 37
Joined: Wed Feb 11, 2015 1:31 pm
Location: New Hampshire, USA

Re: A linux build framework for Pale Moon

Postby Unix Ronin » Mon Dec 19, 2016 1:51 pm

@Walter, this got me a different and much more terse error:

babylon5:alaric:~/tmp/native:10 $ tar xvf ../files2.tgz
build
mozconfig.txt
babylon5:alaric:~/tmp/native:11 $ ./build
client.mk:117: *** missing separator. Stop.


The missing separator appears to be in MOZCONFIG_CONTENT.

Unix Ronin
Apollo supporter
Apollo supporter
Posts: 37
Joined: Wed Feb 11, 2015 1:31 pm
Location: New Hampshire, USA

Re: A linux build framework for Pale Moon

Postby Unix Ronin » Mon Dec 19, 2016 2:14 pm

I cannot shake the feeling that the underlying problem here is that there is some Python issue that is causing mach to blow technicolor chunks, and yet not affecting anything else. Gentoo uses Python a lot, and everything else is working perfectly. It is a mystery to me why mach is failing.

Walter Dnes
Lunatic
Lunatic
Posts: 262
Joined: Thu Jul 30, 2015 8:29 pm
Location: Vaughan, ON, Canada

Re: A linux build framework for Pale Moon

Postby Walter Dnes » Mon Dec 19, 2016 5:28 pm

Sorry, I'm out of ideas. I'm on Gentoo also, and native builds work fine here.


Return to “Pale Moon for Linux”

Who is online

Users browsing this forum: No registered users and 4 guests