On Tue, Mar 17, 2020 at 2:05 PM Mohamed Mahmoud <mmahmoud2...@gmail.com> wrote:
>
> On Tuesday, March 17, 2020 at 5:01:43 PM UTC-4, Mohamed Mahmoud wrote:
>>
>> I don't see anything obviously wrong.  Add -v to -ldflags to see
>>>
>>> exactly how the external linker is being invoked.  Make sure that
>>> -lmabain appears at the right point in the link line.
>>>
>>> Ian
>>
>>
>> I added -v its not showing libmabain , I am not sure what exactly you mean 
>> by having -lmabain at the right point , below is my command line let me know 
>> what it should be ?
>
>  Step 25/26 : RUN cd ${MABAIN_SRC}/; go install -x -i -ldflags '-w 
> -extldflags "-lmabain" -v'
>
>  ---> Running in fd8ed360602a
>
> WORK=/tmp/go-build682038651
>
> mkdir -p $WORK/b001/
>
> swig -version
>
> cd $WORK
>
> /usr/local/go/pkg/tool/linux_amd64/compile -o ./b001/_go_.o -trimpath 
> "$WORK/b001=>" -p main -complete -goversion go1.13 -D _$WORK -c=4 
> ./swig_intsize.go
>
> cd /mabain_src
>
> swig -go -cgo -intgosize 64 -module mabain -o $WORK/b001/mabain_wrap.cxx 
> -outdir $WORK/b001/ -c++ mabain.swigcxx
>
> CGO_LDFLAGS='"-g" "-O2"' /usr/local/go/pkg/tool/linux_amd64/cgo -objdir 
> $WORK/b001/ -importpath _/mabain_src -- -I $WORK/b001/ -g -O2 
> $WORK/b001/_mabain_swig.go
>
> cd $WORK
>
> gcc -fno-caret-diagnostics -c -x c - -o /dev/null || true
>
> gcc -Qunused-arguments -c -x c - -o /dev/null || true
>
> gcc -fdebug-prefix-map=a=b -c -x c - -o /dev/null || true
>
> gcc -gno-record-gcc-switches -c -x c - -o /dev/null || true
>
> cd $WORK/b001
>
> TERM='dumb' gcc -I /mabain_src -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g 
> -O2 -o ./_x001.o -c _cgo_export.c
>
> TERM='dumb' gcc -I /mabain_src -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g 
> -O2 -o ./_x002.o -c _mabain_swig.cgo2.c
>
> cd $WORK
>
> g++ -fno-caret-diagnostics -c -x c - -o /dev/null || true
>
> g++ -Qunused-arguments -c -x c - -o /dev/null || true
>
> g++ -fdebug-prefix-map=a=b -c -x c - -o /dev/null || true
>
> g++ -gno-record-gcc-switches -c -x c - -o /dev/null || true
>
> cd /mabain_src
>
> TERM='dumb' g++ -I . -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I 
> $WORK/b001/ -g -O2 -o $WORK/b001/_x003.o -c mabain_c_interface.cpp
>
> cd $WORK/b001
>
> TERM='dumb' g++ -I /mabain_src -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g 
> -O2 -o ./_x004.o -c mabain_wrap.cxx
>
> TERM='dumb' gcc -I /mabain_src -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g 
> -O2 -o ./_cgo_main.o -c _cgo_main.c
>
> cd /mabain_src
>
> TERM='dumb' g++ -I . -fPIC -m64 -pthread -fmessage-length=0 
> -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -o 
> $WORK/b001/_cgo_.o $WORK/b001/_cgo_main.o $WORK/b001/_x001.o 
> $WORK/b001/_x002.o $WORK/b001/_x003.o $WORK/b001/_x004.o -g -O2
>
> # _/mabain_src
>
> /tmp/go-build682038651/b001/_x003.o: In function `mbOpen':
>
> ./mabain_c_interface.cpp:10: undefined reference to 
> `mabain::CONSTS::ReaderOptions()'
>
> ./mabain_c_interface.cpp:12: undefined reference to `mabain::DB::DB(char 
> const*, int, unsigned long, unsigned long, unsigned int)'
>
> ./mabain_c_interface.cpp:13: undefined reference to `mabain::DB::is_open() 
> const'
>
> ./mabain_c_interface.cpp:14: undefined reference to `mabain::DB::StatusStr() 
> const'
>
> ./mabain_c_interface.cpp:11: undefined reference to 
> `mabain::CONSTS::WriterOptions()'
>
> /tmp/go-build682038651/b001/_x003.o: In function `mbFind':
>
> ./mabain_c_interface.cpp:44: undefined reference to `mabain::MBData::MBData()'
>
> ./mabain_c_interface.cpp:45: undefined reference to `mabain::DB::Find(char 
> const*, int, mabain::MBData&) const'
>
> ./mabain_c_interface.cpp:44: undefined reference to 
> `mabain::MBData::~MBData()'
>
> ./mabain_c_interface.cpp:44: undefined reference to 
> `mabain::MBData::~MBData()'
>
> /tmp/go-build682038651/b001/_x003.o: In function `mbClose':
>
> ./mabain_c_interface.cpp:23: undefined reference to `mabain::DB::Close()'
>
> /tmp/go-build682038651/b001/_x003.o: In function `mbAdd':
>
> ./mabain_c_interface.cpp:30: undefined reference to `mabain::DB::Add(char 
> const*, int, char const*, int, bool)'
>
> /tmp/go-build682038651/b001/_x003.o: In function `mbRemove':
>
> ./mabain_c_interface.cpp:37: undefined reference to `mabain::DB::Remove(char 
> const*, int)'
>
> collect2: error: ld returned 1 exit status
>
> The command '/bin/sh -c cd ${MABAIN_SRC}/; go install -x -i -ldflags '-w 
> -extldflags "-lmabain" -v'' returned a non-zero code: 2

It doesn't look like the -ldflags option is getting through to the linker.  Try
    go build "-ldflags=all=-w -extldflags=-lmabain -v"

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcVmWLP%3DPtKbpJqiF-OCUx%2BOaWwXS83ACeJYMQm9%3D254-A%40mail.gmail.com.

Reply via email to