mq-golang icon indicating copy to clipboard operation
mq-golang copied to clipboard

errors while compiling cross platform from Linux to Windows

Open krishna9081 opened this issue 1 year ago • 5 comments

Please include the following information in your ticket.

  • Version information for MQ, mq-golang, Go compiler MQ Name: IBM MQ Version: 9.3.4.1 Level: p934-001-231123 BuildType: IKAP - (Production) Platform: IBM MQ for Linux (x86-64 platform) Mode: 64-bit O/S: Linux 5.15.133.1-microsoft-standard-WSL2 O/S Details: Ubuntu 22.04.1 LTS (Jammy Jellyfish) InstName: MQNI93L23112300P InstDesc: IBM MQ V9.3.4.1 (Redistributable) Primary: N/A

Go version: v1.18.1

Compiler : x86_64-w64-mingw32-gcc

GCCGO="gccgo"

  • A small code sample that demonstrates the issue.

❯ CC=x86_64-w64-mingw32-gcc CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CGO_LDFLAGS="-L$MQ_INSTALLATION_PATH/lib64 -Wl,-rpath,$MQ_INSTALLATION_PATH/lib64" go build -o mqget.exe mqget.go github.com/ibm-messaging/mq-golang/v5/ibmmq /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmqm: No such file or directory collect2: error: ld returned 1 exit status

krishna9081 avatar Feb 26 '24 05:02 krishna9081

If you're going to try to cross-compile, you need to point at the Windows MQ client include/library directories. Look at ibmmq/mqi.go for the usual LDFLAGS/CFLAGS needed for Windows. And then you'd have to map your Windows MQ installation directory to however WSL sees it. Though I've not tried cross-compiles, so don't know how successful it might be.

ibmmqmet avatar Feb 26 '24 09:02 ibmmqmet

Thanks Mark I tried from a Windows system, but I am getting the below errors ...not sure if I'm doing something wrong, can you guide me

image

krishna9081 avatar Feb 26 '24 18:02 krishna9081

That looks like you're mixing up powershell and traditional command prompt operations.

ibmmqmet avatar Feb 27 '24 07:02 ibmmqmet

Thanks again Mark! ... Indeed I was mixing up PS and command prompt. I was able to do a windows build , but getting a new blocker now ...am I missing any thing ? image

These are the Flags I'm using image

krishna9081 avatar Feb 28 '24 16:02 krishna9081

Did you install mqm on windows machine? if it's installed check all path and ensure it contains path to dll It's all about dynamic linking

zemlya25 avatar Mar 14 '24 08:03 zemlya25