00:00:10 Compiling under x86 is totally unsupported by mozilla. 00:00:21 first I need to figure out which package is the i386 cross-compilation C++ standard libraries 00:00:57 that is a thing go 00:00:59 the rust issue 00:01:02 because that's what it is missing 00:01:17 and frg isn't wrong 00:02:05 but 32bit distros DO do it like that and always have.. 00:02:27 because what mozilla supports used to not matter cause source code was easy to modify and build 00:03:54 you know Sompi that whole.. open source ecosystem shit no one likes anymore 00:03:56 :P 00:05:11 it just complains that libstdc++ is not new enough 00:05:24 probably means that it does not exist for that target 00:09:16 it was lib64stdc++-12-dev-i386-cross 00:09:22 now it is asking for the rust standard library 00:09:40 32bit rust 00:10:27 how do I add them? 00:10:43 the build system tells me to use "rustup" but I don't have that installed 00:11:15 and I cannot find libstd-rust-cross-compilation packages from apt 00:11:22 you can use rustup but uninstall system rust 00:11:49 https://rustup.rs/ 00:12:12 https://gitlab.com/binaryoutcast/laboratories/projects/el8-updates/-/blob/TRUNK/rustup-init/package.spec?ref_type=heads 00:12:31 is it telling me to pipe http payload to sh? 00:13:02 they removed the archive 00:13:35 whatever 00:13:39 it's a virtual machine 00:13:48 who cares if it gets some weird shit in it 00:14:59 the rust people really love to be in control of what the users of their programming language have in their computers 00:15:21 hey are fuckin cult members 00:15:30 cenobites 00:16:04 is there also i386-unknown-linux-gnu? 00:16:30 i586 seems to exist 00:17:04 does debian based still default to i386 not i586? 00:19:05 I ran that rustup thing and now rust and cargo are somehow only runnable for root 00:19:59 hmm 00:20:05 I see, so it only installs it for the current user 00:20:06 :| 00:20:52 then how do I remove that 00:22:54 now I have two installations of it, and I don't need it for root 00:23:16 now it is compiling for i686-target 00:24:13 it probably fails at linking but at least it is going somewhere 00:36:06 http://sininenankka.dy.fi/kuvauppi/upload/q4rvq.jpg <- what is this error 2? 00:39:27 go up to the first error 00:39:41 that is only the final one 00:39:56 but there's only warnings 00:40:03 error 2 as in make error 2 00:40:11 wait 00:40:13 you sure? 00:40:25 unless is this j1? 00:40:38 or only one core 00:41:56 Doesn't it stop the build immediately when it encounters an error? 00:48:36 apparently not 00:48:48 I switched to single-core and now I see the error 00:49:39 http://sininenankka.dy.fi/kuvauppi/upload/1e3zkp.jpg 00:49:44 now I'm confused 00:51:56 apparently the default size of a double is different for 32- and 64-bit platforms 00:52:04 so I probably need some compiler flag 01:02:31 nsITobin: I think the compiler options I need are -mdouble=64 and -mlong-double-128 01:02:54 but the builder refuses to start the build because "Option must start with two dashes instead of one" 01:03:20 hmm 01:03:36 But clang wants those with one - 01:03:49 ffs 01:13:33 how do I solve that 01:13:33 :( 02:09:20 the python script seems to be written in such way that it is completely incompatible with compiler flags that begin with one - 02:10:47 "http://sininenankka.dy.fi/kuvauppi/upload/n91yw.jpg 02:10:49 http://sininenankka.dy.fi/kuvauppi/upload/n91yw.jpg 02:11:03 that's a ridiculously bad way to do things 02:11:54 http://sininenankka.dy.fi/kuvauppi/upload/136sml.jpg 02:12:04 that is so bad that those functions there should be rewritten entirely 02:12:54 it is also incompatible with compiler flargs that are not 100% lowercase 02:12:58 seriously 02:13:08 what the hell 02:14:19 And if I patch it so that it accepts the flags that start with only one '-', some other function that joins the options afterwards loses the value of the compiler flag 02:38:46 actually I think that the compiler flag I need is -ffp-eval-method=0 02:38:51 but it also has only one - so it doesn't work 02:39:33 They changed the floating point type definitions in some version of gcc headers and now it conflicts with the code in seamonkey's source 02:39:36 hmm.. optimize flags in mozconfig maybe? 02:42:00 and that flag does not even exist in clang version 14.0.6 that Debian has... but it exists in version 20 02:42:04 this is hopeless 02:44:01 what if I just patch the header files directly... 02:44:07 fuck gcc 02:44:29 why it has to have different floating point type definitions for different x86 bitnesses 02:50:21 they really like to break stuff 02:52:48 and also redefining a standard data type like double_t in your own code is a very stupid thing to do, it is surely going to not work on every target platform where that data type is not already what you want it to be 02:53:05 and somehow someone did that in mozilla's source code 02:54:13 but anyway, it continues compiling now after I changed the definition of __GLIBC_FLT_EVAL_METHOD for other than 64-bit x86 targets to 0 in /usr/i686-linux-gnu/include/bits/flt-eval-method.h 02:54:44 So the entire SeaMonkey codebase depends on it being 0 02:55:11 and by default it is 2 for 32-bit targets, and only newer versions of clang allow changing it from the command line 08:45:26 Tobin: swapping wouldn't be an issue here (other than possible thrashing, but this being a VM maybe it was all cached in RAM?), the 4 GiB total is *with* swap. 08:49:38 Sompi: did you start a clean build when you changed to cross-compiling? 12:17:56 Linux and macOS cross build scripts and configs from the Linux builder: 12:17:58 https://seafiles.thereisonlyxul.org/people/frg/build.zip 12:17:59 Obviously the google api keys are not included so you need to provide your own or remove them from the configs. Only used for smartscreen and location services. 12:18:01 Also obviously they won't work without adapting the path statements too. 12:18:02 gcc 8.50 /clang 8 (llvm) and clang 14 .06 cross for macOS only. 12:41:01 And here the Windows ones: https://seafiles.thereisonlyxul.org/people/frg/mozconfigs-25321-win.zip 13:49:20 njsg: How do I make sure that it starts a clean build? 14:10:30 mach clobber or delete the object directory 14:20:04 Good morning 14:20:18 hi nsITobin 15:36:37 the new hotness on DNS: HTTPS records 15:36:39 https://rohanrd.xyz/posts/hosting-website-on-phone/ 15:36:42 https://kalfeher.com/https-current-state/ 15:37:07 i guess we at Mozillaland don't have to worry that much yet: only Safari seems to properly support those records 15:37:21 Chromovision support is half-assed, and Firefox support is even more dire 15:37:41 and only cloud provider DNS services offer easy interfaces to manage said entries 15:38:11 on the flip side, it doesn't seem to rely on D'OH!, as it can work over traditional DNS too