Home | News | Download | Packages | Forum | Wiki | Github

Palemoon musl building fail


#1

I’m trying to compile palemoon from non-official void-packages https://git.cyber-everything.de/Hoshpak/void-packages/src/unmerged-changes/srcpkgs/palemoon directly with xbps-src pkg palemoon and get erros in the start…

 0:34.60 make[5]: *** [/builddir/Pale-Moon-27.5.0_Release/config/rules.mk:938: Unified_cpp_js_xpconnect_src1.o] Error 1
 0:34.60 make[4]: *** [/builddir/Pale-Moon-27.5.0_Release/config/recurse.mk:74: js/xpconnect/src/target] Error 2
 0:34.60 make[3]: *** [/builddir/Pale-Moon-27.5.0_Release/config/recurse.mk:37: compile] Error 2
 0:34.60 make[2]: *** [/builddir/Pale-Moon-27.5.0_Release/config/rules.mk:541: default] Error 2
 0:34.60 make[1]: *** [/builddir/Pale-Moon-27.5.0_Release/client.mk:398: realbuild] Error 2
 0:34.60 make: *** [client.mk:171: build] Error 2
 0:34.64 234 compiler warnings present.
=> ERROR: palemoon-27.5.0_1: failed to run do_build() at line 84.

recurse.mk:37

# Main rules (export, compile, libs and tools) call recurse_* rules.

This wrapping is only really useful for build status.

$(TIERS)::
$(call BUILDSTATUS,TIER_START $@)
+$(MAKE) recurse_$@
$(call BUILDSTATUS,TIER_FINISH $@)

rules.mk:541
default all::
$(foreach tier,$(TIERS),$(call SUBMAKE,$(tier)))

ifeq ($(findstring s,$(filter-out --%, $(MAKEFLAGS))),)
ECHO := echo
QUIET :=
else
ECHO := true
QUIET := -q
endif

client.mk:398

realbuild::  $(OBJDIR)/Makefile $(OBJDIR)/config.status
+$(MOZ_MAKE)

(the BOLD is the error message)

I think this is glibc and musl fix maunally patching?


#2

there is a musl.patch that’s not present in there, not shure if its needed.
Can’t upload it here so here goes…

--- toolkit/xre/nsSigHandlers.cpp	2016-11-08 22:22:03.966066292 +0100
+++ toolkit/xre/nsSigHandlers.cpp	2016-11-08 22:26:45.044534432 +0100
@@ -152,7 +152,11 @@
   status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl =
     status->__precis = status->__stkflt = status->__errsumm = 0;
 
+#if defined(__GLIBC__)
   __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
+#else
+  uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
+#endif
   *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
   *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
 #endif
@@ -172,13 +176,25 @@
   *sw &= ~FPU_STATUS_FLAGS;
 #endif
 #if defined(__amd64__)
+#if defined(__GLIBC__)
   __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
+#else
+  uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
+#endif
   *cw |= FPU_EXCEPTION_MASK;
 
+#if defined(__GLIBC__)
   __uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
+#else
+  uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
+#endif
   *sw &= ~FPU_STATUS_FLAGS;
 
+#if defined(__GLIBC__)
   __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
+#else
+  uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
+#endif
   *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
   *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
 #endif

--- xpcom/io/nsLocalFileUnix.cpp	2016-11-27 13:51:34.859339477 +0100
+++ xpcom/io/nsLocalFileUnix.cpp	2016-11-27 13:52:44.635444277 +0100
@@ -24,7 +24,7 @@
 #include <fabdef.h>
 #endif
 
-#if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H)
+#if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H) && defined(__GLIBC__)
 #define USE_LINUX_QUOTACTL
 #include <sys/mount.h>
 #include <sys/quota.h>

#3

I never patched before, my old distro is a Gentoo (and USE flag system)
how can I successfull the palemoon custom compile?


#4

ok, save what I pasted to musl.patch, copy patch to …/srcpkgs/palemoon/patches
(you should now have 6 files total in that dir) - then “./xbps-src clean palemoon” then "./xbps-src pkg palemoon"
it will patch automatic


#5

Ohh thanks, the compile is continous… I will finished a next day…


#6

about 70 percent

70:12.16 make[5]: *** [/builddir/Pale-Moon-27.5.0_Release/config/rules.mk:938: Unified_cpp_js_xpconnect_src1.o] Error 1
70:12.16 make[4]: *** [/builddir/Pale-Moon-27.5.0_Release/config/recurse.mk:74: js/xpconnect/src/target] Error 2
70:12.16 make[3]: *** [/builddir/Pale-Moon-27.5.0_Release/config/recurse.mk:37: compile] Error 2
70:12.16 make[2]: *** [/builddir/Pale-Moon-27.5.0_Release/config/rules.mk:541: default] Error 2
70:12.16 make[1]: *** [/builddir/Pale-Moon-27.5.0_Release/client.mk:398: realbuild] Error 2
70:12.16 make: *** [client.mk:171: build] Error 2
70:12.19 234 compiler warnings present.
70:12.27 Notification center failed: Install the python dbus module to get a notification when the build finishes.
=> ERROR: palemoon-27.5.0_1: failed to run do_build() at line 84.

#7

What the heck, no more palemoon update from Hoshpak anymore? :S


#8

@tatsuyaizanagi you can still download the release binaries. :waxing_gibbous_moon:


#9

@cr6
Are you sure about this? Have you tested?
I would be very interested in it if it does work. Always thought Pale Moon was compiled against glibc only.
I go through the forum every now and then and they seem unwilling to add musl support, see https://github.com/MoonchildProductions/Pale-Moon/issues/366
Basilisk sounds interesting also, but also there no musl version :no_mouth:


#10

@pin No, it’s for glibc, of course. I didn’t feel obliged to specify this…


#11

yep no musl version template anymore :S
Hoshpak remove from own repository.

@cr6

This is the glibc version.


#12

@tatsuyaizanagi Yes, I know. This is what we said previously.