Closed rachelambda closed 4 years ago
I'm attempting to build with the environment variable set at the moment, however getting to the point that fails takes quite a while on my computer. I'll come back and report my results once I'm done.
This is precisely why Rust 1.45.0 is in the testing repository. I'll also do a test build with this environment variable. We will be seeing a new Firefox release over the next few days so this may be fixed upstream regardless. https://bugzilla.mozilla.org/show_bug.cgi?id=1644624#c1
Makes sense. My bad. Feel free to close the issue if you think testing issues aren't relevant
This is the fix: https://hg.mozilla.org/mozilla-central/rev/bb79da633a2e (you were right)
I'll do some testing.
Turns out Firefox 79.0 is out today anyway. https://ftp.mozilla.org/pub/firefox/releases/79.0/source/firefox-79.0.source.tar.xz
The fix didn't make it into 79.0...
The fix didn't make it into 79.0...
was just about to say this :/
the no dbus patch needs to be updated for 79.0 as well
On it.
Here's Firefox 79.0. Not sure if it builds yet. https://github.com/kisslinux/repo/commit/b928599b45a9633e8d87c6e29680316e0ba0d9a4
Build fails for me here:
In file included from /root/.cache/kiss/build-1200/firefox/build/dist/system_wrappers/net/if.h:3,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:49,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/net/if.h:64:8: error: redefinition of 'struct ifmap'
64 | struct ifmap {
| ^~~~~
In file included from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:50,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun_util.h:38,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:39,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/linux/if.h:192:8: note: originally defined here
192 | struct ifmap {
| ^~~~~
In file included from /root/.cache/kiss/build-1200/firefox/build/dist/system_wrappers/net/if.h:3,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:49,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/net/if.h:76:8: error: redefinition of 'struct ifreq'
76 | struct ifreq {
| ^~~~~
In file included from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:50,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun_util.h:38,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:39,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/linux/if.h:229:8: note: originally defined here
229 | struct ifreq {
| ^~~~~
In file included from /root/.cache/kiss/build-1200/firefox/build/dist/system_wrappers/net/if.h:3,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:49,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/net/if.h:116:8: error: redefinition of 'struct ifconf'
116 | struct ifconf {
| ^~~~~~
In file included from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:50,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/stun_util.h:38,
from /root/.cache/kiss/build-1200/firefox/media/mtransport/third_party/nICEr/src/stun/addrs-netlink.c:39,
from Unified_c_third_party_nICEr1.c:20:
/usr/include/linux/if.h:281:8: note: originally defined here
281 | struct ifconf {
It no longer fails due to rust though!
My build is still ongoing, guess we'll see if I have the same error. The new error does seem a lot more annoying than a simple rust flag though...
Mine fails differently
In file included from /usr/include/asm/div64.h:75,
from /usr/include/linux/math64.h:7,
from /usr/include/linux/time64.h:5,
from /usr/include/linux/restart_block.h:10,
from /usr/include/linux/thread_info.h:13,
from /usr/include/asm/preempt.h:7,
from /usr/include/linux/preempt.h:78,
from /usr/include/linux/spinlock.h:51,
from /usr/include/linux/percpu_counter.h:10,
from /usr/include/net/dst_ops.h:5,
from /usr/include/net/dst.h:12,
from /usr/include/net/route.h:23,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:53,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.h:41,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/nricectx.cpp:81:
/usr/include/asm-generic/div64.h:249:3: error: #error do_div() does not yet support the C64
249 | # error do_div() does not yet support the C64
| ^~~~~
In file included from /usr/include/linux/bitops.h:29,
from /usr/include/linux/thread_info.h:25,
from /usr/include/asm/preempt.h:7,
from /usr/include/linux/preempt.h:78,
from /usr/include/linux/spinlock.h:51,
from /usr/include/linux/percpu_counter.h:10,
from /usr/include/net/dst_ops.h:5,
from /usr/include/net/dst.h:12,
from /usr/include/net/route.h:23,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:53,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.h:41,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/nricectx.cpp:81:
/usr/include/asm/bitops.h:26:3: error: #error "Unexpected BITS_PER_LONG"
26 | # error "Unexpected BITS_PER_LONG"
| ^~~~~
In file included from /usr/include/linux/thread_info.h:25,
from /usr/include/asm/preempt.h:7,
from /usr/include/linux/preempt.h:78,
from /usr/include/linux/spinlock.h:51,
from /usr/include/linux/percpu_counter.h:10,
from /usr/include/net/dst_ops.h:5,
from /usr/include/net/dst.h:12,
from /usr/include/net/route.h:23,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:53,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.h:41,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/nricectx.cpp:81:
/usr/include/linux/bitops.h:229:2: error: #error BITS_PER_LONG not 32 or 64
229 | #error BITS_PER_LONG not 32 or 64
| ^~~~~
In file included from /usr/include/linux/percpu_counter.h:10,
from /usr/include/net/dst_ops.h:5,
from /usr/include/net/dst.h:12,
from /usr/include/net/route.h:23,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun.h:53,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.h:41,
from /root/.cache/kiss/build-1168/firefox/media/mtransport/nricectx.cpp:81:
/usr/include/linux/spinlock.h:60:10: fatal error: asm/mmiowb.h: No such file or directory
60 | #include <asm/mmiowb.h>
| ^~~~~~~~~~~~~~
Though, I'm on glibc, which might change just about anything/everything
Pushed the latest ESR as well as it too needs testing. I've tracked down the cause of my error and will be adding a patch to fix it shortly.
OK. The ESR works with the latest rust.
This should be all fixed now. Can build both new Firefox releases with the latest rust.
I recently tried to build the latest version, however I'm getting a very confusing error
56946 et.h:175:3: note: in expansion of macro 'NS_INLINE_DECL_THREADSAFE_REFCOU
56946 NTING'
56947 175 | NS_INLINE_DECL_THREADSAFE_REFCOUNTING(TestNat);
56948 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56949 /home/deppy/.cache/kiss/build-19811/firefox/media/mtransport/test_nr_sock
56949 et.h: In member function 'virtual MozExternalRefCountType mozilla::TestNr
56949 Socket::AddRef()':
56950 /home/deppy/.cache/kiss/build-19811/firefox/build/dist/include/nsISupport
56950 sImpl.h:33:3: error: '_Static_assert' was not declared in this scope; did
56950 you mean 'static_assert'?
56951 33 | static_assert(!mozilla::IsDestructible<X>::value, \
56952 | ^~~~~~~~~~~~~
It complains about _Static_assert not being defined, however static_assert is used. The header that defines static_assert is also included in the file where the macro is defined. Am I missing something here?
Going to try recompiling with
export CFLAGS="$CFLAGS -D_Static_assert=static_assert"
export CXXFLAGS="$CXXFLAGS -D_Static_assert=static_assert"
Do you mean with glibc?
Yes, however these assertions should be done by the compiler, no? I didn't think about it being a libc issue. If that's the case then I'll figure it out on my own.
When building firefox under rust 1.45 I encounter the error
A quick duckduckgo comes up with this reddit thread
If the reddit comment is indeed correct this could be fixed by adding
to the top of the build.