java-native / jssc

Java library for talking to serial ports (with added build support for maven, cmake, MSVC)
https://discord.gg/RBsUfE9sX9
GNU Lesser General Public License v3.0
171 stars 53 forks source link

Github actions - Solaris question #148

Closed pietrygamat closed 1 year ago

pietrygamat commented 1 year ago

It looks like github actions job for compilation targetting Solaris became unusable, as the VM is stuck on a boot loop. We have very little influence on how Github manages it's resources, and it does seem reasonable to expect that whatever is causing this is here to stay. Our options are to either remove Solaris jobs from CI, and only build libs on offline host, or try to look for a way of cross-compiling binaries on some other OS, or ignore that plafrom entirely.

I find value in public, reproducable builds of a FOSS project, therefore naturally I investigated option 2, and here's what I learned so far:

  1. There is sadly no Dockcross container supporting cross-compilation targetting SunOS.
  2. x86_64-sun-solaris (and sparcv9-sun-solaris) are tier 2 supported targets of Rust, which means cross-rs images supporting them exist, and they have the tools required to build working sunos_64 binary on a Linux host.
  3. I did not manage to find a way of successfully building sunos_32 binary at this time.
  4. I also did not manage to find any 32bit JRE distribution more recent than JRE7 that works on that platform. Still, JRE7x32 exists and is within our support range, so there is still a blind spot (however small).

Which do you think is the better way forward? Give up on sunos_32 or go back to manual compilation offline?

tresf commented 1 year ago

I think we should drop Solaris support entirely. Those needing it can use a legacy version.

tresf commented 1 year ago

Closed via #149.

For now, I'm leaving in JSSC code-support for Solaris, albeit unmaintained and untested. Moving forward, people can choose to hand-compile if they need it.