Building Pale Moon on Devuan fails 2

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-26, 19:14

I'd like to close my previous topic where I learned a lot how to build Pale Moon:
Building Pale Moon on Devuan fails
viewtopic.php?t=15751
I've learned a lot during the issues I needed to solve in that topic, and linked from that topic. I learned to even set up a repo to experiment for (hopefully in the future) offering Pale Moon to some other users of Devuan:
A Pale Moon repo for Devuan/Debian
viewtopic.php?f=37&t=18805

But I'm having hard time today compiling Pale Moon, with bundled libicu not willing to compile fine in my machine, and that will be the starting point in this continuation topic.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-26, 19:58

So, as explained (although it's a tortuous read) in the previous topic to which this is a continuation, I got the sources:

Code: Select all

torsocks dget https://download.opensuse.org/repositories/home:/stevenpusser/Debian_9.0/palemoon_27.9.4~repack-1.dsc
( of course leave out torsocks, that's just me practicing tor, kind of figuring out how it works )
That got me:

Code: Select all

some/dir$ ls -ABgo
-rw-r--r-- 1     29168 2018-07-24 16:36 palemoon_27.9.4~repack-1.debian.tar.xz
-rw-r--r-- 1      1258 2018-07-24 16:32 palemoon_27.9.4~repack-1.dsc
-rw-r--r-- 1 124049224 2018-07-24 16:35 palemoon_27.9.4~repack.orig.tar.xz
some/dir$
And then:

Code: Select all

dpkg-source -x palemoon_27.9.4~repack-1.dsc
unpacked it the right way.

Since I am unsure about dbus, pulse and maybe some other options (oh yes, the SSL-key logging pactch I want to apply), all already previously explained, in that topic, or linked from), I decided to go for the New Moon, and see if I can later get official with some next package.

So this is my mozconfig:

Code: Select all

export CC=gcc-4.9
export CXX=g++-4.9

mk_add_options MOZ_CO_PROJECT=browser
ac_add_options --enable-application=browser
ac_add_options --enable-release
ac_add_options --disable-installer
ac_add_options --disable-updater

mk_add_options MOZ_OBJDIR=/home/$USER/pmbuild/


ac_add_options --enable-optimize="-O2 -msse2 -mfpmath=sse"
ac_add_options --with-pthreads

ac_add_options --enable-shared-js
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --x-libraries=/usr/lib

ac_add_options --disable-dbus
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa

ac_add_options --prefix=/usr
ac_add_options --enable-devtools
ac_add_options --disable-necko-wifi
ac_add_options --disable-installer
ac_add_options --disable-updater

ac_add_options --disable-precompiled-startupcache
And next, just how I compiled it, and most of the context for solving the issue with libicu will be presented.

In that some/dir above is where all happens from now.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-26, 20:13

I made me these trivial scripts, to repeat the procedure faster. The "read FAKE" lines are really fake. They read nothing, but just wait for me so peruse what the real action line is (it's echo'ed). So if you want the action only, leave out the read FAKE and echo lines.
( happens in that some/dir, as I said )
cat pm-build_PART1.sh

Code: Select all

#!/bin/bash
. ~/.bashrc.ask
echo "rm -rf palemoon-27.9.4~repack/"
ask;
if [ "$?" == 0 ]; then 
        rm -rf palemoon-27.9.4~repack/
else
        echo "Then remove (or move) the old sources manually"
        exit 0
fi
echo "rm -rf /home/$USER/pmbuild/"
ask;
if [ "$?" == 0 ]; then 
        rm -rf /home/$USER/pmbuild/
else
        echo "Needed, remove this?"
fi
ts=$(date +%y%m%d_%H%M%S)_5 ; echo $ts ; read FAKE ; dpkg-source -x palemoon_27.9.4~repack-1.dsc |& tee ~mr/LOG_/dpkg-source-x_palemoon_27.9.4_${ts}
cd palemoon-27.9.4~repack/
pwd
read FAKE;
read FAKE;
echo quilt new allow-sslkeylogfile
quilt new allow-sslkeylogfile
read FAKE
echo quilt add security/nss/lib/ssl/Makefile 
quilt add security/nss/lib/ssl/Makefile 
read FAKE
echo "patch -p0 < ../palemoon_allow-sslkelogfile.patch"
patch -p0 < ../palemoon_allow-sslkelogfile.patch 
read FAKE
echo quilt refresh 
quilt refresh 
read FAKE
echo quilt applied 
quilt applied 
read FAKE
echo quilt diff
quilt diff
read FAKE
The . ~/.bashrc.ask is this little script from Advanced Bash Scripting guide by Mendel Cooper:

Code: Select all

function ask()
{
    echo -n "$@" '[y/n] ' ; read ans
    case "$ans" in
        y*|Y*) return 0 ;;
        *) return 1 ;;
    esac
}
And what the palemoon_allow-sslkelogfile.patch is, pls. see in Building Pale Moon on Devuan fails (1) or linked from there.

The next script:
cat pm-build_PART2.sh

Code: Select all

#!/bin/bash
echo "diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/ | grep diff"
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/ | grep diff
echo "diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/"
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/
echo "diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig"
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
echo "cp -iav palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig"
read FAKE
cp -iav palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
echo "diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig"
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
echo "diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control "
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
echo "cp -iav palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control "
read FAKE
cp -iav palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
echo "diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control "
read FAKE
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
cd palemoon-27.9.4~repack/
pwd
read FAKE
echo "dch -i"
read FAKE
dch -i
where palemoon-27.9.4~repack.BAD/ is just a previous failed install, which I then use to reapply settings.

I also get the issue that dpkg-buildpackage/ refuses to compile once I patch the source, and don't know how to solve it, so I have to go again from scratch...

And I have to post the control, which is somewhat, in some important lines, changed from Steve Pusser's repo's control file.
cat debian/control:

Code: Select all

Source: palemoon
Section: web
Priority: optional
Maintainer: Miroslav Rovis <miro.rovis@croatiafidelis.hr>
Bugs: mailto: <miro.rovis@croatiafidelis.hr>
Build-Depends: debhelper (>= 9),
# Add for the conditional in rules to force use of gcc-4.9 on newer distreleases
# that default to gcc-5 or 6
        lsb-release,
        gcc-4.9 | gcc-4.8 | gcc-4.7,
        g++-4.9 | g++-4.8 | g++-4.7,
        cpp-4.9 | cpp-4.8 | cpp-4.7,
# standard build-deps
        autoconf2.13,
        python (>= 2.7),
        unzip,
        zip,
        pkg-config,
        libgtk2.0-dev (>= 2.14),
        yasm (>= 1.1),
        libasound2-dev,
        libxt-dev,
        mesa-common-dev
Standards-Version: 3.9.6
Homepage: http://www.palemoon.org/

Package: palemoon
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
          ffmpeg | libav-tools
Provides: x-www-browser
Conflicts: palemoon-nonsse2
Replaces: palemoon-nonsse2
Description: Firefox-based, efficient and easy to use web browser
 Pale Moon offers selected features and optimizations to maximize
 the browser's speed, stability and user experience, while maintaining
 compatibility with the thousands of Firefox extensions you have come
 to love and rely on.
 .
 Pale Moon requires a processor that supports the SSE2 instruction set.
 Run "/proc/cpuinfo" in a terminal, and look for sse2 in the flags to ensure
 that your processor supports it.
Late here in Europe... Might need to continue tomorrow.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35474
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Building Pale Moon on Devuan fails 2

Unread post by Moonchild » 2018-07-26, 20:37

if you are using a previously failed build diff to patch your source, then you're going to propagate any error forward indefinitely.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-27, 01:07

Moonchild wrote:if you are using a previously failed build diff to patch your source, then you're going to propagate any error forward indefinitely.
Thanks for looking into this in the first place.
However, I'm not using it, jus using the changed files in its debian directory after it was set up. I'm not building in it. I'm actually not touching it at all!

Here's what my scripts come down to:
cat pm-build_PART1.sh | grep -v '^echo ' | grep -v '^read FAKE' | grep -v '^[aief\.]' | grep -v echo | grep -v exit [1]

Code: Select all

#!/bin/bash
        rm -rf palemoon-27.9.4~repack/
        rm -rf /home/$USER/pmbuild/
dpkg-source -x palemoon_27.9.4~repack-1.dsc 
cd palemoon-27.9.4~repack/
pwd
quilt new allow-sslkeylogfile
quilt add security/nss/lib/ssl/Makefile 
patch -p0 < ../palemoon_allow-sslkelogfile.patch 
quilt refresh 
quilt applied 
quilt diff
And:
cat pm-build_PART2.sh | grep -v '^echo ' | grep -v '^read FAKE'

Code: Select all

#!/bin/bash
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/ | grep diff
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
cp -iav palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
cp -iav palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
cd palemoon-27.9.4~repack/
pwd
dch -i
I left that one palemoon-27.9.4~repack.BAD/ just to have the debian/mozconfig which looks like just like I pasted it in viewtopic.php?f=37&t=19763#p146355 above, and the debian/control.

And the debian/control, if diffed with Steve Pusser's (whose work I start from, as I work from his sources downloaded from https://download.opensuse.org/repositor ... ebian_9.0/ shows these differences (because I play a little before hopefully getting official and branding back in):

Code: Select all


PAUSE, will complete this in a few minutes. I have not defense from meltdown and spectre at this time other than NoScript, UBloxk0 and Decentraleyes, my kernel has many defences that the stock kernel does not have, but not those, can't stay online for long... PAUSE...

Continuing...

So this is what the dpkg-source line above does, just did it to get the output:
[code]
dpkg-source: warning: extracting unsigned source package (palemoon_27.9.4~repack-1.dsc)
dpkg-source: info: extracting palemoon in palemoon-27.9.4~repack
dpkg-source: info: unpacking palemoon_27.9.4~repack.orig.tar.xz
dpkg-source: info: unpacking palemoon_27.9.4~repack-1.debian.tar.xz
And the output of the scripts, but anothor post, before I mess up this one.
---
[1] But I had to manually insert the dpkg-source line :(
Last edited by miroR on 2018-07-27, 01:40, edited 1 time in total.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-27, 01:53

The output of pm-build_PART1.sh run is similar to (I'm building it in my Air-Gapped, and I've had to recontruct it for here):

Code: Select all

quilt new allow-sslkeylogfile
...

quilt add security/nss/lib/ssl/Makefile
...

patch -p0 < ../palemoon_allow-sslkelogfile.patch
patching file security/nss/lib/ssl/Makefile
Hunk #1 succeeded at 39 with fuzz 2.

quilt refresh
Refreshed patch debian/patches/allow-sslkeylogfile

quilt applied
debian/patches/allow-sslkeylogfile

quilt diff
Index: palemoon-27.9.4~repack/security/nss/lib/ssl/Makefile
===================================================================
--- palemoon-27.9.4~repack.orig/security/nss/lib/ssl/Makefile
+++ palemoon-27.9.4~repack/security/nss/lib/ssl/Makefile
@@ -39,12 +39,11 @@ CSRCS       += unix_err.c
 endif
 endif
 
-# Enable key logging by default in debug builds, but not opt builds.
-# Logging still needs to be enabled at runtime through env vars.
-NSS_ALLOW_SSLKEYLOGFILE ?= $(if $(BUILD_OPT),0,1)
-ifeq (1,$(NSS_ALLOW_SSLKEYLOGFILE))
+# Enable key logging by default in all builds
+#NSS_ALLOW_SSLKEYLOGFILE ?= $(if $(BUILD_OPT),0,1)
+#ifeq (1,$(NSS_ALLOW_SSLKEYLOGFILE))
 DEFINES += -DNSS_ALLOW_SSLKEYLOGFILE=1
-endif
+#endif
 
 #######################################################################
 # (5) Execute "global" rules. (OPTIONAL)                              #
And the output of pm-build_PART2.sh [2]:

Code: Select all

diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/ | grep diff

diff palemoon-27.9.4~repack.BAD/debian/changelog palemoon-27.9.4~repack/debian/changelog
diff palemoon-27.9.4~repack.BAD/debian/control palemoon-27.9.4~repack/debian/control
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/

diff palemoon-27.9.4~repack.BAD/debian/changelog palemoon-27.9.4~repack/debian/changelog
1,6d0
< palemoon (27.9.4~repack-2) UNRELEASED; urgency=medium
< 
<   *  enable SSL-key logging, removed libdbus-* libpulse-dev from build-deps 
< 
<  -- Miroslav Rovis <miro.rovis@croatiafidelis.hr>  Thu, 26 Jul 2018 18:03:27 +0000
< 
diff palemoon-27.9.4~repack.BAD/debian/control palemoon-27.9.4~repack/debian/control
4,5c4,6
< Maintainer: Miroslav Rovis <miro.rovis@croatiafidelis.hr>
< Bugs: mailto: <miro.rovis@croatiafidelis.hr>
---
> Maintainer: Steven Pusser <stevep@mxlinux.org>
> Bugs: mailto: <maintainer@mepiscommunity.org>
> XSBC-Original-Maintainer: Marian Kadanka <marian.kadanka@openmailbox.org>
19a21,22
>         libdbus-1-dev (>=0.60),
>         libdbus-glib-1-dev (>= 0.60),
21a25
>         libpulse-dev,
Only in palemoon-27.9.4~repack.BAD/debian/: .debhelper
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
1,3c1
< export CC=gcc-4.9
< export CXX=g++-4.9
< 
---
> export MOZILLA_OFFICIAL=1
4a3
> ac_add_options --enable-official-branding
9,12d7
< 
< mk_add_options MOZ_OBJDIR=/home/$USER/pmbuild/
< 
< 
13a9
> ac_add_options --disable-debug
15d10
< 
20,24d14
< 
< ac_add_options --disable-dbus
< ac_add_options --disable-pulseaudio
< ac_add_options --enable-alsa
< 
30,31d19
< 
< ac_add_options --disable-precompiled-startupcache
Only in palemoon-27.9.4~repack.BAD/debian/: palemoon.debhelper.log
Common subdirectories: palemoon-27.9.4~repack.BAD/debian/patches and palemoon-27.9.4~repack/debian/patches
Common subdirectories: palemoon-27.9.4~repack.BAD/debian/source and palemoon-27.9.4~repack/debian/source
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig

1,3c1
< export CC=gcc-4.9
< export CXX=g++-4.9
< 
---
> export MOZILLA_OFFICIAL=1
4a3
> ac_add_options --enable-official-branding
9,12d7
< 
< mk_add_options MOZ_OBJDIR=/home/$USER/pmbuild/
< 
< 
13a9
> ac_add_options --disable-debug
15d10
< 
20,24d14
< 
< ac_add_options --disable-dbus
< ac_add_options --disable-pulseaudio
< ac_add_options --enable-alsa
< 
30,31d19
< 
< ac_add_options --disable-precompiled-startupcache
cp -iav palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
 
cp: overwrite 'palemoon-27.9.4~repack/debian/mozconfig'? y
'palemoon-27.9.4~repack.BAD/debian/mozconfig' -> 'palemoon-27.9.4~repack/debian/mozconfig'
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig

diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 

4,5c4,6
< Maintainer: Miroslav Rovis <miro.rovis@croatiafidelis.hr>
< Bugs: mailto: <miro.rovis@croatiafidelis.hr>
---
> Maintainer: Steven Pusser <stevep@mxlinux.org>
> Bugs: mailto: <maintainer@mepiscommunity.org>
> XSBC-Original-Maintainer: Marian Kadanka <marian.kadanka@openmailbox.org>
19a21,22
>         libdbus-1-dev (>=0.60),
>         libdbus-glib-1-dev (>= 0.60),
21a25
>         libpulse-dev,
cp -iav palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 

cp: overwrite 'palemoon-27.9.4~repack/debian/control'? y
'palemoon-27.9.4~repack.BAD/debian/control' -> 'palemoon-27.9.4~repack/debian/control'
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 

/Cmn/src/palemoon/palemoon-27.9.4~repack

dch -i
And the last line (dch is alias for debchange) opens the editor for me to paste in (since I'm doing it all over because of the bug somewhere in my system and libicu won't compile):

Code: Select all

palemoon (27.9.4~repack-2) UNRELEASED; urgency=medium
  
  *

 -- Miroslav Rovis <miro.rovis@croatiafidelis.hr>  Fri, 27 Jul 2018 01:49:13 +0000

palemoon (27.9.4~repack-1) obs; urgency=medium

  * Import new upstream 27.9.4 release.
    - Updated the useragent for addons.mozilla.org to work around their "Only
      with Firefox" discrimination preventing users from downloading themes, old
      versions of extensions, and other files with Pale Moon.
    - Restricted web access to the moz-icon:// scheme that could potentially be
...
[cut]
...
 -- Steven Pusser <stevep@mxlinux.org>  Wed, 11 Jul 2018 13:59:46 -0700
So, I believe (of course I'm not an expert here, do tell if anybody sees clearer), that I'm compiling it the right way...

[2] I'll just try and make the output of pm-build_PART2.sh more readable, in the next post (again, before I mess this one :( )

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-27, 02:06

The output of pm-build_PART2.sh, made more readable (and explained some, for the less advanced). I brought it here as it happened, because I may have missed something that others can see and tell:

Code: Select all

diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/ | grep diff

diff palemoon-27.9.4~repack.BAD/debian/changelog palemoon-27.9.4~repack/debian/changelog
diff palemoon-27.9.4~repack.BAD/debian/control palemoon-27.9.4~repack/debian/control
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
diff palemoon-27.9.4~repack.BAD/debian/ palemoon-27.9.4~repack/debian/
And here I get detailed diff, that will be repeated for control and mozconfig separately later before I copy them to newly uncompressed sources. Just you can see that I'm repeating my steps with the changelog too... :(
It's worth the purpose of posting, so the kind developer Moonchild get the idea of my efforts to comply in the future (this is withouf official and branding, mostly because of the SSL-key logging patch), as well as what differs from the official mozconfig. And also that Steve Pusser can clearly see what I changed from his way of (absolutely necessary, mainstream) building it.

Code: Select all

diff palemoon-27.9.4~repack.BAD/debian/changelog palemoon-27.9.4~repack/debian/changelog
1,6d0
< palemoon (27.9.4~repack-2) UNRELEASED; urgency=medium
< 
<   *  enable SSL-key logging, removed libdbus-* libpulse-dev from build-deps 
< 
<  -- Miroslav Rovis <miro.rovis@croatiafidelis.hr>  Thu, 26 Jul 2018 18:03:27 +0000
< 
diff palemoon-27.9.4~repack.BAD/debian/control palemoon-27.9.4~repack/debian/control
4,5c4,6
< Maintainer: Miroslav Rovis <miro.rovis@croatiafidelis.hr>
< Bugs: mailto: <miro.rovis@croatiafidelis.hr>
---
> Maintainer: Steven Pusser <stevep@mxlinux.org>
> Bugs: mailto: <maintainer@mepiscommunity.org>
> XSBC-Original-Maintainer: Marian Kadanka <marian.kadanka@openmailbox.org>
19a21,22
>         libdbus-1-dev (>=0.60),
>         libdbus-glib-1-dev (>= 0.60),
21a25
>         libpulse-dev,
Only in palemoon-27.9.4~repack.BAD/debian/: .debhelper
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
1,3c1
< export CC=gcc-4.9
< export CXX=g++-4.9
< 
---
> export MOZILLA_OFFICIAL=1
4a3
> ac_add_options --enable-official-branding
9,12d7
< 
< mk_add_options MOZ_OBJDIR=/home/$USER/pmbuild/
< 
< 
13a9
> ac_add_options --disable-debug
15d10
< 
20,24d14
< 
< ac_add_options --disable-dbus
< ac_add_options --disable-pulseaudio
< ac_add_options --enable-alsa
< 
30,31d19
< 
< ac_add_options --disable-precompiled-startupcache
Only in palemoon-27.9.4~repack.BAD/debian/: palemoon.debhelper.log
Common subdirectories: palemoon-27.9.4~repack.BAD/debian/patches and palemoon-27.9.4~repack/debian/patches
Common subdirectories: palemoon-27.9.4~repack.BAD/debian/source and palemoon-27.9.4~repack/debian/source
Here it the diff for mozconfig shown, I look it up, and I copy the old mozconfig to the newly uncompressed sources:

Code: Select all

diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig

1,3c1
< export CC=gcc-4.9
< export CXX=g++-4.9
< 
---
> export MOZILLA_OFFICIAL=1
4a3
> ac_add_options --enable-official-branding
9,12d7
< 
< mk_add_options MOZ_OBJDIR=/home/$USER/pmbuild/
< 
< 
13a9
> ac_add_options --disable-debug
15d10
< 
20,24d14
< 
< ac_add_options --disable-dbus
< ac_add_options --disable-pulseaudio
< ac_add_options --enable-alsa
< 
30,31d19
< 
< ac_add_options --disable-precompiled-startupcache
cp -iav palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
 
cp: overwrite 'palemoon-27.9.4~repack/debian/mozconfig'? y
'palemoon-27.9.4~repack.BAD/debian/mozconfig' -> 'palemoon-27.9.4~repack/debian/mozconfig'
diff palemoon-27.9.4~repack.BAD/debian/mozconfig palemoon-27.9.4~repack/debian/mozconfig
And now the diff is empty! No differences!
Here it the diff for control shown, I look it up, and I copy the old control to the newly uncompressed sources:

Code: Select all

diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 

4,5c4,6
< Maintainer: Miroslav Rovis <miro.rovis@croatiafidelis.hr>
< Bugs: mailto: <miro.rovis@croatiafidelis.hr>
---
> Maintainer: Steven Pusser <stevep@mxlinux.org>
> Bugs: mailto: <maintainer@mepiscommunity.org>
> XSBC-Original-Maintainer: Marian Kadanka <marian.kadanka@openmailbox.org>
19a21,22
>         libdbus-1-dev (>=0.60),
>         libdbus-glib-1-dev (>= 0.60),
21a25
>         libpulse-dev,
cp -iav palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 

cp: overwrite 'palemoon-27.9.4~repack/debian/control'? y
'palemoon-27.9.4~repack.BAD/debian/control' -> 'palemoon-27.9.4~repack/debian/control'
diff palemoon-27.9.4~repack.BAD/debian/control  palemoon-27.9.4~repack/debian/control 
Again empty. No differences. So I have less work to do...
And this is the output of just the "pwd":

Code: Select all

/Cmn/src/palemoon/palemoon-27.9.4~repack

dch -i
And the last line I explained in the previous post.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35474
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Building Pale Moon on Devuan fails 2

Unread post by Moonchild » 2018-07-27, 02:35

I'm clearly not understanding what you're doing or trying to do -- so I'll let someone else assist :)
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-27, 18:39

I think I'm compiling it in one of the usual ways in Debian (and derivatives). filip gave me a few tips in the previous topic, and I found out, reading different documentation of the Debian world, it was very much one of the right ways to do it. And I'm definitely just using the few files from the old uncompressed sources, and nothing more, the few files being the mozconfig that does not depart much from the default, other than the dbus pulse and SSL-key logging particulars, and the control file needed later, and changelog, nothing more.

So, here's the errors that I get. And I have the whole log of the STDOUT of the compilation along with lots of details of all execs and chdirs during the compilation that my grsec-kernel logs:

$ ls -ABgo palemoon-27.9.4.LOG_/

Code: Select all

total 7664
-rw-r--r-- 1 1278057 2018-07-26 18:17 dpkg-buildpackage-j4_180726_180432_5
-rw-r--r-- 1     285 2018-07-26 18:02 dpkg-source-x_palemoon_27.9.4_180726_180226_5
-rw-r--r-- 1 6558739 2018-07-26 18:38 kern.log_180726_181831_5
The dpkg-source-x_palemoon_27.9.4_180726_180226_5 is short, just the four lines telling about uncompressing, already reported above.

And the errors that I get is from dpkg-buildpackage-j4_180726_180432_5:
(will make it a separate post, for readability)

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-27, 18:42

(Here's the errors that I get:)

The whole icu source in the dir /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/ compiles pretty long, some 1240 lines, and here I post now just those around the errors (only 56 lines altogether with the markup):

Code: Select all

   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/digitaffixesandpadding.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/pluralaffix.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/precision.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/affixpatternparser.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/smallintformatter.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/decimfmtimpl.cpp
g++-4.9 -o UnifiedProtocols8.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /Cmn/src/palemoon/palemoon-27.9.4~repack/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/Cmn/src/palemoon/palemoon-27.9.4~repack/ipc/ipdl -I. -I/home/mr/pmbuild/ipc/ipdl/_ipdlheaders -I/Cmn/src/palemoon/palemoon-27.9.4~repack/ipc/chromium/src -I/Cmn/src/palemoon/palemoon-27.9.4~repack/ipc/glue -I../../dist/include   -I/home/mr/pmbuild/dist/include/nspr -I/home/mr/pmbuild/dist/include/nss        -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/UnifiedProtocols8.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -g -O2 -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -O2 -msse2 -mfpmath=sse -fomit-frame-pointer  -I/Cmn/src/palemoon/palemoon-27.9.4~repack/widget/gtk/compat -pthread -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    /home/mr/pmbuild/ipc/ipdl/UnifiedProtocols8.cpp
UnifiedProtocols9.o
/Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/decimfmtimpl.cpp: In member function ‘icu_58::UnicodeString& icu_58::DecimalFormatImpl::toNumberPattern(UBool, int32_t, icu_58::UnicodeString&) const’:
/Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/decimfmtimpl.cpp:1479:43: warning: ‘sigMax’ may be used uninitialized in this function [-Wmaybe-uninitialized]
             if (i >= sigMax || i < sigMax - sigMin) {
                                           ^
/Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/decimfmtimpl.cpp:1479:43: warning: ‘sigMin’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/visibledigits.cpp
   g++-4.9       ...  /Cmn/src/palemoon/palemoon-27.9.4~repack/intl/icu/source/i18n/dayperiodrules.cpp
g++-4.9 -fPIC -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -g -O2 -fno-exceptions -fno-strict-aliasing -frtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -g -UDEBUG -DNDEBUG -O2 -msse2 -mfpmath=sse -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-unused -Wno-unused-parameter    -lpthread  -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id   -shared -Wl,-Bsymbolic -Wl,-soname -Wl,libicui18n.so.58 -o ../lib/libicui18n.so.58.2 ucln_in.o fmtable.o format.o msgfmt.o umsg.o numfmt.o unum.o decimfmt.o decimalformatpattern.o dcfmtsym.o digitlst.o fmtable_cnv.o choicfmt.o datefmt.o smpdtfmt.o reldtfmt.o dtfmtsym.o udat.o dtptngen.o udatpg.o nfrs.o nfrule.o nfsubs.o rbnf.o numsys.o unumsys.o ucsdet.o ucal.o calendar.o gregocal.o timezone.o simpletz.o olsontz.o astro.o taiwncal.o buddhcal.o persncal.o islamcal.o japancal.o gregoimp.o hebrwcal.o indiancal.o chnsecal.o cecal.o coptccal.o dangical.o ethpccal.o coleitr.o coll.o sortkey.o bocsu.o ucoleitr.o ucol.o ucol_res.o ucol_sit.o collation.o collationsettings.o collationdata.o collationtailoring.o collationdatareader.o collationdatawriter.o collationfcd.o collationiterator.o utf16collationiterator.o utf8collationiterator.o uitercollationiterator.o collationsets.o collationcompare.o collationfastlatin.o collationkeys.o rulebasedcollator.o collationroot.o collationrootelements.o collationdatabuilder.o collationweights.o collationruleparser.o collationbuilder.o collationfastlatinbuilder.o strmatch.o usearch.o search.o stsearch.o translit.o utrans.o esctrn.o unesctrn.o funcrepl.o strrepl.o tridpars.o cpdtrans.o rbt.o rbt_data.o rbt_pars.o rbt_rule.o rbt_set.o nultrans.o remtrans.o casetrn.o titletrn.o tolowtrn.o toupptrn.o anytrans.o name2uni.o uni2name.o nortrans.o quant.o transreg.o brktrans.o regexcmp.o rematch.o repattrn.o regexst.o regextxt.o regeximp.o uregex.o uregexc.o ulocdata.o measfmt.o currfmt.o curramt.o currunit.o measure.o utmscale.o csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o csrsbcs.o csrucode.o csrutf8.o inputext.o wintzimpl.o windtfmt.o winnmfmt.o basictz.o dtrule.o rbtz.o tzrule.o tztrans.o vtzone.o zonemeta.o standardplural.o upluralrules.o plurrule.o plurfmt.o selfmt.o dtitvfmt.o dtitvinf.o udateintervalformat.o tmunit.o tmutamt.o tmutfmt.o currpinf.o uspoof.o uspoof_impl.o uspoof_build.o uspoof_conf.o decfmtst.o smpdtfst.o ztrans.o zrule.o vzone.o fphdlimp.o fpositer.o ufieldpositer.o decNumber.o decContext.o alphaindex.o tznames.o tznames_impl.o tzgnames.o tzfmt.o compactdecimalformat.o gender.o region.o scriptset.o uregion.o reldatefmt.o quantityformatter.o measunit.o sharedbreakiterator.o scientificnumberformatter.o digitgrouping.o digitinterval.o digitformatter.o digitaffix.o valueformatter.o digitaffixesandpadding.o pluralaffix.o precision.o affixpatternparser.o smallintformatter.o decimfmtimpl.o visibledigits.o dayperiodrules.o -L../lib -licuuc -L../stubdata -licudata -lpthread -ldl -lm 
rm -f ../lib/libicui18n.so.58 && ln -s libicui18n.so.58.2 ../lib/libicui18n.so.58
rm -f ../lib/libicui18n.so && ln -s libicui18n.so.58.2 ../lib/libicui18n.so
make[9]: Leaving directory '/home/mr/pmbuild/intl/icu/target/i18n'
Here:

Code: Select all

make[8]: Making `all' in `layoutex'
make[9]: Entering directory '/home/mr/pmbuild/intl/icu/target/layoutex'
make[9]: *** No rule to make target 'ParagraphLayout.o', needed by '../lib/libiculx.so.58.2'.  Stop.
make[9]: Leaving directory '/home/mr/pmbuild/intl/icu/target/layoutex'
make[8]: *** [Makefile:147: all-recursive] Error 2
make[8]: Leaving directory '/home/mr/pmbuild/intl/icu/target'
make[7]: *** [Makefile:59: buildicu] Error 2
make[7]: Leaving directory '/home/mr/pmbuild/config/external/icu'
make[6]: *** [/Cmn/src/palemoon/palemoon-27.9.4~repack/config/recurse.mk:74: config/external/icu/target] Error 2
and then a few more long compile strings and then:

Code: Select all

Unified_cpp_dom_bindings0.o
g++-4.9 -o Unified_cpp_dom_bindings0.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /Cmn/src/palemoon/palemoon-27.9.4~repack/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DHAVE_SIDEBAR -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/bindings -I. -I../../dist/include/mozilla/dom -I/home/mr/pmbuild/ipc/ipdl/_ipdlheaders -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/base -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/battery -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/bluetooth -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/camera -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/canvas -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/geolocation -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/html -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/indexedDB -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/media/webaudio -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/media/webspeech/recognition -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/svg -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/workers -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/xbl -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/xml -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/xslt/base -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/xslt/xpath -I/Cmn/src/palemoon/palemoon-27.9.4~repack/dom/xul -I/Cmn/src/palemoon/palemoon-27.9.4~repack/js/xpconnect/src -I/Cmn/src/palemoon/palemoon-27.9.4~repack/js/xpconnect/wrappers -I/Cmn/src/palemoon/palemoon-27.9.4~repack/layout/style -I/Cmn/src/palemoon/palemoon-27.9.4~repack/layout/xul/tree -I/Cmn/src/palemoon/palemoon-27.9.4~repack/media/mtransport -I/Cmn/src/palemoon/palemoon-27.9.4~repack/media/webrtc/ -I/Cmn/src/palemoon/palemoon-27.9.4~repack/media/webrtc/signaling/src/common/time_profiling -I/Cmn/src/palemoon/palemoon-27.9.4~repack/media/webrtc/signaling/src/peerconnection -I/Cmn/src/palemoon/palemoon-27.9.4~repack/ipc/chromium/src -I/Cmn/src/palemoon/palemoon-27.9.4~repack/ipc/glue -I../../dist/include   -I/home/mr/pmbuild/dist/include/nspr -I/home/mr/pmbuild/dist/include/nss        -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_dom_bindings0.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -g -O2 -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -Wno-uninitialized  -DNDEBUG -DTRIMMED -g -O2 -msse2 -mfpmath=sse -fomit-frame-pointer      /home/mr/pmbuild/dom/bindings/Unified_cpp_dom_bindings0.cpp
libdom_bindings.a.desc
rm -f libdom_bindings.a
/home/mr/pmbuild/_virtualenv/bin/python /Cmn/src/palemoon/palemoon-27.9.4~repack/config/expandlibs_gen.py -o libdom_bindings.a.desc PrototypeList.o RegisterBindings.o RegisterWorkerBindings.o ResolveSystemBinding.o UnionTypes.o UnifiedBindings0.o UnifiedBindings1.o UnifiedBindings10.o UnifiedBindings11.o UnifiedBindings12.o UnifiedBindings13.o UnifiedBindings14.o UnifiedBindings15.o UnifiedBindings16.o UnifiedBindings17.o UnifiedBindings18.o UnifiedBindings19.o UnifiedBindings2.o UnifiedBindings20.o UnifiedBindings21.o UnifiedBindings3.o UnifiedBindings4.o UnifiedBindings5.o UnifiedBindings6.o UnifiedBindings7.o UnifiedBindings8.o UnifiedBindings9.o StructuredClone.o Unified_cpp_dom_bindings0.o  
make[7]: Leaving directory '/home/mr/pmbuild/dom/bindings'
make[6]: Leaving directory '/home/mr/pmbuild'
Here:

Code: Select all

make[5]: *** [/Cmn/src/palemoon/palemoon-27.9.4~repack/config/recurse.mk:37: compile] Error 2
make[5]: Leaving directory '/home/mr/pmbuild'
make[4]: *** [/Cmn/src/palemoon/palemoon-27.9.4~repack/config/rules.mk:541: default] Error 2
make[4]: Leaving directory '/home/mr/pmbuild'
make[3]: *** [/Cmn/src/palemoon/palemoon-27.9.4~repack/client.mk:399: realbuild] Error 2
make[3]: Leaving directory '/Cmn/src/palemoon/palemoon-27.9.4~repack'
make[2]: *** [client.mk:171: build] Error 2
make[2]: Leaving directory '/Cmn/src/palemoon/palemoon-27.9.4~repack'
make[1]: *** [debian/rules:28: override_dh_auto_build] Error 2
make[1]: Leaving directory '/Cmn/src/palemoon/palemoon-27.9.4~repack'
make: *** [debian/rules:17: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2


User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: Building Pale Moon on Devuan fails 2

Unread post by stevenpusser » 2018-07-28, 00:57

Have you tried using gcc-4.9 instead of the default gcc-6.3 in the Stretch base? I had to do a port of that for Stretch in my repo. My rules file has a bit of code that checks a distrelease name, but just lists those for MX Linux, Debian, and Ubuntu, so you should check what

Code: Select all

lsb_release -cs
outputs in Devuan and add it to the list. And then restore the control file so it will pull in gcc-4.9.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-28, 03:52

stevepusser wrote:Have you tried using gcc-4.9 instead of the default gcc-6.3 in the Stretch base? I had to do a port of that for Stretch in my repo. My rules file has a bit of code that checks a distrelease name, but just lists those for MX Linux, Debian, and Ubuntu, so you should check what

Code: Select all

lsb_release -cs
outputs in Devuan and add it to the list. And then restore the control file so it will pull in gcc-4.9.
You too didn't have much time too look into here (and I'm not objecting), There is, at the top of my mozconfig, right in the second post (first after the short introduction):

Code: Select all

export CC=gcc-4.9
export CXX=g++-4.9
BTW, I get:

Code: Select all

$ lsb_release -cs
n/a
$
because (it may, and may not be useful to solve this):

Code: Select all

$ lsb_release -a
No LSB modules are available.
Distributor ID: Devuan
Description:    Devuan GNU/Linux testing/unstable
Release:        testing/unstable
Codename:       n/a
$
Because I'm on Devuan beowulf (unstable), which is, other then some initial desystemdizations and some devuanizations, just what my login prompt in the console says:

Code: Select all

Debian GNU/Linux buster/sid gdOv tty4

gdOv login:
I think it might be --but it's a guess-- because of these missing options in my mozconfig:

Code: Select all

> export MOZILLA_OFFICIAL=1
4a3
> ac_add_options --enable-official-branding
(that snippet is shown above in a few places).
I'll try and put them back in, just to see if it will then compile, and report back. That's less work than figuring out from the ample logs (also the grsec exec/chdir logs, that may be very usuful, will try and show a few snippets thereof too in the meantime)...
Will take me a while.
Last edited by miroR on 2018-07-28, 03:52, edited 1 time in total.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-07-28, 06:54

Nope! I get exactly the same error with the official=1 and branding as in:
viewtopic.php?f=37&t=19763#p146416
I'm afraid I'll need to try and understand the related code, next. Or relinquish building... This is a severe hurdle.
BTW, I can compile just fine with that very machine that I try to compile Pale Moon in. Have a look at the package that I offer, the very latest grsec-dappersec:
https://www.croatiafidelis.hr/gnu/deb/l ... 180727-10/
( as announced on:
Grsecurity/Pax installation on Debian GNU/Linux
http://forums.debian.net/viewtopic.php? ... 45#p677645
or:
https://dev1galaxy.org/viewtopic.php?pid=10945#p10945
(in the topic
Grsecurity/Pax installation on Devuan GNU/Linux
https://dev1galaxy.org/viewtopic.php?id=596)
)
The links I provide so I dispell possible doubts about inadequacy of my OS. However, it's the latest unstable, maybe the old gcc-4.9 is stumbling there for some reason (I compile a lot, but still I'm not an expert)... gcc/g++ 4.9 is really old... (And I'm only thinking, not objecting.)
Last edited by miroR on 2018-07-28, 06:55, edited 1 time in total.

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: Building Pale Moon on Devuan fails 2

Unread post by stevenpusser » 2018-07-28, 22:58

Yes, a few months ago, I was able to build PM on Buster with gcc 4.9 successfully, but something rolled into there in the meantime that now gives the libicu errors. I'm trying to build the 28.0 beta 4 on Stretch, and I'll try it in a Buster chroot with pbuilder if I can overcome the new problems with that--I already found and fixed a couple of those.

You don't have to mess with diffs if you are changing anything in the /debian folder--just extract the orig and debian tarballs, edit the files in the debian folder, and then put it into the extracted source folder and launch the build--I use debuild provided by devscripts. (that's for a local build in your own machine, maybe you need a another procedure for Devuan. Pbuilder or sbuild on your local machine requires another set of procedures, but has some definite advantages)

Hmmm...got past the configure steps for 28.0 b4 by adding libconf2-dev and libx11-xcb-dev as build-depends, so now it's cooking with 12 threads on my hot new laptop. If that finishes successfully, I'll try a Buster build.

Whoops, it just died someplace with a compiler error, so now I have to find that in the output, and test what happens with gcc-4.9 instead of 6.3.

Error is

Code: Select all

prlog.o: In function `fprintf':
/usr/include/x86_64-linux-gnu/bits/stdio2.h:97: undefined reference to `stderr'
/usr/bin/ld: prlog.o: relocation R_X86_64_PC32 against undefined hidden symbol `stderr' can not be used when making a shared object
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
/build/palemoon-28.0~b4~repack/config/rules.mk:780: recipe for target 'libnspr4.so' failed
make[7]: *** [libnspr4.so] Error 1
So it's the built-in nspr library build. A workaround could be to use the system one instead, but I know the developers don't want that. :| Maybe it could also build with the -fPIC compiler flag, but that's not as secure, something rilly rilly important with a browser. There's also a zillion other undefined references, so maybe this is just the first.
Last edited by stevenpusser on 2018-07-28, 23:07, edited 1 time in total.

bgstack15
Fanatic
Fanatic
Posts: 121
Joined: 2018-01-22, 23:04

Re: Building Pale Moon on Devuan fails 2

Unread post by bgstack15 » 2018-07-31, 15:39

I use devuan on an increasing number of systems, so once again I would like to express my support of your efforts here! If you guys need testers, or more help packaging, let me know. I should get my feet wet building deb packages, but a mozilla-based project might be a huge deb Hello World.

I wish I knew more about how to build dpkgs. I am familiar with compiling from source and building rpms from source. I know how to assemble low-level dpkg .deb files but only if everything is already compiled.

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: Building Pale Moon on Devuan fails 2

Unread post by stevenpusser » 2018-07-31, 21:42

bgstack15 wrote:I use devuan on an increasing number of systems, so once again I would like to express my support of your efforts here! If you guys need testers, or more help packaging, let me know. I should get my feet wet building deb packages, but a mozilla-based project might be a huge deb Hello World.

I wish I knew more about how to build dpkgs. I am familiar with compiling from source and building rpms from source. I know how to assemble low-level dpkg .deb files but only if everything is already compiled.
The OBS is able to build both debs and various rpms from just one set of source packages, though I know very little about the rpm side of things. I just see what the SMPlayer developer has done here:

https://build.opensuse.org/package/show ... v/smplayer

So it looks like it can be done with a PKGBUILD file for Arch, a spec file for rpms, plus the .dsc, debian and source tarballs. Maybe I could yoink a PKGBUILD and spec files from some distro that's also building PM.

About the OP's original problem with building on a Buster base, I now have PM 28.0.0 beta 4 building successfully on the OBS, including the Buster and newer Ubuntu releases that were failing with the libicu errors before. So things look good on that front. The upcoming version supports builds with gcc-4.9 through 7, with experimental support for gcc-8, too.

https://build.opensuse.org/package/show ... g/palemoon

One thing that really needs work on my end is the debian/copyright file...maybe someone at Devuan knows more about making one of those than I do? As far as I know, PM source contains files with a lot of different copyrights and licenses.
Last edited by stevenpusser on 2018-07-31, 21:45, edited 1 time in total.

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: Building Pale Moon on Devuan fails 2

Unread post by stevenpusser » 2018-08-04, 17:15

I have successful builds of 28.0.0 beta 5 on Debian Testing in a separate repository, so you can see how they build on your machine after removing any of the pulseaudio, etc, features you wish.. The errors I was getting before are restricted to building PM in pbuilder--I don't get them in the OBS, a bare metal build, or using sbuild. You can get the source files here.
Last edited by stevenpusser on 2018-08-04, 17:17, edited 1 time in total.

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-08-09, 19:08

stevepusser and bgstack15, pls. accept my acknowledgement for your interest and efforts. Was busy, am, and may still be for longer, but I'll do my best to be back sooner than later. :)

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-08-10, 04:07

I currently only have time to post the STDOUT that I capture when I run the dpkg-buildpackage command (shown/explained in some previous post):

Code: Select all

dpkg-buildpackage: info: source package palemoon
dpkg-buildpackage: info: source version 28.0.0~b5~repack-2
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by Miroslav Rovis <miro.rovis@croatiafidelis.hr>
 dpkg-source --before-build palemoon-28.0.0~b5~repack
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh clean
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
rm -f mozconfig
dh_auto_clean
        make -j1 clean
make[2]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
./mach clobber
make[2]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
find . -name '*.pyc' -delete
make[1]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
   dh_clean
 dpkg-source -b palemoon-28.0.0~b5~repack
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building palemoon using existing ./palemoon_28.0.0~b5~repack.orig.tar.xz
dpkg-source: info: building palemoon in palemoon_28.0.0~b5~repack-2.debian.tar.xz
dpkg-source: info: building palemoon in palemoon_28.0.0~b5~repack-2.dsc
 debian/rules build
make: 'build' is up to date.
 fakeroot debian/rules binary
dh binary
   dh_update_autotools_config
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
cp debian/mozconfig mozconfig
make[1]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
   debian/rules override_dh_auto_build
make[1]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make -f client.mk build
make[2]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
mkdir -p '/home/mr/pmbuild/'
python2.7 /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/config/pythonpath.py -I /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/testing/mozbase/mozfile \
    /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/python/mozbuild/mozbuild/controller/clobber.py /Cmn/src/palemoon/palemoon-28.0.0~b5~repack /home/mr/pmbuild
Clobber not needed.
> /home/mr/pmbuild/.mozconfig.mk
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make -f /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/client.mk realbuild CREATE_MOZCONFIG_JSON=
make[3]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
Adding client.mk options from /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/mozconfig:
    AUTOCLOBBER=1
    MOZ_OBJDIR=/home/mr/pmbuild
    OBJDIR=/home/mr/pmbuild
    FOUND_MOZCONFIG=/Cmn/src/palemoon/palemoon-28.0.0~b5~repack/mozconfig
Generating /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/configure
cp -f /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/configure.in /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/configure
chmod +x /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/configure
Generating /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/js/src/configure
cp -f /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/js/src/configure.in /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/js/src/configure
chmod +x /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/js/src/configure
make[4]: Entering directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
cp /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/mozconfig /home/mr/pmbuild/.mozconfig
cd /home/mr/pmbuild
/Cmn/src/palemoon/palemoon-28.0.0~b5~repack/configure
Creating Python environment
New python executable in /home/mr/pmbuild/_virtualenv/bin/python2.7
Also creating executable in /home/mr/pmbuild/_virtualenv/bin/python
Installing setuptools, pip, wheel...done.
running build_ext
building 'psutil._psutil_linux' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/psutil
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DPSUTIL_VERSION=311 -I/usr/include/python2.7 -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/psutil
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o -o build/lib.linux-x86_64-2.7/psutil/_psutil_linux.so
building 'psutil._psutil_posix' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c psutil/_psutil_posix.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_posix.o
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-rHYsq1/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/psutil/_psutil_posix.o -o build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so
copying build/lib.linux-x86_64-2.7/psutil/_psutil_linux.so -> psutil
copying build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so -> psutil

Reexecuting in the virtualenv
Adding configure options from /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/mozconfig
  --enable-application=palemoon
  --enable-official-branding
  --enable-official-vendor
  --enable-optimize=-O2
  --enable-jemalloc
  --enable-strip
  --with-pthreads
  --disable-tests
  --enable-devtools
  --disable-dbus
  --disable-pulseaudio
  --enable-alsa
  --disable-crashreporter
  --disable-eme
  --disable-parental-controls
  --disable-accessibility
  --disable-webrtc
  --disable-gamepad
  --disable-necko-wifi
  --disable-updater
  --x-libraries=/usr/lib
  --prefix=/usr
  MOZ_TELEMETRY_REPORTING=
  CXX=g++-4.9
  MC_PALEMOON=1
  CC=gcc-4.9
  MOZILLA_OFFICIAL=1
  MC_OFFICIAL=1
  BUILDING_RELEASE=1
  MOZ_ADDON_SIGNING=
  MOZ_REQUIRE_SIGNING=
checking for a shell... /bin/sh
checking for host system type... x86_64-pc-linux-gnu
checking for target system type... x86_64-pc-linux-gnu
checking whether cross compiling... no
checking for pkg_config... /usr/bin/pkg-config
checking for pkg-config version... 0.29
checking for yasm... /usr/bin/yasm
checking yasm version... 1.3.0
checking for the target C compiler... /usr/bin/gcc-4.9
checking whether the target C compiler can be used... yes
checking the target C compiler version... 4.9.2
checking the target C compiler works... yes
checking for the target C++ compiler... /usr/bin/g++-4.9
checking whether the target C++ compiler can be used... yes
checking the target C++ compiler version... 4.9.2
checking the target C++ compiler works... yes
checking for the host C compiler... /usr/bin/gcc-4.9
checking whether the host C compiler can be used... yes
checking the host C compiler version... 4.9.2
checking the host C compiler works... yes
checking for the host C++ compiler... /usr/bin/g++-4.9
checking whether the host C++ compiler can be used... yes
checking the host C++ compiler version... 4.9.2
checking the host C++ compiler works... yes
checking for 64-bit OS... yes
checking for stdint.h... yes
checking for inttypes.h... yes
checking for malloc.h... yes
checking for alloca.h... yes
checking for sys/byteorder.h... no
checking for getopt.h... yes
checking for unistd.h... yes
checking for nl_types.h... yes
checking for cpuid.h... yes
checking for sys/statvfs.h... yes
checking for sys/statfs.h... yes
checking for sys/vfs.h... yes
checking for sys/mount.h... yes
checking for sys/quota.h... yes
checking for linux/quota.h... yes
checking for linux/if_addr.h... yes
checking for linux/rtnetlink.h... yes
checking for sys/queue.h... yes
checking for sys/types.h... yes
checking for netinet/in.h... yes
checking for byteswap.h... yes
checking for linux/perf_event.h... yes
checking for perf_event_open system call... yes
checking whether the C compiler supports -Wclass-varargs... no
checking whether the C++ compiler supports -Wclass-varargs... no
checking whether the C compiler supports -Wloop-analysis... no
checking whether the C++ compiler supports -Wloop-analysis... no
checking whether the C++ compiler supports -Wc++11-compat-pedantic... no
checking whether the C++ compiler supports -Wc++14-compat... no
checking whether the C++ compiler supports -Wc++14-compat-pedantic... no
checking whether the C++ compiler supports -Wc++1z-compat... no
checking whether the C++ compiler supports -Wimplicit-fallthrough... no
checking whether the C compiler supports -Wstring-conversion... no
checking whether the C++ compiler supports -Wstring-conversion... no
checking whether the C compiler supports -Wthread-safety... no
checking whether the C++ compiler supports -Wthread-safety... no
checking whether the C++ compiler supports -Wno-inline-new-delete... no
checking whether the C compiler supports -Wno-error=maybe-uninitialized... yes
checking whether the C++ compiler supports -Wno-error=maybe-uninitialized... yes
checking whether the C compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C++ compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C compiler supports -Wno-error=array-bounds... yes
checking whether the C++ compiler supports -Wno-error=array-bounds... yes
checking for pango >= 1.22.0 pangoft2 >= 1.22.0 pangocairo >= 1.22.0... yes
checking MOZ_PANGO_CFLAGS... -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16
checking MOZ_PANGO_LIBS... -lpangoft2-1.0 -lfontconfig -lfreetype -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo
checking for fontconfig >= 2.7.0... yes
checking _FONTCONFIG_CFLAGS... -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16
checking _FONTCONFIG_LIBS... -lfontconfig -lfreetype
checking for freetype2 >= 6.1.0... yes
checking _FT2_CFLAGS... -I/usr/include/freetype2 -I/usr/include/libpng16
checking _FT2_LIBS... -lfreetype
checking for tar... /bin/tar
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for the Mozilla API key... no
checking for the Google API key... no
checking for the Bing API key... no
checking for the Adjust SDK key... no
checking for awk... /usr/bin/gawk
checking for perl... /usr/bin/perl
checking for minimum required perl version >= 5.006... 5.026002
checking for full perl installation... yes
checking for gmake... /usr/bin/make
checking for doxygen... not found
checking for xargs... /usr/bin/xargs
checking for rpmbuild... not found
checking for autoconf... /usr/bin/autoconf2.13
Refreshing /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/old-configure with /usr/bin/autoconf2.13
creating cache ./config.cache
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking build system type... x86_64-pc-linux-gnu
checking for objcopy... /usr/bin/objcopy
checking for gcc... /usr/bin/gcc-4.9 -std=gnu99
checking whether the C compiler (/usr/bin/gcc-4.9 -std=gnu99 -g -O2 ) works... yes
checking whether the C compiler (/usr/bin/gcc-4.9 -std=gnu99 -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether /usr/bin/gcc-4.9 -std=gnu99 accepts -g... yes
checking for c++... /usr/bin/g++-4.9 -std=gnu++11
checking whether the C++ compiler (/usr/bin/g++-4.9 -std=gnu++11 -g -O2 ) works... yes
checking whether the C++ compiler (/usr/bin/g++-4.9 -std=gnu++11 -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether /usr/bin/g++-4.9 -std=gnu++11 accepts -g... yes
checking for ranlib... ranlib
checking for as... /usr/bin/as
checking for ar... ar
checking for ld... ld
checking for strip... strip
checking for windres... no
checking for otool... no
checking for X... libraries /usr/lib, headers 
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for --noexecstack option to as... yes
checking for -z noexecstack option to ld... yes
checking for -z text option to ld... yes
checking for --build-id option to ld... yes
checking for --ignore-unresolved-symbol option to ld... yes
checking if toolchain supports -mssse3 option... yes
checking if toolchain supports -msse4.1 option... yes
checking for x86 AVX2 asm support in compiler... yes
checking whether the linker supports Identical Code Folding... no
checking whether removing dead symbols breaks debugging... no
checking for working const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking whether 64-bits std::atomic requires -latomic... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for sockaddr_in.sin_len... false
checking for sockaddr_in6.sin6_len... false
checking for sockaddr.sa_len... false
checking for gethostbyname_r in -lc_r... no
checking for library containing dlopen... -ldl
checking for dlfcn.h... yes
checking for dladdr... yes
checking for memmem... yes
checking for socket in -lsocket... no
checking for XDrawLines in -lX11... yes
checking for XextAddDisplay in -lXext... yes
checking for XtFree in -lXt... yes
checking for xcb_connect in -lxcb... yes
checking for xcb_shm_query_version in -lxcb-shm... yes
checking for XGetXCBConnection in -lX11-xcb... yes
checking for X11/extensions/scrnsaver.h... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether /usr/bin/gcc-4.9 -std=gnu99 accepts -pthread... yes
checking for pthread.h... yes
checking whether /usr/bin/gcc-4.9 -std=gnu99 needs -traditional... no
checking for 8-bit clean memcmp... yes
checking for stat64... yes
checking for lstat64... yes
checking for truncate64... yes
checking for statvfs64... yes
checking for statvfs... yes
checking for statfs64... yes
checking for statfs... yes
checking for getpagesize... yes
checking for gmtime_r... yes
checking for localtime_r... yes
checking for arc4random... no
checking for arc4random_buf... no
checking for mallinfo... yes
checking for gettid... no
checking for lchown... yes
checking for setpriority... yes
checking for strerror... yes
checking for syscall... yes
checking for clock_gettime(CLOCK_MONOTONIC)... 
checking for pthread_cond_timedwait_monotonic_np... 
checking for wcrtomb... yes
checking for mbrtowc... yes
checking for res_ninit()... yes
checking for iconv in -lc... yes
checking for iconv()... yes
checking for iconv() with const input... no
checking for nl_langinfo and CODESET... yes
checking for an implementation of va_copy()... yes
checking whether va_list can be copied by value... no
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for C++ dynamic_cast to void*... yes
checking for __thread keyword for TLS variables... yes
checking for __attribute__((always_inline))... yes
checking for LC_MESSAGES... yes
checking for localeconv... yes
checking for malloc.h... yes
checking for strndup... yes
checking for posix_memalign... yes
checking for memalign... yes
checking for malloc_usable_size... yes
checking whether malloc_usable_size definition can use const argument... no
checking for valloc in malloc.h... yes
checking for valloc in unistd.h... no
checking NSPR selection... source-tree
checking if app-specific confvars.sh exists... /Cmn/src/palemoon/palemoon-28.0.0~b5~repack/application/palemoon/confvars.sh
Here:

Code: Select all

checking for gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ... Package gtk+-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-3.0' found Package gtk+-unix-print-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-unix-print-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-unix-print-3.0' found
configure: error: Library requirements (gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
DEBUG: <truncated - see config.log for full output>
DEBUG: configure:9694:26: error: conflicting types for 'malloc_usable_size'
DEBUG: In file included from configure:9692:0:
DEBUG: /usr/include/malloc.h:134:15: note: previous declaration of 'malloc_usable_size' was here
DEBUG:  extern size_t malloc_usable_size (void *__ptr) __THROW;
DEBUG:                ^
DEBUG: configure: failed program was:
DEBUG: #line 9691 "configure"
DEBUG: #include "confdefs.h"
DEBUG: #include <malloc.h>
DEBUG:                   #include <stddef.h>
DEBUG:                   size_t malloc_usable_size(const void *ptr);
DEBUG: int main() {
DEBUG: return malloc_usable_size(0);
DEBUG: ; return 0; }
DEBUG: configure:9722: checking for valloc in malloc.h
DEBUG: configure:9747: checking for valloc in unistd.h
DEBUG: configure:9902: checking NSPR selection
DEBUG: configure:11055: checking if app-specific confvars.sh exists
DEBUG: configure:12141: checking for gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0
DEBUG: configure: error: Library requirements (gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
ERROR: old-configure failed
*** Fix above errors and then restart with\
               "make -f client.mk build"
make[4]: *** [/Cmn/src/palemoon/palemoon-28.0.0~b5~repack/client.mk:378: configure] Error 1
make[4]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make[3]: *** [/Cmn/src/palemoon/palemoon-28.0.0~b5~repack/client.mk:391: /home/mr/pmbuild/Makefile] Error 2
make[3]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make[2]: *** [client.mk:170: build] Error 2
make[2]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make[1]: *** [debian/rules:18: override_dh_auto_build] Error 2
make[1]: Leaving directory '/Cmn/src/palemoon/palemoon-28.0.0~b5~repack'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2

miroR
Fanatic
Fanatic
Posts: 116
Joined: 2016-05-31, 19:22

Re: Building Pale Moon on Devuan fails 2

Unread post by miroR » 2018-08-10, 08:45

I've had lots of experience with gtk+-3 not compiling in my Gentoo system. The few indications so far (including the apt-get inability to install its dependencies below), and my previous attempts in Gentoo (years and longer ago; I'll try and search for reference in Gentoo users ML) give me a strong suspicion this won't compile on my sans-dbus system (just as it couldn't compile in my Gentoo).

A good info to share here is: Tor browser (the Firefox LTS, only modified) team chose to stick with gtk+-2, they didn't go the gtk+3 way. (Unfortunately Tor browser has some dbus stuff as compile time dependency; sadly also pulse... as best I remember, it was last time maybe 1/2 yr ago that I compiled it)...

My feeling is: if Pale Moon goes gtk+-3, it won't be compiling in my Devuan (and a good fraction of Gentoo, and some Devuan: there is Deuvan-based Refracta sans-dbus experimental, an OS completely without dbus compile-time or run-time dependencies, search for: refracta9_nodbus_amd64-20180612_0156.iso if I don't find time to give straight link)...

Now the apt-get's inability to install gtk+-3 dependencies that I mentioned above. It is Debian/Devuan, but it's pretty much guarranteed to be these same issues only in different (but similar) robes in other Linux flavours if they are lightweight like mine, or like Refracta, or like lots of Gentoo installations.

apt-get -s install gtk+-3.0

Code: Select all

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libjavascriptcoregtk-3.0-bin' for regex 'gtk+-3.0'
Note, selecting 'libwebkitgtk-3.0-dev' for regex 'gtk+-3.0'
Note, selecting 'gir1.2-gtk-3.0' for regex 'gtk+-3.0'
Note, selecting 'libspice-client-gtk-3.0-dev' for regex 'gtk+-3.0'
Note, selecting 'libjavascriptcoregtk-3.0-dev' for regex 'gtk+-3.0'
Note, selecting 'gir1.2-spiceclientgtk-3.0' for regex 'gtk+-3.0'
Note, selecting 'libgtk-3-0' for regex 'gtk+-3.0'
Note, selecting 'libwebkitgtk-3.0-common' for regex 'gtk+-3.0'
Note, selecting 'wxperl-gtk-3-0-4-uni-gcc-3-4' for regex 'gtk+-3.0'
Note, selecting 'libwebkitgtk-3.0-0' for regex 'gtk+-3.0'
Note, selecting 'gir1.2-spice-client-gtk-3.0' for regex 'gtk+-3.0'
Note, selecting 'nvidia-settings-gtk-390.67' for regex 'gtk+-3.0'
Note, selecting 'libwebkit2gtk-3.0-25' for regex 'gtk+-3.0'
Note, selecting 'libjavascriptcoregtk-3.0-0' for regex 'gtk+-3.0'
Note, selecting 'libspice-client-gtk-3.0-1' for regex 'gtk+-3.0'
Note, selecting 'libspice-client-gtk-3.0-5' for regex 'gtk+-3.0'
Note, selecting 'gir1.2-javascriptcoregtk-3.0' for regex 'gtk+-3.0'
Note, selecting 'libalien-wxwidgets-perl' instead of 'wxperl-gtk-3-0-4-uni-gcc-3-4'
Note, selecting 'nvidia-settings' instead of 'nvidia-settings-gtk-390.67'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gir1.2-spiceclientgtk-3.0 : Depends: gir1.2-spiceclientglib-2.0 (= 0.34-1.1) but it is not going to be installed
                             Depends: libspice-client-glib-2.0-8 (>= 0.13) but it is not going to be installed
 libspice-client-gtk-3.0-5 : Depends: libspice-client-glib-2.0-8 (>= 0.32) but it is not going to be installed
 libspice-client-gtk-3.0-dev : Depends: libspice-client-glib-2.0-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
apt-get s install libspice-client-glib-2.0-8

Code: Select all

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libspice-client-glib-2.0-8 : Depends: libpulse-mainloop-glib0 (>= 0.99.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
apt-get -s install gir1.2-spiceclientgtk-3.0

Code: Select all

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gir1.2-spiceclientgtk-3.0 : Depends: gir1.2-spiceclientglib-2.0 (= 0.34-1.1) but it is not going to be installed
                             Depends: libspice-client-glib-2.0-8 (>= 0.13) but it is not going to be installed
                              Depends: libspice-client-gtk-3.0-5 (>= 0.32) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
apt-get -s install libspice-client-gtk-3.0-5

Code: Select all

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libspice-client-gtk-3.0-5 : Depends: libspice-client-glib-2.0-8 (>= 0.32) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Wireshark, for one, have gone Qt, to not have issues with gtk+-3.0, just to tell... I'm not expert, and I may try and get some insight into this such as from more experienced packagers like the Refracta guy, but the change to gtk+-3.0 in Pale Moon is not a good change, if that is going to stick around...

There won't be any options to go pulse-free with it (see the dependency on pulse above in my apt-get STDOUT?), so no pure alsa anymore, and there won't be freedom from dbus to have in Pale Moon, if this change stick...

But pls. do correct me if you know better, kind developer/packager who are reading here!

Locked