Cross Compiling & Barrier package -
jenna64bit - 04-26-2020
Hey all! I have been able to get my Octane up to usable with some of the tardists hosted here, thanks! I installed the nekoware synergy package with no trouble, but am not even seeing connection attempts logged by the 'Barrier' fork server on my Linux host. I'm trying to split my kb & mouse with my PC & Irix machine ... ironically, that's exactly why Synergy was written originally.
So, I'm looking to try and get a recent openssl or libressl library and Barrier's CLI cross-compiled. I have an admittedly much beefier Precision T3600, so I was wondering if there's a preferred software set for cross-compiling, a docker image or VM etc? Otherwise, if it's best to compile on the Octane directly, what's the a good current and preferred build package set?
RE: Cross Compiling & Barrier package -
Raion - 04-26-2020
Hi Jenna,
We're not really big on cross-compilation here; primarily because on a slow system like this you wanna try to use the native compiler whenever possible. That being said; Barrier is a newer project and may not have the option/luxury of compilation with MIPSPro, especially as it may be using C++11 or higher. You'd have to review the project and try compilation. This also brings complications in the form of CMake, which only has been compiled for 3.5 at most, with 3.7 and up requiring LibUV and other complications.
Libressl never has worked in IRIX; but the latest openssl should be a cinch to compile if you know how to use the configure script it uses.
Your target dependency chain should be:
Perl
OpenSSL
GNU Make
CMake (or use binary)
Any other deps
Barrier or Synergy 1.x
Currently Nekoware II is still under development. All of us are still busy with jobs so we don't have a preview of anything on that front since one of our main devs wanted to do things from scratch. Nekoware does have some packages you may need here and there's a lot of information you can use here:
https://wiki.preterhuman.net/Packaging_Software
The stuff that SGI Dev uses is a hacked together VM with headers and libc for IRIX called compilertron, but as much as I hate to say it, you probably won't get very good support for that here as you've stumbled on the biggest divide in how we do things.
We're pretty old school here with software. When possible, MIPSPro is our compiler of choice, because it has the best code generation for all machines. If you want the best performance, especially on a lower end system, it's the best option. GCC 5, 6, 8 and 9 are all fine and dandy and I honestly use them for C++11 and C++14 projects on occasion, so they do have uses for sure, but their primary development targets are not for the flavor of MIPS used for IRIX (MIPS III/IV big endian) and none of the patches that Erno or Alex T. or Dan H. As far as I know offer any improve performance and just back out changes that removed support, fix testsuite issues etc. The majority of GCC development is focused on embedded MIPS, which if it does overlap is MIPS III with added vector instructions. IRIX doesn't have vector instructions on any native CPU apparently. At least that's my assumption based on how small the actual patches are, and the focus of development of later GCC branches. So the real benefit really is the ability to compile software without back porting changes like C11 and C++11.
http://gitea.irixce.org/explore/repos has my Xenopatches repo with some stuff I use for IRIX. Some of it may prove useful. Feel free to sign up to gitea for your own uses; it's much preferable in my opinion over GitHub which is a corporate bigwig.
RE: Cross Compiling & Barrier package -
jenna64bit - 04-26-2020
Thank you! Yeah I think it'll come down to how much of a fork Barrier really is, then. I think the Booterizer install gave me MIPSPro as well, so I have a couple options here. My Octane 'only' has 256MB of RAM. I may need to wait for more to arrive before it's much good at compiling, even with patience. It may be worth spending some time on my part comparing the 1.4 port to its mainstream relation to see how much work that was. As Synergy started on an Irix machine, I have some hope at least