-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should hercules run on alpine linux? #655
Comments
How? Did you build it manually yourself? Or did you use Bill's "Hercules Helper"? If you built it manually yourself, were you careful to also build all of the Hercules "External Packages" too beforehand?
My Linux skills are very weak, but... Is it possible you are trying to build a debug version of Hercules instead of a non-debug / production release version? Or maybe linking with a version of GLIBC that is too old?
What version of gcc and GLIBC do you have on your alpine Linux system compared with what you have on your rocky Linux system? |
I dont know of the Essentially, this is the part of my
My configure/make is above (so I dont think I'm building a debug version? Alpine uses |
Hercules-Helper will build SDL Hercules to run on Alpine. |
Okay, it looks like you're not building the External Packages, which is likely where your problem lies. I highly recommend using Bill's Hercules Helper to build Hercules instead. |
Actually, according to I don't have any problem building hyperion, I have it running quite happily using a rocky(rhel) base image. I was hoping to build it using a base alpine image - the resulting image is 100MB vs 300MB for rocky. (There is no issue running the 300MB image, I am primarily exploring if it is possible with alpine, since that is what I use with other apps - maybe others will try on alpine as well one day.) As I say, the alpine images appears to start fine, but without 3270's - it appears that the hdt3270.so file is the only one with symbol problems. (I havent tried running any OS under it yet, as I was hoping to see if 3270 could be supported (via addressing the missing symbols) - but I'm thinking no. I've tried various ways of getting glibc on alpine, via gcompat and sgerrand/alpine-pkg-glibc without success. I havent tried the "external packages" - so I'll look into that... |
Simply follow the instructions in the |
FWIW, after the most recent Alpine related changes, I only tested it with Hercules-Aethra. I'm going to be away today, but can check that tomorrow. |
@wrljet Thank you, indeed Since my target platform is a docker container, I did notice a couple of things - not sure if you are interested. (And really the wrong issue # to cover this).
Now, if hercules on linux was consumed via a container image, available on docker hub, then nobody needs to build at all - have you thought about making it available that way? Anyway, thanks for the fun, its nice to play with a mainframe at home. |
Deon,
Excellent! I'm glad it worked for you! (I'm sure Fish is pleased, too) Why Aethra exists? Well, that politics and I won't go into that.
Of course I'm interested.
Near the end of the process,
I refuse to let it run as root because I don't want to feel guilty when somebody who doesn't really know what they are doing wrecks their system.
There is an option
Some people use Docker for Hercules. But no, I myself have never thought about that. I do have GitHub Actions just about ready to release builds for the most common systems. These will be built for ever git push, and keep the most recent few around. This will be rolled out first (shortly) on Aethra, and then on SDL Hercules after I get Fish's approval. (I haven't even brought it up yet with Fish)
Enjoy your personal mainframe! Bill |
Hi,
I'm a docker fan, and pretty much run all my apps in docker. I generally try and (re)build them using alpine as the base, as the alpine images are normally 1/3 to 1/2 the size of debian/rhel based containers.
I successfully built hercules (f7d2360 using alpine as a base, but when I start it I get an error similar to #431.
Doing some investigation, I see that the
hdt3270.so
library as missing symbols (and possibly the reason that herc doesnt know what a 3270 is?)I've tried lots of searching to see what libraries that might be missing that supplies these symbols (gcompat, etc), but no luck.
(Rebuilding using rockylinux as the base - see's the 3270s without any issues.)
Any tips? Or is using alpine a lost cause?
The text was updated successfully, but these errors were encountered: