VROOM-Project / vroom-docker

Docker image for vroom and vroom-express
BSD 2-Clause "Simplified" License
88 stars 58 forks source link

1.12.1 throws libstdc++.so.6 error #61

Closed andrewchernow closed 2 years ago

andrewchernow commented 2 years ago

Switched to version 1.12.1 to get changes made due to #58, and now I get this error when starting the container.

vroom    | vroom-express listening on port 3000!
vroom    | Thu, 11 Aug 2022 12:12:47 GMT: vroom: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by vroom)
vroom    | 

This issue is not present in 1.12.0.

nilsnolde commented 2 years ago

very strange.. the tests passed: https://github.com/VROOM-Project/vroom-docker/runs/7762030849?check_suite_focus=true

unless there's smth wrong with the test..

this'll have to wait a bit on my side. if you have some time on your hands, I'd appreciate some help. maybe explicitly installing libstdc++6 again might be enough? you're on arm64 right?

andrewchernow commented 2 years ago

A developer on my team actually found the issue, who uses linux x86. I tested on a M1 MacBook and had the same problem. I found this issue from tensorflow, but nothing I tried worked. https://github.com/lhelontra/tensorflow-on-arm/issues/13

I didn't try everything listed there. I tried install, upgrade, etc with no luck. removing libstdc++6 also removes apt, so I can't try that. apt-get gave a warning.

nilsnolde commented 2 years ago

The archs we build is only for linux/amd64 and linux/arm64. M1 is arm64, but not linux. On mobile right now, but I guess it’s a different architecture? Also x86 we don’t offer. That’d explain it right? Did it work for you on M1 before though?

I think you’ll have to build it yourself, x86 is easy, just use a debian x86 base image.

andrewchernow commented 2 years ago

By x86, I was just saying intel cpu (x86 instructions). His machine is in fact amd64. What I can say is, 1.12.0 worked on my M1 Mac and his Linux amd64. 1.12.1 doesn't work on either.

nilsnolde commented 2 years ago

uff, it dawned on me all of a sudden.. when I upgraded debian I only did it on the build image, not on the runner image (it's mulit-stage).. jeez.. sorry for that.

also the tests aren't robust against regressions like that. the only request we're doing throws an error on the vroom-express level (which is then a successful test currently), so it nevers gets down to actually calling the c++ executable. I'll create a separate issue for that.

I just patched it in master and released v1.12.2, in ~20 mins dockerhub should be updated.