Solved the problem with Attempt 2 with export LD_LIBRARY_PATH
## On-Premise
OS: Ubuntu 22.04.2
Golang Ver.: 1.21.0
GCC Ver.: 11.4.0
## Docker
Image: golang:lastest
Golang Ver.: 1.21.1
GCC Ver.: 12.2.0
## Attempt 1
.
├── go_sum
├── libsum.so
├── main.go
├── README.md
├── sum.c
└── sum.h
## Attempt 2
.
├── go_sum
├── lib
│ ├── libsum.so
│ ├── sum.c
│ └── sum.h
├── main.go
└── README.md
$ CGO_ENABLED=1
$ gcc -shared -o libsum.so sum.c$ go build -o go_sum main.go
$ ./go_sum## On-Premise
$ ldd go_sum
linux-vdso.so.1 (0x00007ffc70e71000)
libsum.so => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2aa6373000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2aa65a4000)
## Docker
$ ldd go_sum
linux-vdso.so.1 (0x00007ffd297fa000)
libsum.so => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8865b7f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8865d65000)
$ ./go_sum
./go_sum: error while loading shared libraries: libsum.so: cannot open shared object file: No such file or directory
Add the LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=`pwd`/lib/