Page 2 of 3

Re: Version 27 in Linux

Posted: 2016-11-26, 19:36
by stevenpusser
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

Re: Version 27 in Linux

Posted: 2016-11-26, 19:42
by zorzi
Hello,

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

Thanks guys for your great work.

Re: Version 27 in Linux

Posted: 2016-11-26, 19:49
by Walter Dnes
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.

Re: Version 27 in Linux

Posted: 2016-11-26, 20:05
by stevenpusser
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.

Re: Version 27 in Linux

Posted: 2016-11-26, 20:16
by stevenpusser
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.

Re: Version 27 in Linux

Posted: 2016-11-26, 21:01
by trava90
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 01:08
by Unix Ronin
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 02:06
by Walter Dnes
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". :?

Re: Version 27 in Linux

Posted: 2016-11-27, 02:51
by stevenpusser
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?

Re: Version 27 in Linux

Posted: 2016-11-27, 03:10
by Unix Ronin
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 05:40
by trava90
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 06:46
by Walter Dnes
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 19:52
by Unix Ronin
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.

Re: Version 27 in Linux

Posted: 2016-11-27, 20:47
by stevenpusser
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?

Re: Version 27 in Linux

Posted: 2016-11-27, 23:11
by stevenpusser
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.


Re: Version 27 in Linux

Posted: 2016-11-27, 23:28
by Walter Dnes
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}

Re: Version 27 in Linux

Posted: 2016-11-29, 22:22
by stevenpusser
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

Re: Version 27 in Linux

Posted: 2016-12-01, 18:07
by stevenpusser
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...

Re: Version 27 in Linux

Posted: 2016-12-08, 03:31
by gracious1
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.

Re: Version 27 in Linux

Posted: 2016-12-08, 10:26
by lightning slinger
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