We are working on creating a squid package, which will form the basis of an outbound proxy layer for a number of our applications. We intend to make the squid package available to core plans, so want to keep it as simple and reusable as possible.
At the moment we’re still working to ensure that squid uses the pkg.svc_var_path for state, and have been seeing some inconsistencies.
I have a package that I built using hab 0.54.0/20180221022026 on a Debian host, which seems to work on my Debian machine. I took the hart from the results directory and copied it to a different machine (a CentOS 7 VM), and installed it using the same version of hab.
Starting the service with hab start atalanta/squid results in some of the same state issues which I haven’t resolved yet, but of more concern is that when I try to run squid -z with hab pkg exec to test the cache creation, I get an Illegal Instruction error. Attached is the strace of this error.
I’m raising this in case this indicates a deeper and more serious issue. I’m confident I will resolve the broader state issues with squid, but this seemed like an unexpected and potentially alarming error, so in the interests of the project I"m sharing it here.
The strace certainly looks like it can’t find basically any of the libraries linked by glibc even though ldd shows correct. Illegal instruction is typically caused by a CPU instruction in the binary that CPU can’t understand. E.G. if you moved the package over to a box running an i686 or ARM or something from an x86_64 proc.
That is supremely bizarre. If we could take a look at the plan to try and reproduce that would likely be helpful. This isn’t something I’ve seen before!