SunOS build failure with 32.5.0

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
ptribble
Moongazer
Moongazer
Posts: 8
Joined: 2021-03-14, 12:10

SunOS build failure with 32.5.0

Unread post by ptribble » 2023-11-06, 10:38

Building 32.5.0 on illumos fails with:

19:23.30 Text relocation remains referenced
19:23.30 against symbol offset in file
19:23.30 ff_cos_1024 0xcf7 x86/fft.o
...
[lots more ff_cos_XXXX]
...
19:23.32 ff_cos_2048 0x1817 x86/fft.o
19:23.32 ld: fatal: relocations remain against allocatable but non-writable sections
19:23.32 collect2: error: ld returned 1 exit status
19:23.32 gmake[5]: *** [/export/home/ptribble/ud/palemoon-source/platform/config/rules.mk:772: libmozavcodec.so] Error 1

This seems to be yasm, but my yasm is current.

A working fix (as I'm posting this from a 32.5.0 built with this patch) to platform is:

Code: Select all

diff --git a/old-configure.in b/old-configure.in
index aa1750ec90..840554a541 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -3267,6 +3267,9 @@ case "$OS_ARCH:$CPU_ARCH" in
   WINNT:x86)
       MOZ_LIBAV_FFT=1
   ;;
+  SunOS:x86_64)
+      MOZ_LIBAV_FFT=
+  ;;
   *:x86_64)
       MOZ_LIBAV_FFT=1
   ;;
@@ -3334,6 +3337,9 @@ case "$OS_ARCH:$CPU_ARCH" in
   WINNT:x86)
       MOZ_FFVPX=1
   ;;
+  SunOS:x86_64)
+      MOZ_FFVPX=
+  ;;
   *:x86_64)
       MOZ_FFVPX=1
   ;;
Thanks!

-Peter

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1537
Joined: 2018-10-28, 19:56
Location: Georgia

Re: SunOS build failure with 32.5.0

Unread post by athenian200 » 2023-11-06, 11:32

I wound up fixing the same issue here:

https://repo.palemoon.org/MoonchildProd ... f4843ac7ef

But unfortunately, I didn't catch it before 32.5.0 released, so this won't actually ship until 32.5.1. I was at school all week, and couldn't really get home to look into why 32.5.0 was having issues until this weekend.

Basically, for whatever reason, it requires the creation of some kind of linker mapfile that is compatible with the illumos linker, and I implemented code that does generate code you can feed that linker (The mapfile it generates is probably far from ideal and basically just uses an arbitrary symbol version from an old Solaris tutorial, though that would be hard to do better when dealing with auto-generated mapfiles that are this limited anyway).
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
ptribble
Moongazer
Moongazer
Posts: 8
Joined: 2021-03-14, 12:10

Re: SunOS build failure with 32.5.0

Unread post by ptribble » 2023-11-06, 15:00

That sounds great, thanks!

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1537
Joined: 2018-10-28, 19:56
Location: Georgia

Re: SunOS build failure with 32.5.0

Unread post by athenian200 » 2023-11-06, 15:12

Oh, and by the way... looks like we have permission from MC to use that patch with 32.5.0 without using a different version number.

https://repo.palemoon.org/MoonchildProd ... ease-SunOS

He created this for us when he found out I added the mapfile support in because of build bustage. Which I probably should have mentioned in my PR, but I got so engrossed in seeing if I could get a SunOS-style mapfile to work with our build system that I forgot why I was doing it, and wound up pushing it forward with a bunch of other fixes.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind