LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Puppy
User Name
Password
Puppy This forum is for the discussion of Puppy Linux.

Notices


Reply
  Search this Thread
Old 12-08-2016, 12:21 PM   #1
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Rep: Reputation: Disabled
Fatdog64 710 First Compilation: Palemoon 27.0.2 Missing features.h Fatal Error


I prefer Palemoon as my web browser and because of this, I know there has been compatibility and functionality issue from past versions before version 27.0 came out. 27.0 is the milestone at which Twitter videos will play, Target.com loads (before it would hang on their main page), Mail.com logs in (white screen after login), and Wattpad shows progress correctly when reading a story. To clarify, I don't use Wattpad, Target, or Twitter (except for occasional videos embedded into articles I read), but it reflects poorly on the browser and hinders use in many regards. So, I sought how to compile the latest Palemoon (27.0.2) using the Fatdog native pkgbuild system because of the unique nature of Fatdog's spot security. I decided to reuse the recipe from Fatdog's 26.5.0 Palemoon package after editing to include a new md5sum and version number.

Here are the steps I've taken thus far and the workarounds found throughout the process.

1) Install gstreamer2, Fatdog-pkgbuild, Make, Python 2.7.X, Autoconf213, GNU m4, gcc (binutils as dependency), perl (gdbm as dependency), libcloog, libisl

2) Download glibc from the Fatdog64's web package repository and copy /glibc-2.19-x86_64-1/lib64/ to /usr/ and overwrite contents (I needed to do this to overcome a faulty default glibc package that's marked locked in gslapt, yet according to the list of installed files, libc_nonshared.a should be installed when it's clearly missing from Fatdog64 710.)

3) Ignore making a LOCALPKG directory as the Help file instructs, the build-pkg.sh script only looks in /usr/src/pkgbuild/pkg/

4) Create a folder within the /usr/src/pkgbuild/pkg/ directory. Any generic name of the package you wish to compile is sufficient. For Palemoon, I put the recipe file in /usr/src/pkgbuild/pkg/Palemoon/recipe.

5) Look to see if an older version is available in the Fatdog repository. If so, download it so you can reuse the recipe after editing with a text editor to change the following fields

PKGVER=#
N.B. BE EXACT WITH THIS FIELD

MD5SUM=
USE THE md5sum COMMAND TO CHECK THE SOURCE CODE

6) Open a terminal and type cd /usr/src/pkgbuild/
To begin compiling the package, type:

./build-pkg.sh FOLDER-NAME-WITH-RECIPE-INSIDE

7) Here is the showstopper: /usr/include/c++/4.8.3/x86_64-fatdog-linux-gnu/bits/os_defines.h:39:22: fatal error: features.h: No such file or directory


features.h seems to be missing but from which package in Fatdog64 is my question. Presumably, os_defines.h is referring to /usr/include/c++/4.8.3/x86_64-fatdog-linux-gnu/bits/features.h but it cannot be found. I found a file with the same name in /usr/include/c++/4.8.3/parallel/ and copied that into its place, but I still get the same error. The copy from /parallel/ has since been deleted.

On another note, I did find a fix for an issue with symlinks for Palemoon when uninstalling old versions and reinstalling a new version. I'm unsure whether the issue is Fatdog64 specific but that seems to be the case (i.e., I've never encountered this before acrost about the two dozen or so other distributions I've used in my life).

If Palemoon won't open, a broken symlink is usually to blame.
To fix this:
Open /usr/bin/ and find the Palemoon symlink.
Delete it.
Open /usr/lib64/Palemoon-2#.#.# (Replace # with whatever version you have installed).
Create a symlink with the palemoon executable.
FIXED!

P.S. Still waiting almost a week later for my Murga Linux Forums confirmation email... On LinuxQuestions, I got my account and posting privileges within 15 minutes. Kudos to LinuxQuestions forum!

Last edited by Adhil; 12-08-2016 at 06:13 PM. Reason: Grammar
 
Old 12-09-2016, 07:31 AM   #2
JakeSFR
LQ Newbie
 
Registered: Dec 2016
Posts: 5

Rep: Reputation: Disabled
Quote:
1) Install gstreamer2, Fatdog-pkgbuild, Make, Python 2.7.X, Autoconf213, GNU m4, gcc (binutils as dependency), perl (gdbm as dependency), libcloog, libisl
You could have saved yourself some trouble by loading (right-click -> Load SFS) fd64-devx_710.sfs, instead of installing individual packages from repo.
That's where all the dev stuff is (except for 'gstreamer2' and 'autoconf213', in this particular case).
Download it via Control Panel -> System -> SFS Manager.

Just checked and PM-27.0.2 builds fine for me, provided that you also install 'gst2-plugins-base' and correct this line in the recipe:
Code:
ac_add_options --enable-gstreamer=1.0
to just:
Code:
ac_add_options --enable-gstreamer

Quote:
P.S. Still waiting almost a week later for my Murga Linux Forums confirmation email... On LinuxQuestions, I got my account and posting privileges within 15 minutes. Kudos to LinuxQuestions forum!
Did you check your Spam folder?
It's a known problem that notifications from Murga end up right there, at least in Gmail.

Greetings!
 
2 members found this post helpful.
Old 12-12-2016, 11:29 AM   #3
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Original Poster
Rep: Reputation: Disabled
You're correct! The fd64-devx_710.sfs package worked as that let me at least get to the compilation stage, but a new issue cropped up.

The following was all done from a fresh install from scratch to avoid conflictions with my previous attempt (i.e., 1 package at a time).

Everything seemed alright, I edited the recipe to remove 1.0 off the end of gstreamer, installed gst2-plugins-base, gstreamer2, autoconf213, and Fatdog-pkgbuild.

I proceeded to compile with
Code:
./build-pkg.sh Palemoon
I waited for 7 hours hoping for it to finish but knowing that no program I've ever seen takes this long to compile. Something was amiss, yet I couldn't see the terminal output any longer as my CPU usage was too high & my system became unresponsive. I noticed after about and hour my drive activity light lit up and blinked rapidly. I gave up the endeavor shortly thereafter and manually rebooted.

My hardware specifications aren't terrible either (Intel Core 2 Duo, 4Gb RAM, SSD, Intel GMA 960 Integrated Graphics).

If you could recommend how I should proceed with compiling the latest Palemoon 27.0.2 with spot user security on Fatdog64 710, I would be greatly indebted, kind sir. Thank you for the help you've provided thus far! I and probably other Fatdog64 users appreciate your assistance tremendously.

Quote:
Originally Posted by JakeSFR View Post
Did you check your Spam folder?
It's a known problem that notifications from Murga end up right there, at least in Gmail.
Greetings!
Nothing in my spam folder, and to clarify, I am using a Mail.com email. It really feeds into the "Murga Linux Forums is Dead" hysteria others have said in the past. I know it's not true as people are still getting accounts activated daily. I wonder what the average delay is for the confirmation email. By the time I finally get an account on Murga Linux Forums, the solutions may already be found here, defeating the purpose.

If I can actually get the native Fatdog Package build system to function as intended, I will move on to compiling udevil for spacefm and others such that the Fatdog community might benefit from more and newer packages. Until then, I will use AntiX.

Last edited by Adhil; 12-13-2016 at 05:47 PM. Reason: Grammar Nazis Forced Me
 
1 members found this post helpful.
Old 12-12-2016, 12:20 PM   #4
JakeSFR
LQ Newbie
 
Registered: Dec 2016
Posts: 5

Rep: Reputation: Disabled
Quote:
I waited for 7 hours hoping for it to finish but knowing that no program I've ever seen takes this long to compile. Something was amiss, yet I couldn't see the terminal output any longer as my CPU usage was too high and ergo my system became unresponsive. I gave up the endeavor shortly thereafter. If you could recommend how I should proceed with compiling the latest Palemoon 27.0.2 with spot user security on Fatdog64 710, I would be greatly indebted, kind sir.
IIRC it took less than 30m on my Intel i3, 4GiB RAM laptop.
Perhaps the unresponsiveness wasn't caused by CPU, but low RAM, because the build process takes place in tmpfs (/tmp/build-pkg...) - the unpacked Palemoon sources alone are 1GiB!
I do recall that I did alter BUILD_DIR_PREFIX variable for that reason.

So, maybe try something like:
Code:
export BUILD_DIR_PREFIX=/path/to/some/ext?/partition
./build-pkg.sh palemoon


Quote:
Nothing in my spam folder, and to clarify, I am using a Mail.com email. It really feeds into the "Murga Linux Forums is Dead" hysteria others have said in the past. I know it's not true as people are still getting accounts activated daily. I wonder what the average delay is for the confirmation email. By the time I finally get an account on Murga Linux Forums, the solutions may already be found here, defeating the purpose.
Did you try again later (or using a different email provider)? Maybe it was just a temporary glitch...
From what I recall (but it was 5 years ago), the confirmation email arrived in an instant.

Greetings!
 
2 members found this post helpful.
Old 12-13-2016, 10:06 AM   #5
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Original Poster
Rep: Reputation: Disabled
Code:
/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir/_virtualenv/bin/python /tmp/Pale-Moon-27.0.2_Release/config/expandlibs_gen.py -o libdom_smil.a.desc Unified_cpp_dom_smil0.o Unified_cpp_dom_smil1.o  
make[5]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir/dom/smil'
make[4]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir'
/tmp/Pale-Moon-27.0.2_Release/config/recurse.mk:36: recipe for target 'compile' failed
make[3]: *** [compile] Error 2
make[3]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir'
/tmp/Pale-Moon-27.0.2_Release/config/rules.mk:541: recipe for target 'default' failed
make[2]: *** [default] Error 2
make[2]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir'
/tmp/Pale-Moon-27.0.2_Release/client.mk:398: recipe for target 'realbuild' failed
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release'
client.mk:171: recipe for target 'build' failed
make: *** [build] Error 2
The latest issue lies above...
 
Old 12-13-2016, 11:53 AM   #6
JakeSFR
LQ Newbie
 
Registered: Dec 2016
Posts: 5

Rep: Reputation: Disabled
I don't see the source of this error.
Could you please attach full log:
Code:
./build-pkg.sh palemoon 2>&1 | tee pm.log
Greetings!
 
1 members found this post helpful.
Old 12-13-2016, 05:36 PM   #7
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Original Poster
Rep: Reputation: Disabled
I had to split the log file into thirds because of the infernal forum restrictions (i.e., 256Kb max text file size...).

Considering the technological advancements of late, you'd figure they could permit at least a megabyte's worth of data.

Anyhow, they are numbered in order for your convenience. I was rushed to post the error codes, so time didn't allow for me to provide more meaningful details last post. Log files pm3.log or pm2.log should include the relevant portions.

I apologize for the incompleteness of my previous post and thank you heartily for your support thus far. With your help, I may resolve this problem for both myself and others who follow in my footsteps.
Attached Files
File Type: log pm1.log (145.8 KB, 7 views)
File Type: log pm2.log (192.0 KB, 7 views)
File Type: log pm3.log (226.9 KB, 5 views)

Last edited by Adhil; 12-13-2016 at 07:27 PM. Reason: Grammar
 
Old 12-13-2016, 07:43 PM   #8
JakeSFR
LQ Newbie
 
Registered: Dec 2016
Posts: 5

Rep: Reputation: Disabled
Thank you for the log.

Here's the culprit (in pm3):

Code:
In file included from /tmp/Pale-Moon-27.0.2_Release/dom/base/nsStyledElement.h:18:0,
                 from /tmp/Pale-Moon-27.0.2_Release/dom/base/nsMappedAttributeElement.h:16,
                 from /tmp/Pale-Moon-27.0.2_Release/dom/html/nsGenericHTMLElement.h:10,
                 from /tmp/Pale-Moon-27.0.2_Release/layout/tables/nsTableCellFrame.cpp:22,
                 from /tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir/layout/tables/Unified_cpp_layout_tables0.cpp:38:
../../dist/include/mozilla/dom/Element.h:1786:1: internal compiler error: Segmentation fault
 }
Unfortunately, I've no idea what could have caused the compiler to crash.
There are many theories out there on the web: hardware (RAM) issue, faulty GCC version, out-of-memory condition, bad FLAGS, too many -j(obs), and so on...

I don't suspect GCC or FLAGS, because it wouldn't work for me, too, unless it occurs in combination with specific hardware.

Maybe try building with '-j1' by removing the indicated line from the recipe:

Code:
# If you have a multicore machine you can speed up the build by running
# several jobs at once, but if you have a single core, delete this line:
mk_add_options MOZ_MAKE_FLAGS="$MAKEFLAGS" #-j6 or whatever
Also, if you haven't done it already, create and enable swapfile/partition.
I have 4G ram, but also 2G swap, however I don't remember if it was used during compilation.

You could also try building on a different machine, if possible.

Greetings!
 
Old 12-13-2016, 09:39 PM   #9
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by JakeSFR View Post
Unfortunately, I've no idea what could have caused the compiler to crash.
There are many theories out there on the web: hardware (RAM) issue, faulty GCC version, out-of-memory condition, bad FLAGS, too many -j(obs), and so on...
I've read of grumblings from various Linux communities regarding Palemoon's segmentation faults, but usually, they refer to crashing during browsing. The segfault issue manifesting during compilation & operation is probably what hinders more widespread adoption of Palemoon in said distributions. There have been posts here on Linux Questions chronicling such issues.

I attempted another compile without multicore support and came upon a new error in Unified_cpp_xpcom. This an excerpt of the log which is in a compressed .tzma and renamed as a .log to fool the attachment system. Remove the .log portion of the file extension and extract to read my log.
Code:
Unified_cpp_xpcom_build1.o
In file included from /tmp/Pale-Moon-27.0.2_Release/xpcom/build/../glue/nsISupportsUtils.h:14:0,
                 from ../../dist/include/mozilla/AppData.h:13,
                 from /tmp/Pale-Moon-27.0.2_Release/xpcom/glue/AppData.cpp:7,
                 from /tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir/xpcom/build/Unified_cpp_xpcom_build0.cpp:2:
/tmp/Pale-Moon-27.0.2_Release/xpcom/build/../glue/nsISupportsImpl.h: In function 'std::atomic<char16_t>* const this':
/tmp/Pale-Moon-27.0.2_Release/xpcom/build/../glue/nsISupportsImpl.h:350:30: internal compiler error: in cgraph_local_info, at cgraph.c:1428
   MOZ_ALWAYS_INLINE nsrefcnt operator=(nsrefcnt aValue)
                              ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
/tmp/Pale-Moon-27.0.2_Release/config/rules.mk:936: recipe for target 'Unified_cpp_xpcom_build0.o' failed
make[5]: *** [Unified_cpp_xpcom_build0.o] Error 1
make[5]: Leaving directory '/tmp/Pale-Moon-27.0.2_Release/palemoon-build-dir/xpcom/build'
/tmp/Pale-Moon-27.0.2_Release/config/recurse.mk:74: recipe for target 'xpcom/build/target' failed
make[4]: *** [xpcom/build/target] Error 2
Quote:
Also, if you haven't done it already, create and enable swapfile/partition.
I have 4G ram, but also 2G swap, however I don't remember if it was used during compilation.
I have a 6Gb swap on partition sda2, 4Gb of RAM, and an Intel Core 2 Duo dual core CPU. Odd how I am having difficulties with this issue, yet your guidance has proven helpful to circumvent segfaults on compile.
Attached Files
File Type: log Logcompress.tzma.log (52.5 KB, 6 views)

Last edited by Adhil; 12-15-2016 at 12:29 PM. Reason: Formatting
 
Old 12-14-2016, 11:56 AM   #10
JakeSFR
LQ Newbie
 
Registered: Dec 2016
Posts: 5

Rep: Reputation: Disabled
I must admit I'm clueless...

Maybe you should build something else first, something smaller/simpler like 'galculator' or 'engrampa', just to make sure everything's ok with the setup itself.

Or perhaps building in VirtualBox* or Qemu (the latter is a part of devx.sfs) might be worth giving a try - it would at least partially separate the build environment from the real hardware.


*) FYI: if you're going to install VBox in Fatdog, you also need to load kernel-source-4.4.35.sfs.
Also, the lastest branch (5.1.x) won't install properly, unless you delete /bin/readlink symlink (which points to busybox, there's still the "full" version in /usr/bin) before installing it.


Greetings!
 
Old 03-13-2017, 02:08 AM   #11
Adhil
LQ Newbie
 
Registered: Dec 2016
Posts: 10

Original Poster
Rep: Reputation: Disabled
Tying up loose ends.

According to Moonchild, Palemoon's lead developer & creator, my limited hardware setup restricts me being able to compile this software. As per their post here:

Quote:
Make sure you have powerful enough hardware running Windows 7 SP1 or above (at least dual-core full-fledged processor, at least 4GB of Ram (8 or more recommended), at least 20GB of free disk space). Don't try to build on a laptop. If you are even considering doing this, stop. You need a development-class computer to build Pale Moon.
* (Bold emphasis theirs.)

I'm marking this thread as SOLVED, even though I'm disappointed with the answer found.

Here is the answer: Don't EVER try to compile Palemoon on a laptop or limited hardware setup.


Lesson learned.
 
  


Reply

Tags
compilation, error, fatal, missing, palemoon


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Kaffeine 1.2.2 buggy and missing half the features of 0.8 biggles1963 Linux - Software 1 12-04-2013 04:43 AM
Error 502 : Display Fatal Error Message, Error pushing image, dbpaCT failed! HaloCheng Linux - Newbie 1 09-12-2012 01:02 PM
Debian: compilation Error - missing ...linux/Documentation/lguest directory JonesD1 Linux - Newbie 4 08-17-2009 07:50 AM
Stubs-32.h file missing error during compilation on Windows using Colinux + FC4 rkaur Linux - Software 0 03-21-2007 07:11 AM
StepMania Features Missing ObsidianX Linux - Games 0 12-21-2004 03:45 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Puppy

All times are GMT -5. The time now is 11:49 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration