Hi Uday, I'm not sure what went wrong, but this Dockerfile works: from centos:7
RUN \ set -ex; \ ulimit -n 10240; \ yum install -y make automake pkg-config libtool python-docutils autoconf-archive uuid-devel epel-release python-docutils; \ curl -s https://packagecloud.io/install/repositories/varnishcache/varnish5/script.rpm.sh | bash; \ yum install -y varnish-devel; \ curl -O https://raw.githubusercontent.com/varnish/toolbox/master/install-vmod/install-vmod; \ chmod +x install-vmod ;\ ./install-vmod https://github.com/otto-de/libvmod-uuid/archive/refs/heads/5.x.tar.gz Also, I know you have heard it before, but Varnish 5 is ancient, please don't use it and upgrade to something more recent, either 7.5 or to the 6.0 LTS. Let us know how it goes. -- Guillaume Quintard On Tue, Apr 30, 2024 at 1:07 AM Uday Kumar <uday.p...@indiamart.com> wrote: > hello Guillaume, > > I am trying to install vmod_uuid on my centOS 7 machine > > Resource i used: > https://github.com/otto-de/libvmod-uuid/blob/5.x/INSTALL.rst > > varnish version: 5.2.1 > > I am getting below errors while running *make *command > > make[1]: Entering directory `/usr/local/src/libvmod-uuid' > Making all in src > make[2]: Entering directory `/usr/local/src/libvmod-uuid/src' > CC vmod_uuid.lo > In file included from vmod_uuid.c:35:0: > vcc_if.h:11:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING vmod_uuid(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:11:31: error: expected ‘)’ before ‘struct’ > VCL_STRING vmod_uuid(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:12:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING vmod_uuid_v1(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:12:34: error: expected ‘)’ before ‘struct’ > VCL_STRING vmod_uuid_v1(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:13:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING vmod_uuid_v3(VRT_CTX, struct vmod_priv *, VCL_STRING, > ^ > vcc_if.h:13:34: error: expected ‘)’ before ‘struct’ > VCL_STRING vmod_uuid_v3(VRT_CTX, struct vmod_priv *, VCL_STRING, > ^ > vcc_if.h:15:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING vmod_uuid_v4(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:15:34: error: expected ‘)’ before ‘struct’ > VCL_STRING vmod_uuid_v4(VRT_CTX, struct vmod_priv *); > ^ > vcc_if.h:16:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING vmod_uuid_v5(VRT_CTX, struct vmod_priv *, VCL_STRING, > ^ > vcc_if.h:16:34: error: expected ‘)’ before ‘struct’ > VCL_STRING vmod_uuid_v5(VRT_CTX, struct vmod_priv *, VCL_STRING, > ^ > vmod_uuid.c:48:17: error: expected ‘)’ before ‘int’ > mkuuid(VRT_CTX, int utype, uuid_t *uuid, const char *str, va_list ap) > ^ > vmod_uuid.c:76:1: error: unknown type name ‘VCL_STRING’ > _uuid(VRT_CTX, uuid_t *uuid, int utype, ...) > ^ > vmod_uuid.c:76:16: error: expected ‘)’ before ‘uuid_t’ > _uuid(VRT_CTX, uuid_t *uuid, int utype, ...) > ^ > vmod_uuid.c:104:21: error: expected ‘)’ before ‘void’ > free_uuids(VRT_CTX, void *priv) > ^ > vmod_uuid.c:116:39: error: array type has incomplete element type > static const struct vmod_priv_methods uuid_priv_task_methods[1] = {{ > ^ > vmod_uuid.c:117:3: error: field name not in record or union initializer > .magic = VMOD_PRIV_METHODS_MAGIC, > ^ > vmod_uuid.c:117:3: error: (near initialization for > ‘uuid_priv_task_methods’) > vmod_uuid.c:117:12: error: ‘VMOD_PRIV_METHODS_MAGIC’ undeclared here (not > in a function) > .magic = VMOD_PRIV_METHODS_MAGIC, > ^ > vmod_uuid.c:118:3: error: field name not in record or union initializer > .type = "vmod_uuid_priv_task", > ^ > vmod_uuid.c:118:3: error: (near initialization for > ‘uuid_priv_task_methods’) > vmod_uuid.c:119:3: error: field name not in record or union initializer > .fini = free_uuids > ^ > vmod_uuid.c:119:3: error: (near initialization for > ‘uuid_priv_task_methods’) > vmod_uuid.c:119:11: error: ‘free_uuids’ undeclared here (not in a function) > .fini = free_uuids > ^ > vmod_uuid.c:123:20: error: expected ‘)’ before ‘struct’ > get_uuids(VRT_CTX, struct vmod_priv *priv, uuid_t **uuid_ns) > ^ > vmod_uuid.c:163:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING > ^ > vmod_uuid.c:164:23: error: expected ‘)’ before ‘struct’ > vmod_uuid_v1(VRT_CTX, struct vmod_priv *priv) > ^ > vmod_uuid.c:172:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING > ^ > vmod_uuid.c:173:23: error: expected ‘)’ before ‘struct’ > vmod_uuid_v3(VRT_CTX, struct vmod_priv *priv, VCL_STRING ns, VCL_STRING > name) > ^ > vmod_uuid.c:182:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING > ^ > vmod_uuid.c:183:23: error: expected ‘)’ before ‘struct’ > vmod_uuid_v4(VRT_CTX, struct vmod_priv *priv) > ^ > vmod_uuid.c:191:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING > ^ > vmod_uuid.c:192:23: error: expected ‘)’ before ‘struct’ > vmod_uuid_v5(VRT_CTX, struct vmod_priv *priv, VCL_STRING ns, VCL_STRING > name) > ^ > vmod_uuid.c:201:1: error: unknown type name ‘VCL_STRING’ > VCL_STRING > ^ > vmod_uuid.c:202:20: error: expected ‘)’ before ‘struct’ > vmod_uuid(VRT_CTX, struct vmod_priv *priv) > ^ > vmod_uuid.c:116:39: error: ‘uuid_priv_task_methods’ defined but not used > [-Werror=unused-variable] > static const struct vmod_priv_methods uuid_priv_task_methods[1] = {{ > ^ > cc1: all warnings being treated as errors > make[2]: *** [vmod_uuid.lo] Error 1 > make[2]: Leaving directory `/usr/local/src/libvmod-uuid/src' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/usr/local/src/libvmod-uuid' > make: *** [all] Error 2 > > Please help > > *Thanks & Regards,* > *Uday Kumar* > > > On Thu, Apr 25, 2024 at 6:18 AM Uday Kumar <uday.p...@indiamart.com> > wrote: > >> Hi Guillaume, >> >> Thanks for this reminder, I will check this and get back to you! >> >> >> *Thanks & Regards,* >> *Uday Kumar* >> >> >> On Thu, Apr 25, 2024 at 1:12 AM Guillaume Quintard < >> guillaume.quint...@gmail.com> wrote: >> >>> Hi Uday, >>> >>> I feel like we've explored this last year: >>> https://varnish-cache.org/lists/pipermail/varnish-misc/2023-May/027238.html >>> >>> I don't think the answer has changed much: vmod-uuid is your best bet >>> here. >>> >>> Please let me know if I'm missing some requirements. >>> >>> Kind regards, >>> >>> -- >>> Guillaume Quintard >>> >>> >>> On Wed, Apr 24, 2024 at 4:26 AM Uday Kumar <uday.p...@indiamart.com> >>> wrote: >>> >>>> Hello all, >>>> >>>> We follow below architecture in our production environment: >>>> User request ---> Varnish ----> Tomcat Backend >>>> >>>> We have a requirement of generating an unique id at varnish that can be >>>> appended to a request url. >>>> So that it can be propagated to the backend and also will be useful in >>>> tracking errors efficiently >>>> >>>> varnish version used: varnish-5.2.1 >>>> >>>> Example: >>>> original request: >>>> /search/test?q=bags&source=mobile >>>> >>>> After appending unique id [This needs to be sent to backend and to be >>>> stored in varnish logs]: >>>> /search/test?q=bags&source=mobile&uniqueid=abc123 >>>> >>>> Please help us know if there is any way to do this at varnish >>>> >>>> *Thanks & Regards,* >>>> *Uday Kumar* >>>> _______________________________________________ >>>> varnish-misc mailing list >>>> varnish-misc@varnish-cache.org >>>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc >>>> >>>
_______________________________________________ varnish-misc mailing list varnish-misc@varnish-cache.org https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc