varnish / varnish-modules

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

Modules installation is failing #199

Closed Sameera96 closed 2 years ago

Sameera96 commented 2 years ago

Hi,

Varnish service 6.0.5 is running on my CentOS 7 VM and I'm trying to install modules on top of that.

I've cloned repo https://github.com/varnish/varnish-modules and switched to branch 6.0

I've installed required tools before running ./bootstrap , I got an error where it's unable to find varnishapi.pc file. Placed varnishapi.pc file at /usr/lib64/pkgconfig/varnishapi.pc with below content.

prefix=/usr exec_prefix=/usr bindir=/usr/bin sbindir=/usr/sbin libdir=/usr/lib64 includedir=/usr/include pkgincludedir=${includedir}/varnish datarootdir=${prefix}/share datadir=/usr/share pkgdatadir=${datadir}/varnish vmoddir=${libdir}/varnish/vmods vmodtool=${pkgdatadir}/vmodtool.py

Name: VarnishAPI Description: Varnish API Version: 6.0.10 Cflags: -I${includedir}/varnish Libs: -L${libdir} -lvarnishapi

Then I got below error message and it has been resolved by adding vmoddir=/usr/local/lib/varnish/vmods to the file src/Makefile.am

src/Makefile.am:25: error: 'vmod_LTLIBRARIES' is used but 'vmoddir' is undefined

Now the ./bootstrap has been executed successfully. But it's failing at ./configure file execution with below error message.

./configure: line 12387: syntax error near unexpected token VARNISHAPI_LIBDIR,' ./configure: line 12387:PKG_CHECK_VAR(VARNISHAPI_LIBDIR, varnishapi, libdir)'

I've tried modifying the file configure but no luck. I've also tried with latest master code of varnish-cache and varnish-modules in a CentOS docker container but the issue still exists.

When I try to install varnish-cache and varnish-modules in my local MAC the configure file looks completely different and it's everything looks good.

Could you please help if I'm doing anything wrong in set up on CentOS ?

gquintard commented 2 years ago

I've installed required tools before running ./bootstrap , I got an error where it's unable to find varnishapi.pc file. Placed varnishapi.pc file at /usr/lib64/pkgconfig/varnishapi.pc with below content.

that shouldn't happen, what packages have you installed? (more precisely, their name and origin) You should have a varnish-devel in there which includes the pc file (https://packagecloud.io/varnishcache/varnish60lts/packages/el/7/varnish-devel-6.0.10-1.el7.x86_64.rpm for example)

Sameera96 commented 2 years ago

Hi @gquintard , Thanks for the details.

I've applied above package on top of the varnish service ( varnish-6.0.5-1.el7.x86_64.rpm ) that I'm using and I got varnishapi.pc now.

I'm able to install varnish modules now without issues.

gquintard commented 2 years ago

Great, glad I could help. I need to mention though that you should always install the same version for varnish and varnish-devel, otherwise you risk ABI incompatibilities leading to hard to debug issues.

But you probably installed the packagecloud repo (https://packagecloud.io/varnishcache/varnish60lts/install#bash-rpm), if so, you're good, as the packages there will have strict dependencies.