Version 27 in Linux Topic is solved

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

Moderators: trava90, Indalecio, satrow

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sat Nov 26, 2016 7:36 pm

I'm still getting a build failure during all the configures when it runs the configure script in /js/src. It says it's creating a config.status file in there, but it doesn't, and that makes the build fail:

Code: Select all

js/src> checking for malloc_usable_size... (cached) yes
js/src> updating cache /home/steve/Desktop/downloads/mozilla-downloads/palemoon-27.0.1/Pale-Moon-27.0.1_Release/obj-x86_64-unknown-linux-gnu/config.cache
js/src> creating ./config.status
js/src> /bin/sh: 1: ./config.status: not found

*** Fix above errors and then restart with\
               "make -f client.mk build"


The rules file, which worked fine for 26.5.0, is essentially

Code: Select all

export SHELL=/bin/bash

%:
   dh $@ --parallel

override_dh_auto_clean:
   rm -f mozconfig
   dh_auto_clean

# copy in mozconfig from debian folder
override_dh_auto_configure:
   cp debian/mozconfig mozconfig

override_dh_auto_build:
   make -f client.mk build

override_dh_auto_install:
   make -f client.mk DESTDIR=$$(pwd)/debian/palemoon prefix=/usr \
        installdir=/usr/lib/palemoon
   rm -rf $$(pwd)/debian/palemoon/usr/share/idl


So it gets as far as the "make -f client.mk build" command, but then fails in /js/src while running that.

Edit: Hunting around, it looks like it's creating the config.status file in the OBJDIR, but then can't find it:

/obj-x86_64-unknown-linux-gnu/js/src/config.status
Last edited by stevepusser on Sat Nov 26, 2016 7:48 pm, edited 1 time in total.

zorzi
Apollo supporter
Apollo supporter
Posts: 31
Joined: Wed Aug 31, 2016 7:37 am

Re: Version 27 in Linux

Postby zorzi » Sat Nov 26, 2016 7:42 pm

Hello,

I just have a question. When will the 27 version will be pushed in the debian repos ?

Thanks guys for your great work.

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

Re: Version 27 in Linux

Postby Walter Dnes » Sat Nov 26, 2016 7:49 pm

Unix Ronin wrote:And this is the result of attempting to configure:

Code: Select all

babylon5:alaric:~/Pale-Moon:6 $ ./mach configure


This is in a brand new clean git clone.


I think I see the problem. There is no "./mach configure" command. Here's a fragment from my build script...

Code: Select all

#
# Clean up to a known state
./mach clobber
#
# Do the build process complete with a log file.
./mach build &> /dev/stdout | tee ${startdir}/buildlog.txt
#
# If it works, proceed to the packager process.
if [ ${PIPESTATUS[0]} == 0 ]; then
#
# The "./mach package" command deserves its own log, too.
   ./mach package &> /dev/stdout | tee ${startdir}/packagelog.txt
fi


The 3 commands I use are...

Code: Select all

./mach clobber
./mach build &> /dev/stdout | tee ${startdir}/buildlog.txt
./mach package &> /dev/stdout | tee ${startdir}/packagelog.txt


"${startdir}" is the parent directory of my pmsrc/ directory
"./mach clobber" is a safety precaution. I get a message that it's not needed, but I run it anyways.

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sat Nov 26, 2016 8:05 pm

zorzi wrote:Hello,

I just have a question. When will the 27 version will be pushed in the debian repos ?

Thanks guys for your great work.


If you're talking about the openSUSE build repository, I'm having trouble getting to build first on my own Debian machine.

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sat Nov 26, 2016 8:16 pm

I'm also looking at the js config.status file I get for the successful 26.5.0 vs. vs the failed 27.0.1.

26.5.0 has this in it toward the end:

Code: Select all

--cache-file=../.././config.cache --srcdir=/home/steve/Desktop/downloads/mozilla-downloads/palemoon-27.0.1/palemoon-26.5.0-source/js/
src '''),


The failed one has this instead:

Code: Select all

--cache-file=/home/steve/Desktop/downloads/mozilla-downloads/palemoon-27.0.1/Pale-Moon-27.0.1_Release/obj-x86_64-unknown-linux-gnu/config.
cache '''),


i.e., no "--srcdir" configuration and the cache file entry is different.

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1239
Joined: Mon May 20, 2013 6:19 pm
Location: Earth
Contact:

Re: Version 27 in Linux

Postby trava90 » Sat Nov 26, 2016 9:01 pm

Unix Ronin wrote:And this is the result of attempting to configure:

You don't need to run configure. Try just running "./mach build" (minus quotes) and that should work.

stevepusser wrote:I'm still getting a build failure during all the configures when it runs the configure script in /js/src. It says it's creating a config.status file in there, but it doesn't, and that makes the build fail:

Steve, are you specifying an OBJDIR in mozconfig (such as mk_add_options MOZ_OBJDIR=/home/trava90/PaleMoon/pmbuild/)? Explicitly specifying an OBJDIR has resolved build issues with 27 in the past.

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

Re: Version 27 in Linux

Postby Unix Ronin » Sun Nov 27, 2016 1:08 am

Walter Dnes wrote:
Unix Ronin wrote:And this is the result of attempting to configure:

Code: Select all

babylon5:alaric:~/Pale-Moon:6 $ ./mach configure


This is in a brand new clean git clone.


I think I see the problem. There is no "./mach configure" command. Here's a fragment from my build script...


Well that would certainly have an effect. The build instructions on http://developer.palemoon.org/Developer ... ead:Gentoo are wrong in that regard, then.


Apparently 'clobber' isn't currently working as a mach command either. And './mach build' yields the same error. It looks like mach isn't working at all.

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

Re: Version 27 in Linux

Postby Walter Dnes » Sun Nov 27, 2016 2:06 am

Unix Ronin wrote:Apparently 'clobber' isn't currently working as a mach command either. And './mach build' yields the same error. It looks like mach isn't working at all.

Do you want a copy of my build script and environment? I know that works. It may be overkil for some people. I've got it set up for flexibility, so it can use the same infrastructure to do a native build or a build for another machine. It can also switch at will between different versions of gcc.

Maybe I should start a separate thread about my build setup, because there will probably be questions from several people. I switched from "make" to "mach" some time ago, and ran into, and solved, the same problems. For someone who's suddenly confronted with a totally new setup... "everything you know is wrong". :?

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sun Nov 27, 2016 2:51 am

I got a Debian 8 package to build on the OBS, but it died when it went into the install step (install into a deb package, which is basically a mirror of how they will be installed on the system.) It was because I had a manual command in there to install the extensions that used to be in the /integration folder into /usr/lib/palemoon, and since that folder's no longer there, error. They were the statusbar and something else with a long hash or something.

Are those extensions obsolete now, so I can just disable that particular command?

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

Re: Version 27 in Linux

Postby Unix Ronin » Sun Nov 27, 2016 3:10 am

Walter Dnes wrote:
Unix Ronin wrote:Apparently 'clobber' isn't currently working as a mach command either. And './mach build' yields the same error. It looks like mach isn't working at all.

Do you want a copy of my build script and environment? I know that works. It may be overkil for some people. I've got it set up for flexibility, so it can use the same infrastructure to do a native build or a build for another machine. It can also switch at will between different versions of gcc.


That might be a good starting place. I just compared the mach from 26.5.0 and 27.0.0, and they are very different, but it looks like 27.0.0's mach contains 26.5.0's mach twice, once with a hack for win32. Just as a sanity check, I just tried to run a 27.0.0 build using 26.5.0's mach just to see what would happen, and got all the same errors. But a 'chmod -R +x .; .mach build' in 26.5.0's source dir seems to work just fine.

It doesn't seem to make a difference whether I use the source.7z tarball or a git clone, by the way. Same errors either way.

I do notice that the Python files in palemoon-27.0.0/python/mach/mach/ and in palemoon-26.5.0/python/mach/mach/ have some substantial differences.

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1239
Joined: Mon May 20, 2013 6:19 pm
Location: Earth
Contact:

Re: Version 27 in Linux

Postby trava90 » Sun Nov 27, 2016 5:40 am

stevepusser wrote:I got a Debian 8 package to build on the OBS, but it died when it went into the install step (install into a deb package, which is basically a mirror of how they will be installed on the system.) It was because I had a manual command in there to install the extensions that used to be in the /integration folder into /usr/lib/palemoon, and since that folder's no longer there, error. They were the statusbar and something else with a long hash or something.

Are those extensions obsolete now, so I can just disable that particular command?

They have been integrated into the browser. There is no need for any manual command to include them.

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

Re: Version 27 in Linux

Postby Walter Dnes » Sun Nov 27, 2016 6:46 am

I've created a separate thread viewtopic.php?f=37&t=13898 for my Pale Moon build environment. Before asking questions, please read the readme.txt in the utils.tgz archive in the first message of that thread.

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

Re: Version 27 in Linux

Postby Unix Ronin » Sun Nov 27, 2016 7:52 pm

Walter Dnes wrote:I've created a separate thread viewtopic.php?f=37&t=13898 for my Pale Moon build environment. Before asking questions, please read the readme.txt in the utils.tgz archive in the first message of that thread.


Thanks Walter, I'll check that out.

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sun Nov 27, 2016 8:47 pm

trava90 wrote:
Unix Ronin wrote:And this is the result of attempting to configure:

You don't need to run configure. Try just running "./mach build" (minus quotes) and that should work.

stevepusser wrote:I'm still getting a build failure during all the configures when it runs the configure script in /js/src. It says it's creating a config.status file in there, but it doesn't, and that makes the build fail:

Steve, are you specifying an OBJDIR in mozconfig (such as mk_add_options MOZ_OBJDIR=/home/trava90/PaleMoon/pmbuild/)? Explicitly specifying an OBJDIR has resolved build issues with 27 in the past.


I'll give that a try; thanks for the tip. But I can't use a specific path, because my sources have to build on any machine. Can I use a CURDIR or pwd variable?

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Sun Nov 27, 2016 11:11 pm

stevepusser wrote:
trava90 wrote:
Unix Ronin wrote:And this is the result of attempting to configure:

You don't need to run configure. Try just running "./mach build" (minus quotes) and that should work.

stevepusser wrote:I'm still getting a build failure during all the configures when it runs the configure script in /js/src. It says it's creating a config.status file in there, but it doesn't, and that makes the build fail:

Steve, are you specifying an OBJDIR in mozconfig (such as mk_add_options MOZ_OBJDIR=/home/trava90/PaleMoon/pmbuild/)? Explicitly specifying an OBJDIR has resolved build issues with 27 in the past.


I'll give that a try; thanks for the tip. But I can't use a specific path, because my sources have to build on any machine. Can I use a CURDIR or pwd variable?

Update: I found out that just specifying a name for the OBJDIR such as pmbuild works to get the system to create and use it, so I have it building for MX Linux on my local machine now--that got by the js/src config.status problem. The build failures on the various Ubuntu distros on the OBS are more troubling, but I have a couple of things related to dpkg-shlibs to try for that.



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

Re: Version 27 in Linux

Postby Walter Dnes » Sun Nov 27, 2016 11:28 pm

stevepusser wrote:Can I use a CURDIR or pwd variable?

Yes, you can. "${PWD}" is your friend. It's a reserved bash variable containing the "Present Working Directory" path. Fragments from my build script...

Code: Select all

#!/bin/bash
#
# Define starting directory explicitly.  Relative paths do strange
# things under symlinking
startdir="${PWD}"
#
# Set up build directory
export builddir="${startdir}/pmbuild"


and from my mozconfig.txt (which gets copied to pmsrc/.mozconfig)

Code: Select all

mk_add_options MOZ_OBJDIR=${builddir}

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Tue Nov 29, 2016 10:22 pm

I solved the issue with the 27.0.1 OBS builds for Debian 7, 8, and Ubuntu 14.04 through 16.04 builds in the OBS, so the last builds are just finishing up in there. It turned out to be specific to the Debian packaging procedure used by Debian and Ubuntu, so other personal builds on other Linuxes wouldn't suffer the same

Technical stuff for any other Debian-style packagers follows:

dh_shlibs is called after the finished files are installed into the debian/palemoon folder. That program queries any binaries it finds in there as to what dependencies they require, and then automagically adds those to the package. For the failed builds, it could not find the .so files where they had been installed, so I had to give dh_shlibs a little help finding them.

DESTDIR is set earlier in the debian/rules file as debian/palemoon/usr/lib/palemoon, and dpkg-shlibs is searching in the debian/palemoon or debian/tmp/palemoon folder, so this override turned out to work:

Code: Select all

dh_shlibs -l /usr/lib/palemoon


It's still a mystery why previous versions of Pale Moon didn't need it, or why Jessie and closely related Ubuntu versions don't need it for version 27, but at least it works. Maybe I can convert it to a multiarch install down the road if I get bored and want to tackle something new. :p

stevepusser
Fanatic
Fanatic
Posts: 201
Joined: Sat Aug 01, 2015 6:33 pm
Location: California

Re: Version 27 in Linux

Postby stevepusser » Thu Dec 01, 2016 6:07 pm

Update: I discovered that the initial Debian package build failures I was getting on my own machine, with the "js/src/config.status" file not being found during the intial configure process, is somehow related to the path to the source folder. I have a sample size of two, but one had the word "mozilla" in the path, and the other failed build had the word "mozconfig". When I simplified the path to "/home/steve/palemoon" or something similar, no problems. It's only a sample of two, but the "moz" string falls under suspicion...

User avatar
gracious1
Fanatic
Fanatic
Posts: 225
Joined: Sun May 15, 2016 5:00 am
Location: sunny upsate NY
Contact:

Re: Version 27 in Linux

Postby gracious1 » Thu Dec 08, 2016 3:31 am

Hello. I am a relative newcomer to Pale Moon, but I love it. There is talk in this thread the Pale Moon 27 is ready for Linux, but it doesn't seem to be ready for Ubuntu. When I give the command,

Code: Select all

sudo apt-get install palemoon

I get the response

Code: Select all

palemoon is already the newest version.

:cry:
When will Pale Moon 27 be ready in the depositories?

BTW, I am using Pale Moon 26.5.0 on Ubuntu 14.04 LTS.

Thanks,
G.
ImageBe not the first by whom the new are tried, nor yet the last to lay the old aside. — Alexander Pope

User avatar
lightning slinger
Fanatic
Fanatic
Posts: 119
Joined: Mon Jul 27, 2015 5:50 pm
Location: England

Re: Version 27 in Linux

Postby lightning slinger » Thu Dec 08, 2016 10:26 am

According to this page https://build.opensuse.org/package/binaries/home:stevenpusser/palemoon?repository=xUbuntu_14.04
Steve has already updated his 14.04 repository version to 27.0.2

Did you run this command first?

Code: Select all

sudo apt-get update

then

Code: Select all

sudo apt-get upgrade


Return to “Pale Moon for Linux”

Who is online

Users browsing this forum: No registered users and 8 guests