Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Hmm, it seems I've mis-remembered the launch command. My apologies.

Let's try this... do ls /usr/share/applications. You should see some kind of entry for Arctic Fox, whether it be arcticfox.desktop, arctic-fox.desktop, or maybe ArcticFox.desktop. In however way it's formatted, then do cat /usr/share/applications/arcticfox.desktop. You should then see a file marked with "[Desktop Entry]" at the beginning, someplace within it lying the "exec=" line. Then, enter into the terminal whatever comes after "exec=", minus the trailing %U (or was it U%?).

What we're trying to do here is launch the application via terminal so that we can at least get some kind of error message in response, which would help us figure out what the problem is.
 
rich@debian:~/Downloads$ /usr/lib/arcticfox/arcticfox
+ /usr/lib/arcticfox/arcticfox
XPCOMGlueLoad error for file /usr/lib/arcticfox/libnspr4.so:
/lib/powerpc-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /usr/lib/arcticfox/libnspr4.so)
Couldn't load XPCOM.
 
it seems the newer version dont function anymore.
i remember to have had it installed sometime and functioning on debian powerpc on a poewrmac g5 , but somehow lost it.
would be nice to be able to access it from a archive somewhere.
iceweasel31 functions very well and responsive but i think it is going to be limited more and more, some site are already not achievable with it.
 
Didn't have a look at the google drive download, but unless it's a build hosted on an older distribution as well it's safe to assume it won't work under wheezy. Wheezy shipped GLibc 2.13 before it became oldstable IIRC.

@mrkapqa xeno posted links to 27.10.1 (both 32- and 64-bit) builds for ubuntu 10.04 here. Other than not being .deb packages, chances are it'll work fine.
 
  • Like
Reactions: sparty411
Yes, because of stability, and overall performance, and also Debian 8 broke the Firewire port on my machine, so i could no longer use the MBbox for Sound reproduction.
Minor issues, but if there is something equally "stable" id be happy to switch.
 
I pretty much left powerpc Debian after Wheezy + kernel 3.2 became unsupported. While the installer script had issues with yaboot in some 7.x releases everything else worked out of the box for me. Jessie changed that.

Should you have a multiprocessor or powerful machine (and some patience), Wheezy just meets all requirements to build arcticfox. With the appropriate packages installed from the Wheezy apt repo there's not much reason it shouldn't be doable. I won't build it myself for I don't use Wheezy or have a working install right now, but I can give advice. Once first build is complete and successful it's straightforward to reproduce.

If you're against building it yourself there's not much to be done but the obvious.
 
@XaPHER thank you so much for your help, yes i have a multiprocessor system(pm7,3), and i tried newer Debian aswell as Ubuntu and varia, but all those "tries" were only partly satisfactorly, so i stuck with Wheezy.

If you have a writeup on how to build Arcticfox, i§ll be happy to test it (although i would prefer to build Firefox 45 or 52 first).
 
Cool, I have a working mozconfig for 45.9 as well, though not that different (and works for 52.x too). I'm not sure 52 will work out with Wheezy, but 45 shouldn't be a problem. 52 has many more issues in comparison to 45 anyway. I'll point you to one or two patches for endian fixes in 45.

I'll have to remember what package versions wheezy precisely has, too, but it'll be okay.

It's just a matter of me rebooting my MDD in my gentoo install once I can.
 
Okay, got a few things together. I've never built 45 on wheezy but I think it shouldn't be too troublesome.

Dependencies, of course
Code:
apt-get g++ gcc libxt-dev libsqlite3-dev autoconf2.13 zip libbz2-dev libegl1-mesa-dev zlib1g-dev libasound2-dev libssl-dev libgtk2-dev build-essential make

Grab the last 45 esr xz'ed tarball at http://ftp.mozilla.org/pub/firefox/releases/45.9.0esr/source/
(You can also clone from the mercurial repo, but for now unless you really want to, it's likely extra trouble)

De-archive the tarball wherever you want the source tree

Grab the mozconfig.txt i've attached, move it to the base of the mozilla source tree and rename it ".mozconfig"

open .mozconfig in a text editor:

make sure calling gcc from command line points to gcc version 4.7. Otherwise adjust the name of gcc and g++ in the lines with export CC and CXX with the correct suffix.

Verify if calling autoconf213 actually points to autoconf 2.13 and adjust the name of autoconf213 on the line


Code:
mk_add_options AUTOCONF=autoconf213

as needed.

See if you want to re-enable options disabled at the bottom of the mozconfig. gstreamer support might be desirable, but since there should be ffmpeg support it might just not be needed for h264 video playback.

In a terminal window, at the top-level of your firefox source tree again,
Code:
make -f client.mk build

With any luck it throws no errors and after 2-3 hours you have a working build at (top-level of the source tree)/obj-ff-dbg/dist/bin/firefox

I don't think it's too well explained for now so I'll come back to make corrections and fixes for clarity. Other issue here is I'm assuming you're fairly comfortable with the command-line and, well, I don't know if that's a fact. Leave feedback, or if that's enough to get you started feel free to give it a try :p

Other than that I'll put up here the patches I mentioned earlier for endian issues in not long.
 

Attachments

  • Mozconfig.txt
    1.2 KB · Views: 109
  • Like
Reactions: dextructor
hello, thank you so much,
that was very helpful - installed gcc-4.7 and g++-4.7 and started with (after following your instructions)

"
export CC=gcc-4.7 CXX=g++-4.7 && make -f client.mk build
"

however, the build would stop quickly claiming that 4.7 is needed

configure:4033: checking for ld
configure:4068: checking for strip
configure:4103: checking for windres
configure:4138: checking for otool
configure: error: Only GCC 4.7 or newer supported
*** Fix above errors and then restart with\
"make -f client.mk build"
make[2]: *** [configure] Error 1
 
Thank you Wicknix,

now it would start properly

however after some time error occur

Code:
make[5]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/devtools/shared/security'
make[5]: Entering directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/xpcom/reflect/xptcall/md/unix'
xptcinvoke_asm_ppc64_linux.o
xptcstubs_asm_ppc64_linux.o
/home/rich/Downloads/firefox-45.9.0esr/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc64_linux.S: Assembler messages:
/home/rich/Downloads/firefox-45.9.0esr/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc64_linux.S:59: Error: junk at end of line, first unrecognized character is `@'
make[5]: *** [xptcinvoke_asm_ppc64_linux.o] Error 1
make[5]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/xpcom/reflect/xptcall/md/unix'
make[4]: *** [xpcom/reflect/xptcall/md/unix/target] Error 2
make[4]: *** Waiting for unfinished jobs....
UnifiedBindings13.o
UnifiedBindings14.o
UnifiedBindings15.o
UnifiedBindings16.o
UnifiedBindings17.o
UnifiedBindings18.o
UnifiedBindings19.o
UnifiedBindings2.o
UnifiedBindings20.o
UnifiedBindings21.o
UnifiedBindings22.o
UnifiedBindings23.o
UnifiedBindings24.o
UnifiedBindings3.o
UnifiedBindings4.o
UnifiedBindings5.o
UnifiedBindings6.o
UnifiedBindings7.o
UnifiedBindings8.o
UnifiedBindings9.o
StructuredClone.o
Unified_cpp_dom_bindings0.o
libdom_bindings.a.desc
make[5]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/dom/bindings'
make[4]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr'
make: *** [build] Error 2
 
Okay, got a few things together. I've never built 45 on wheezy but I think it shouldn't be too troublesome.




Verify if calling autoconf213 actually points to autoconf 2.13 and adjust the name of autoconf213 on the line

Code:
mk_add_options AUTOCONF=autoconf213

as needed.

autoconf --version
Autoconf version 2.13

should i then edit the above or delete the line altogether from mozconfig?

the first lines from .mozconfig look like

. $topsrcdir/browser/config/mozconfig

export CC="gcc-4.7 -flax-vector-conversions"
export CXX="g++-4.7 -flax-vector-conversions -fpermissive"

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg
mk_add_options MOZ_MAKE_FLAGS="-s -j2"
mk_add_options AUTOCONF=autoconf213
 
Last edited:
autoconf --version
Autoconf version 2.13

should i then edit the above or delete the line altogether from mozconfig?

No need to, autoconf is fine.

Hmmm I doubt the build error is a bug with binutils..

The line as barfs on:

Code:
.quad   .NS_InvokeByIndex,.TOC.@tocbase

AFAICT this is valid with the ELF PPC64 ABI but not in 32-bit powerpc, so the build system might be choosing the 64-bit .S variant because your host says 64-bit multilib, but gcc compiles for 32-bit by default. Or something like that.

In a command line, what does uname -r say?

and then what does

Code:
echo 'int main(void) {return 0;}' > idoNOTexist.c && gcc-4.7 idoNOTexist.c -o idoNOTexist && file idoNOTexist && rm -f idoNOTexist.c idoNOTexist

say?

As long as we can pinpoint what exactly is going on, you might have to restart the whole build, but at least I don't think there's any toolchain bug so far.
 
3.2.0-4-powerpc64
[automerge]1597168694[/automerge]
rich@debian:~$ echo 'int main(void) {return 0;}' > idoNOTexist.c && gcc-4.7 idoNOTexist.c -o idoNOTexist && file idoNOTexist && rm -f idoNOTexist.c idoNOTexist
idoNOTexist: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x980d45073dd3553cf72fb6e95e50b601825f2a86, with unknown capability 0x41000000 = 0x13676e75, with unknown capability 0x10000 = 0xb0401, not stripped
 
@mrkapqa Okay, looks like I was right. I'm not really sure your install is multilib, so does
Code:
echo 'int main(void) {return 0;}' > idoNOTexist.c && gcc-4.7 -m64 idoNOTexist.c -o idoNOTexist && rm -f idoNOTexist.c idoNOTexist
result in linking errors? (paste the output text if there's any.)

If there are errors, you won't be able to generate 64-bit executables, so then you should try to specify your HOST as 32-bit in the .mozconfig (add this line):

Code:
ac_add_options --host=powerpc-unknown-linux-gnu

Otherwise if there are no errors, a 64-bit firefox is probably preferable , so instead of the above change CC and CXX in your .mozconfig from

export CC="gcc-4.7 -flax-vector-conversions"
export CXX="g++-4.7 -flax-vector-conversions -fpermissive"


to

export CC="gcc-4.7 -m64 -flax-vector-conversions"
export CXX="g++-4.7 -m64 -flax-vector-conversions -fpermissive"


If you can create 64-bit executables you can do whichever you prefer, but of course if you can't, the former is the only option.

Once you've done either, at the top hierarchy of the source code tree, do a

Code:
rm -rf obj-ff-dbg configure
and then
Code:
make -f client.mk build
This will start over the whole build but, if things go as expected you shouldn't have to start over again like this.
 
>result in linking errors - paste output if any

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.7/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.7/libgcc.a when searching for libgcc.a
/usr/bin/ld: cannot find libgcc.a
collect2: error: ld returned 1 exit status
 
rm -rf obj-ff-dbg configure

rich@debian:~/Downloads/firefox-45.9.0esr$
rich@debian:~/Downloads/firefox-45.9.0esr$
rich@debian:~/Downloads/firefox-45.9.0esr$
rich@debian:~/Downloads/firefox-45.9.0esr$
rich@debian:~/Downloads/firefox-45.9.0esr$ make -f client.mk build

client.mk:202: /home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/.mozconfig.mk: No such file or directory
mkdir -p '/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/'
python2.7 /home/rich/Downloads/firefox-45.9.0esr/config/pythonpath.py -I /home/rich/Downloads/firefox-45.9.0esr/testing/mozbase/mozfile \
/home/rich/Downloads/firefox-45.9.0esr/python/mozbuild/mozbuild/controller/clobber.py /home/rich/Downloads/firefox-45.9.0esr /home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg
Clobber not needed.
> /home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/.mozconfig.mk
make -f /home/rich/Downloads/firefox-45.9.0esr/client.mk realbuild CREATE_MOZCONFIG_JSON=
Adding client.mk options from /home/rich/Downloads/firefox-45.9.0esr/.mozconfig:
AUTOCONF=autoconf213
MOZ_MAKE_FLAGS=-s -j2
MOZ_OBJDIR=/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg
OBJDIR=/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg
FOUND_MOZCONFIG=/home/rich/Downloads/firefox-45.9.0esr/.mozconfig
make[1]: Entering directory `/home/rich/Downloads/firefox-45.9.0esr'
Generating /home/rich/Downloads/firefox-45.9.0esr/configure using autoconf
cd /home/rich/Downloads/firefox-45.9.0esr; autoconf213
/bin/sh: 1: autoconf213: not found
make[1]: *** [/home/rich/Downloads/firefox-45.9.0esr/configure] Error 127
make[1]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr'
make: *** [build] Error 2
 
That's weird since it seemed to work before. Well in that case change

mk_add_options AUTOCONF=autoconf213

to

mk_add_options AUTOCONF=autoconf


in your .mozconfig for now. The above linking errors suggests you indeed have a 64-bit kernel but 32-bit userland, so add the line

ac_add_options --host=powerpc-unknown-linux-gnu



To mozconfig and keep CC and CXX as-is.

You can resume with make -f client.mk build after that.
 
with changing
mk_add_options AUTOCONF=autoconf213
to
mk_add_options AUTOCONF=autoconf

build went further and eventually stopped after one hour or so

(with method you updated)

Unified_cpp_protocol_websocket0.cpp:(.text+0x14510): undefined reference to `__atomic_fetch_sub_8'
Unified_cpp_protocol_websocket0.cpp:(.text+0x14570): undefined reference to `__atomic_fetch_add_8'
../../netwerk/protocol/websocket/Unified_cpp_protocol_websocket0.o: In function `mozilla::detail::AtomicBaseIncDec<unsigned long long, (mozilla::MemoryOrdering)2>::eek:perator--()':
Unified_cpp_protocol_websocket0.cpp:(.text._ZN7mozilla6detail16AtomicBaseIncDecIyLNS_14MemoryOrderingE2EEmmEv[_ZN7mozilla6detail16AtomicBaseIncDecIyLNS_14MemoryOrderingE2EEmmEv]+0x68): undefined reference to `__atomic_fetch_sub_8'
../../dom/media/mediasink/Unified_cpp_dom_media_mediasink0.o: In function `std::__atomic_base<long long>::load(std::memory_order) const':
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
../../dom/media/mediasink/Unified_cpp_dom_media_mediasink0.o: In function `std::__atomic_base<long long>::fetch_add(long long, std::memory_order)':
/usr/include/c++/4.7/bits/atomic_base.h:566: undefined reference to `__atomic_fetch_add_8'
/usr/include/c++/4.7/bits/atomic_base.h:566: undefined reference to `__atomic_fetch_add_8'
../../dom/media/mediasource/Unified_cpp_media_mediasource0.o: In function `std::__atomic_base<long long>::load(std::memory_order) const':
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
../../dom/media/mediasource/Unified_cpp_media_mediasource0.o: In function `std::__atomic_base<long long>::store(long long, std::memory_order)':
/usr/include/c++/4.7/bits/atomic_base.h:438: undefined reference to `__atomic_store_8'
../../dom/media/mediasource/Unified_cpp_media_mediasource0.o: In function `std::__atomic_base<long long>::load(std::memory_order) const':
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
../../dom/media/mediasource/Unified_cpp_media_mediasource0.o: In function `std::__atomic_base<long long>::store(long long, std::memory_order)':
/usr/include/c++/4.7/bits/atomic_base.h:438: undefined reference to `__atomic_store_8'
../../dom/media/mediasource/Unified_cpp_media_mediasource0.o: In function `std::__atomic_base<long long>::load(std::memory_order) const':
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
/usr/include/c++/4.7/bits/atomic_base.h:458: undefined reference to `__atomic_load_8'
../../dom/base/Unified_cpp_dom_base1.o: In function `mozilla::dom::ImportLoader::cycleCollection::Unlink(void*)':
Unified_cpp_dom_base1.cpp:(.text+0x2b43c): undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
make[5]: *** [libxul.so] Error 1
make[5]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg/toolkit/library'
make[4]: *** [toolkit/library/target] Error 2
make[4]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[3]: *** [compile] Error 2
make[3]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr/obj-ff-dbg'
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory `/home/rich/Downloads/firefox-45.9.0esr'
make: *** [build] Error 2
 
  • Like
Reactions: z970
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.