Conversation
>Software being open sores means you can use it indefinitely. If the binaries no longer work, you can just rebuild it.

Alright so in order to build Erlang 22 from 2 years ago (OTP 22 is 7 years old), you need:
  • period-correct-ish version of GCC from ~7 years ago, because GCC 15 is too pedantic about syntax (oldest GCC Gentoo didn't mask yet is 11 from from 5 years ago)
  • custom build of OpenSSL 1.1, because Gentoo's openssl-compat package doesn't cut it (doesn't provide headers)
Now think what it takes to build software from 20 years ago.
image.png
8
2
4
$ rebar3
escript: exception error: undefined function rebar3:main/1
in function escript:run/2 (escript.erl, line 758)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
Already wanna kms
1
0
1
@phnt you tryna run old pleroma? i just used docker to set it all up. pic is from december
1
0
0
@phnt building pmars from 2000 wasn't that hard last time i tried
1
0
1
@kirby No I'm trying to run the Pleroma http_signatures library test suite on old versions, because it claimed it could work on 1.9 (spoiler alert, the deps don't after updating them to work on new Erlang).
1
0
2
* Getting credo (Hex package)
** (UndefinedFunctionError) function :filelib.safe_relative_path/2 is undefined or private
(stdlib 3.12.1.2) :filelib.safe_relative_path('VERSION', 'tmp_75EA62780D8D7BEE7C31EEB26AFA193BD547592D3A69FC0E9068568F4F408B1F')
(hex 2.4.2) src/mix_hex_erl_tar.erl:1859: :mix_hex_erl_tar.make_safe_path/2
(hex 2.4.2) src/mix_hex_erl_tar.erl:265: :mix_hex_erl_tar.extract_to_file/3
(hex 2.4.2) src/mix_hex_erl_tar.erl:240: :mix_hex_erl_tar.extract1/4
(hex 2.4.2) src/mix_hex_erl_tar.erl:1639: :mix_hex_erl_tar.foldl_read1/5
(hex 2.4.2) src/mix_hex_erl_tar.erl:1605: :mix_hex_erl_tar.foldl_read0/4
(hex 2.4.2) src/mix_hex_erl_tar.erl:1580: :mix_hex_erl_tar.foldl_read/4
(hex 2.4.2) src/mix_hex_erl_tar.erl:1593: :mix_hex_erl_tar.foldl_read/4
Hilarious
0
0
0

@snacks @phnt it’s not about age it’s about quality

1
0
3
@yew @phnt i think it's mostly about how much the dependencies changed. But not having many and mostly mature ones certainly helps with that (c-chads win as usual)
1
0
4
@snacks @yew If it is GNU software you are completely out of luck unless it was released in the last 10 years. It's both about quality of the software and about the dependencies.
0
0
0
@phnt Software from 20 years ago may indeed be simpler to compile, except anything that relies on time-appropriate kits/frameworks (Gtk1-2, qt3-4), or having any function that has been deprecated

When they made the "just recompile it, bro" meme they were mainly talking about binaries like gnu tools and such

If interface graphical kit had been handled more like X/Xorg was handled, we'd now have an unified graphical toolkit with add-on hardware support (Possibly switchable between interfaces) and lots of modules

But then modern development kicked in, and it started current reinvent the wheel trends, GTK 3.xx subversion abi changes, Rust nightly builds galore, meme languages, and all the rest

To;dr: Modern development practices developing for the sake of developing
1
1
3

then again you could just stop coooompiling and just write in interpreted languages without external libraries, it is so much easier

1
0
0
@EdBoatConnoisseur @vokainen099
>just write in interpreted languages without external libraries
And what do you think Erlang is? All Erlang needs is zlib, autotools and C compiler.
1
0
0

>needs autohell to compile
then it is poorly designed software

1
0
1
@EdBoatConnoisseur @vokainen099 It's 40 years old, that was the only not completely shit option back when it was open sourced in 98
1
0
0

"simple" makefiles, even if the makefile had to be 5000 lines long would had been better than the bullshit which is autotools

0
0
0
@phnt i remember building new coreutils bash and a bunch of other stuff with a version of solaris from 2005 using the ancient gcc it came with
0
0
0
@phnt Just debootstrap a free version of Debian from that time period, chroot into it and the software will build after you install all the dependencies (Debian is retarded and doesn't include headers by default and sometimes has different -dev package names).
1
0
0
@phnt @kirby
I remember having similar fun migrating this instance from PowerPC to Intel. I wanted to keep older version of Blenomer, but it required earlier version of Elixir. For PowerPC I had a binary package that now I had to build for Intel, but no matter what I tried, one of the modules was failing to get built.
In the end I've given up and just updated Pleroma 😅
0
0
0