-
Notifications
You must be signed in to change notification settings - Fork 19
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
undefined: ibmmq.MQCNO after upgrading to golang 1.21.1 #68
Comments
Hi @Sparkz0629 - thanks for getting in touch. I've updated the "openshift-app-sample" directory (which uses docker/podman to build the image in a similar way that you're using above) to use Golang 1.21.1 using this commit and it ran successfully on my Ubuntu VM. So I suggest looking to see what the differences are between your build and the openshift-app-sample Dockerfile. Some particular areas to investigate are:
Output from my successful execution of the
|
Thanks @matrober-uk for the quick response. Still combing through to see if there are other differences. |
This is running on a gitlab runner based on gitlab/gitlab-runner:alpine-v14.9.0. Also, something to note, the
The failure occurs during the build stage:
|
You have set |
Thanks for this. So i updated this and the build succeeds, the issue we have then is that the code doesnt run because of the below, which was the actual reason we added that flag:
|
That is telling you that the container you are running on does not have an appropriate level of glibc installed. The MQ 9.4 client library is built on RHEL8, so whatever glibc is in there will be the minimum for any other distro-based container. And that excludes anything using the musl libc typically used in alpine containers, and which is completely incompatible. |
So that happens even when running with the golang:1.21.1 runner image Our cluster has RHEL 8.9 boxes as the underlying servers. We had this issue in the past, and the only way we got around it was by setting the CGO_ENABLED to 0 on the build stage. What is weird, is that using the exact same process for version golang 1.15 and 9.2.4.0 of the MQ Distro, all works 100% (Without having to set CGO_ENABLED). That runner image was |
I decided to go back to the drawing board and attempt this step by step using the sample app initially supplied by Matt. The code build works now. Our image build and push step runs the following dockerfile:
I can also run this manually by spinning up the local image and running the commands one by one.
Ive edited the dockerfile and confirmed that the tar is getting extracted as expected and the file is present. So atleast making progress as the initial build works, but now the image build and push doesnt. |
Hi.
We are busy with a golang upgrade from 1.15 to 1.21.1 across our microservices
One of the services uses the mq-golang-jms20 module.
When attempting to build the code in the new env, we get the following:
this is our build stage:
where GO_121_IMAGE is an image built from the below with our certificates added.
BUILD_IMAGE is
FROM debian:12.1-slim
with our certificates added.Looking for any advised or assistance on the above... out of 15 microservices, this is the only one that we are stuck on the upgrade with. (Also the only one to use to mq libraries)
The text was updated successfully, but these errors were encountered: