varnish / varnish-modules

Collection of Varnish Cache modules (vmods) by Varnish Software
Other
182 stars 86 forks source link

Incompatible VMOD bodyaccess ABI mismatch expected 6.0.0 got 6.0.2 #131

Closed behrtam closed 5 years ago

behrtam commented 5 years ago

I'm installing varnish from the alpine/latest-stable repository which provides me version 6.0.2. Then I'm building varnish-modules from git:master. Like this ...

    apk add  --repository http://nl.alpinelinux.org/alpine/latest-stable/main && \
    apk add  --repository http://nl.alpinelinux.org/alpine/latest-stable/main

WORKDIR /opt
RUN git clone https://github.com/varnish/varnish-modules.git
WORKDIR /opt/varnish-modules
RUN chmod +x ./bootstrap && sync && \
    ./bootstrap && \
    ./configure && \
    make && \
    make install

This results in a version mismatch where varnish-modules is expecting an older varnish version.

 Starting varnishd...
     listening on: 0.0.0.0:80
      config file: /opt/docker/etc/varnish/varnish.vcl
          backend: elasticsearch:9200
          storage: malloc,1024m
    varnishd opts: -p vcc_err_unref=off -p thread_pools=4 -p thread_pool_max=10000 -p timeout_idle=60 -p nuke_limit=100000

Error:
Message from VCC-compiler:
Incompatible VMOD bodyaccess
    File name: /usr/lib/varnish/vmods/libvmod_bodyaccess.so
    ABI mismatch, expected <Varnish 6.0.0 a068361dff0d25a0d85cf82a6e5fdaf315e06a7d>, got <Varnish 6.0.2 0458b54db26cfbea79af45ca5c4767c7c2925a91>
('/opt/docker/etc/varnish/varnish.vcl' Line 5 Pos 8)
import bodyaccess;
gquintard commented 5 years ago

Can you post your full Dockerfile please?

-- Guillaume Quintard

On Wed, Jan 2, 2019 at 5:55 PM Tammo Behrends notifications@github.com wrote:

I'm installing varnish from the alpine/latest-stable repository which provides me version 6.0.2. Then I'm building varnish-modules from git:master. Like this ...

apk add  --repository http://nl.alpinelinux.org/alpine/latest-stable/main && \
apk add  --repository http://nl.alpinelinux.org/alpine/latest-stable/main

WORKDIR /opt RUN git clone https://github.com/varnish/varnish-modules.git WORKDIR /opt/varnish-modules RUN chmod +x ./bootstrap && sync && \ ./bootstrap && \ ./configure && \ make && \ make install```

This results in a version mismatch where varnish-modules is expecting an older varnish version.


 Starting varnishd...
     listening on: 0.0.0.0:80
      config file: /opt/docker/etc/varnish/varnish.vcl
          backend: elasticsearch:9200
          storage: malloc,1024m
    varnishd opts: -p vcc_err_unref=off -p thread_pools=4 -p thread_pool_max=10000 -p timeout_idle=60 -p nuke_limit=100000

Error:
Message from VCC-compiler:
Incompatible VMOD bodyaccess
  File name: /usr/lib/varnish/vmods/libvmod_bodyaccess.so
  ABI mismatch, expected <Varnish 6.0.0 a068361dff0d25a0d85cf82a6e5fdaf315e06a7d>, got <Varnish 6.0.2 0458b54db26cfbea79af45ca5c4767c7c2925a91>
('/opt/docker/etc/varnish/varnish.vcl' Line 5 Pos 8)
import bodyaccess;```

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/varnish/varnish-modules/issues/131>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/ADmgKVYDhQzjePBBDvq-JFCmcQmp7O4Zks5u_OSWgaJpZM4Zm7tg>
.
behrtam commented 5 years ago

Full Dockerfile: https://gist.github.com/behrtam/e0a18cb0d762c538fdcb53f7affb827b

Your question kind of solved it form me ... so my Dockerfile is based on webdevops/varnish (https://github.com/webdevops/Dockerfile/tree/master/docker/varnish) which based on my local cached layer installed Varnish 6.0.0. Then I upgraded varnish to 6.0.2 (alpine/latest-stable) in a way that was not working with the ABI check.

Now when I start directly with Varnish 6.0.2 I don't get the ABI mismatch.