No, I haven't.
Actually I haven't use Varnish since then and have not try this further.

2016-11-11 6:06 GMT+09:00  <cristian...@gmail.com>:
> Did you find a way to get this to work?
>
>
> On Saturday, October 24, 2015 at 9:09:51 PM UTC-4, Hiroaki Nakamura wrote:
>>
>> Hi.
>>
>> I tried to create an Varnish VMOD equivalent to
>> https://github.com/varnish/libvmod-example/tree/4.1 in go,
>> but I got "undefined reference" link errors.
>>
>> ```
>> gcc -I . -fPIC -m64 -pthread -fmessage-length=0 -o
>> $WORK/command-line-arguments/_obj/_cgo_.o
>> $WORK/command-line-arguments/_obj/_cgo_main.o
>> $WORK/command-line-arguments/_obj/_cgo_export.o
>> $WORK/command-line-arguments/_obj/libvmod_example.cgo2.o
>> $WORK/command-line-arguments/_obj/vcc_if.cgo2.o -g -O2 -lvarnishapi
>> # command-line-arguments
>> /tmp/go-build219936183/command-line-arguments/_obj/libvmod_example.cgo2.o:
>> In function `_cgo_d098f44947dd_Cfunc_WS_Reserve':
>> ./libvmod_example.go:64: undefined reference to `WS_Reserve'
>> /tmp/go-build219936183/command-line-arguments/_obj/libvmod_example.cgo2.o:
>> In function `_cgo_d098f44947dd_Cfunc_WS_Release':
>> ./libvmod_example.go:50: undefined reference to `WS_Release'
>> /usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libvarnishapi.so:
>> undefined reference to `pow'
>> /usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libvarnishapi.so:
>> undefined reference to `round'
>> collect2: error: ld returned 1 exit status
>> make: *** [libvmod_example.so] Error 2
>> ```
>>
>> My Dockerfiles for building this VMOD are at
>>
>> https://github.com/hnakamur/docker-varnish-vmods-development/tree/try_to_create_vmod_in_go
>>
>> I confirmed two functions WS_Reserve and WS_Release are not linked in
>> libvarnishapi.so
>> (which is specified with -lvarnishapi above).
>> I confirmed it with the following command which printed one line but
>> cache_ws.c is just mentioned in a comment.
>>
>> ```
>> $ docker exec -it dockervarnishvmodsdevelopment_varnish_1 bash -l -c "cd
>> /root/rpmbuild/SOURCES/Varnish-Cache-varnish-4.1.0/lib && grep -R cache_ws
>> ."
>> ./libvmod_std/vmod_std_querysort.c:     /* We trust cache_ws.c to align
>> sensibly */
>> ```
>>
>> Actually they are linked in varnishd executable.
>>
>> https://github.com/varnish/Varnish-Cache/blob/varnish-4.1.0/bin/varnishd/Makefile.am#L52
>>
>> Is there a way to work around these undefined references and build a VMOD
>> shared library successfully?
>>
>> Thanks,
>> Hiroaki
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to