varnishcache-friends / libvmod-geoip2

Varnish VMOD to query MaxMind GeoIP2 DB files
BSD 2-Clause "Simplified" License
39 stars 17 forks source link

Undefined symbol VSLv #39

Closed djulianm closed 4 years ago

djulianm commented 4 years ago

Any idea what could be this error?

dlerror:: /usr/lib64/varnish/vmods/libvmod_geoip2.so: undefined symbol: VSLv ('input' Line 15 Pos 8) import geoip2; -------######- Running VCC-compiler failed, exited with 2 VCL compilation failed

varnishd -V varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software

fgsch commented 4 years ago

Thanks for the report. I will take a look shortly.

fgsch commented 4 years ago

I cannot reproduce it.

How did you bulld the vmod? Can you provide a step by step and also the config.log file?

djulianm commented 4 years ago

Yes, of course, I've had a lot of trouble to finally get the final result to get the mod in the correct folder, thats my steps:

git clone --recursive https://github.com/fgsch/libvmod-geoip2 cd libvmod-geoip2 sudo env PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh sudo ./configure VMODDIR=/usr/lib64/varnish/vmods/ sudo make sudo make install

Here's the config.log:


`lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
pkg_cv_VAPI_INCLUDE_DIR=/usr/include/varnish
pkg_cv_VARNISH_BINDIR=/usr/bin
pkg_cv_VARNISH_DATAROOT=/usr/share
pkg_cv_VARNISH_PREFIX=/usr
pkg_cv_VARNISH_SBINDIR=/usr/sbin
pkg_cv_VMODTOOL=/usr/share/varnish/vmodtool.py
pkg_cv_VMOD_DIR=/usr/lib64/varnish/vmods

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing autoconf'
AUTOHEADER='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing autoheader'
AUTOMAKE='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing automake-1.13'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
FGREP='/bin/grep -F'
GCOV=''
GENHTML=''
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LCOV=''
LD='/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBOBJS=''
LIBS='-lmaxminddb '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing makeinfo'
MANIFEST_TOOL=':'
MAXMINDDB_CFLAGS=''
MAXMINDDB_LIBS=''
MKDIR_P='/bin/mkdir -p'
NM='/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='libvmod-geoip2'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='libvmod-geoip2'
PACKAGE_STRING='libvmod-geoip2 devel'
PACKAGE_TARNAME='libvmod-geoip2'
PACKAGE_URL=''
PACKAGE_VERSION='devel'
PATH_SEPARATOR=':'
PKG_CONFIG='/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
PYTHON='/bin/python3.7'
PYTHON_EXEC_PREFIX='${exec_prefix}'
PYTHON_PLATFORM='linux'
PYTHON_PREFIX='${prefix}'
PYTHON_VERSION='3.7'
RANLIB='ranlib'
RST2MAN='/bin/rst2man'
SED='/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
USE_LCOV_FALSE=''
USE_LCOV_TRUE='#'
VARNISHD='/usr/sbin/varnishd'
VARNISHTEST='/usr/bin/varnishtest'
VARNISH_BINDIR='/usr/bin'
VARNISH_DATAROOT='/usr/share'
VARNISH_PREFIX='/usr'
VARNISH_SBINDIR='/usr/sbin'
VERSION='devel'
VMODTOOL='/usr/share/varnish/vmodtool.py'
VMOD_DIR='/usr/lib64/varnish/vmods'
VMOD_INCLUDES='-I/usr/include/varnish'
VMOD_TESTS='tests/b00000.vtc tests/b00001.vtc tests/b00002.vtc tests/b00003.vtc tests/b00004.vtc'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgpyexecdir='${pyexecdir}/libvmod-geoip2'
pkgpythondir='${pythondir}/libvmod-geoip2'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
pyexecdir='${exec_prefix}/lib64/python3.7/site-packages'
pythondir='${prefix}/lib/python3.7/site-packages'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "libvmod-geoip2"
#define PACKAGE_TARNAME "libvmod-geoip2"
#define PACKAGE_VERSION "devel"
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libvmod-geoip2 configure devel, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure VMODDIR=/usr/lib64/varnish/vmods/

## --------- ##
## Platform. ##
## --------- ##

hostname = ip-172-31-95-171.ec2.internal
uname -m = x86_64
uname -r = 4.14.181-140.257.amzn2.x86_64
uname -s = Linux
uname -v = #1 SMP Wed May 27 02:17:36 UTC 2020

/usr/bin/uname -p = x86_64
/bin/uname -X     = unknown

/bin/arch              = x86_64
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
"config.log" [readonly] 792L, 29046C                                                                                                                             1,1           Top
#define PACKAGE_STRING "libvmod-geoip2 devel"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "libvmod-geoip2"
#define VERSION "devel"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define HAVE_VSHA256_H 1
#define HAVE_CACHE_CACHE_H 1

configure: exit 0
[ec2-user@ip-172-31-95-171 libvmod-geoip2]$ pbcoby < config.log
-bash: pbcoby: command not found
[ec2-user@ip-172-31-95-171 libvmod-geoip2]$ vi config.log
[ec2-user@ip-172-31-95-171 libvmod-geoip2]$ cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libvmod-geoip2 configure devel, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure VMODDIR=/usr/lib64/varnish/vmods/

## --------- ##
## Platform. ##
## --------- ##

hostname = ip-172-31-95-171.ec2.internal
uname -m = x86_64
uname -r = 4.14.181-140.257.amzn2.x86_64
uname -s = Linux
uname -v = #1 SMP Wed May 27 02:17:36 UTC 2020

/usr/bin/uname -p = x86_64
/bin/uname -X     = unknown

/bin/arch              = x86_64
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /sbin
PATH: /bin
PATH: /usr/sbin
PATH: /usr/bin

## ----------- ##
## Core tests. ##
## ----------- ##

configure:2309: checking for a BSD-compatible install
configure:2377: result: /bin/install -c
configure:2388: checking whether build environment is sane
configure:2443: result: yes
configure:2594: checking for a thread-safe mkdir -p
configure:2633: result: /bin/mkdir -p
configure:2640: checking for gawk
configure:2656: found /bin/gawk
configure:2667: result: gawk
configure:2678: checking whether make sets $(MAKE)
configure:2700: result: yes
configure:2729: checking whether make supports nested variables
configure:2746: result: yes
configure:2875: checking for style of include used by make
configure:2903: result: GNU
configure:2974: checking for gcc
configure:2990: found /bin/gcc
configure:3001: result: gcc
configure:3230: checking for C compiler version
configure:3239: gcc --version >&5
gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3250: $? = 0
configure:3239: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --enable-libcilkrts --enable-libatomic --enable-libquadmath --enable-libitm --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)
configure:3250: $? = 0
configure:3239: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3250: $? = 1
configure:3239: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3250: $? = 1
configure:3270: checking whether the C compiler works
configure:3292: gcc    conftest.c  >&5
configure:3296: $? = 0
configure:3344: result: yes
configure:3347: checking for C compiler default output file name
configure:3349: result: a.out
configure:3355: checking for suffix of executables
configure:3362: gcc -o conftest    conftest.c  >&5
configure:3366: $? = 0
configure:3388: result:
configure:3410: checking whether we are cross compiling
configure:3418: gcc -o conftest    conftest.c  >&5
configure:3422: $? = 0
configure:3429: ./conftest
configure:3433: $? = 0
configure:3448: result: no
configure:3453: checking for suffix of object files
configure:3475: gcc -c   conftest.c >&5
configure:3479: $? = 0
configure:3500: result: o
configure:3504: checking whether we are using the GNU C compiler
configure:3523: gcc -c   conftest.c >&5
configure:3523: $? = 0
configure:3532: result: yes
configure:3541: checking whether gcc accepts -g
configure:3561: gcc -c -g  conftest.c >&5
configure:3561: $? = 0
configure:3602: result: yes
configure:3619: checking for gcc option to accept ISO C89
configure:3682: gcc  -c -g -O2  conftest.c >&5
configure:3682: $? = 0
configure:3695: result: none needed
configure:3717: checking dependency style of gcc
configure:3828: result: gcc3
configure:3843: checking for gcc option to accept ISO C99
configure:3992: gcc  -c -g -O2  conftest.c >&5
configure:3992: $? = 0
configure:4005: result: none needed
configure:4049: checking build system type
configure:4063: result: x86_64-unknown-linux-gnu
configure:4083: checking host system type
configure:4096: result: x86_64-unknown-linux-gnu
configure:4137: checking how to print strings
configure:4164: result: printf
configure:4185: checking for a sed that does not truncate output
configure:4249: result: /bin/sed
configure:4267: checking for grep that handles long lines and -e
configure:4325: result: /bin/grep
configure:4330: checking for egrep
configure:4392: result: /bin/grep -E
configure:4397: checking for fgrep
configure:4459: result: /bin/grep -F
configure:4494: checking for ld used by gcc
configure:4561: result: /bin/ld
configure:4568: checking if the linker (/bin/ld) is GNU ld
configure:4583: result: yes
configure:4595: checking for BSD- or MS-compatible name lister (nm)
configure:4644: result: /bin/nm -B
configure:4774: checking the name lister (/bin/nm -B) interface
configure:4781: gcc -c -g -O2  conftest.c >&5
configure:4784: /bin/nm -B "conftest.o"
configure:4787: output
0000000000000000 B some_variable
configure:4794: result: BSD nm
configure:4797: checking whether ln -s works
configure:4801: result: yes
configure:4809: checking the maximum length of command line arguments
configure:4939: result: 1572864
configure:4956: checking whether the shell understands some XSI constructs
configure:4966: result: yes
configure:4970: checking whether the shell understands "+="
configure:4976: result: yes
configure:5011: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5051: result: func_convert_file_noop
configure:5058: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5078: result: func_convert_file_noop
configure:5085: checking for /bin/ld option to reload object files
configure:5092: result: -r
configure:5166: checking for objdump
configure:5182: found /bin/objdump
configure:5193: result: objdump
configure:5225: checking how to recognize dependent libraries
configure:5427: result: pass_all
configure:5512: checking for dlltool
configure:5542: result: no
configure:5572: checking how to associate runtime and link libraries
configure:5599: result: printf %s\n
configure:5660: checking for ar
configure:5676: found /bin/ar
configure:5687: result: ar
configure:5724: checking for archiver @FILE support
configure:5741: gcc -c -g -O2  conftest.c >&5
configure:5741: $? = 0
configure:5744: ar cru libconftest.a @conftest.lst >&5
configure:5747: $? = 0
configure:5752: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:5755: $? = 1
configure:5767: result: @
configure:5825: checking for strip
configure:5841: found /bin/strip
configure:5852: result: strip
configure:5924: checking for ranlib
configure:5940: found /bin/ranlib
configure:5951: result: ranlib
configure:6053: checking command to parse /bin/nm -B output from gcc object
configure:6173: gcc -c -g -O2  conftest.c >&5
configure:6176: $? = 0
configure:6180: /bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
configure:6183: $? = 0
configure:6249: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6252: $? = 0
configure:6290: result: ok
configure:6327: checking for sysroot
configure:6357: result: no
configure:6434: gcc -c -g -O2  conftest.c >&5
configure:6437: $? = 0
configure:6613: checking for mt
configure:6643: result: no
configure:6663: checking if : is a manifest tool
configure:6669: : '-?'
configure:6677: result: no
configure:7319: checking how to run the C preprocessor
configure:7350: gcc -E  conftest.c
configure:7350: $? = 0
configure:7364: gcc -E  conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:7364: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libvmod-geoip2"
| #define PACKAGE_TARNAME "libvmod-geoip2"
| #define PACKAGE_VERSION "devel"
| #define PACKAGE_STRING "libvmod-geoip2 devel"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libvmod-geoip2"
| #define VERSION "devel"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:7389: result: gcc -E
configure:7409: gcc -E  conftest.c
configure:7409: $? = 0
configure:7423: gcc -E  conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:7423: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libvmod-geoip2"
| #define PACKAGE_TARNAME "libvmod-geoip2"
| #define PACKAGE_VERSION "devel"
| #define PACKAGE_STRING "libvmod-geoip2 devel"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libvmod-geoip2"
| #define VERSION "devel"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:7452: checking for ANSI C header files
configure:7472: gcc -c -g -O2  conftest.c >&5
configure:7472: $? = 0
configure:7545: gcc -o conftest -g -O2   conftest.c  >&5
configure:7545: $? = 0
configure:7545: ./conftest
configure:7545: $? = 0
configure:7556: result: yes
configure:7569: checking for sys/types.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for sys/stat.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for stdlib.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for string.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for memory.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for strings.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for inttypes.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for stdint.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7569: checking for unistd.h
configure:7569: gcc -c -g -O2  conftest.c >&5
configure:7569: $? = 0
configure:7569: result: yes
configure:7583: checking for dlfcn.h
configure:7583: gcc -c -g -O2  conftest.c >&5
configure:7583: $? = 0
configure:7583: result: yes
configure:7759: checking for objdir
configure:7774: result: .libs
configure:8041: checking if gcc supports -fno-rtti -fno-exceptions
configure:8059: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
configure:8063: $? = 0
configure:8076: result: no
configure:8403: checking for gcc option to produce PIC
configure:8410: result: -fPIC -DPIC
configure:8418: checking if gcc PIC flag -fPIC -DPIC works
configure:8436: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:8440: $? = 0
configure:8453: result: yes
configure:8482: checking if gcc static flag -static works
configure:8510: result: no
configure:8525: checking if gcc supports -c -o file.o
configure:8546: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:8550: $? = 0
configure:8572: result: yes
configure:8580: checking if gcc supports -c -o file.o
configure:8627: result: yes
configure:8660: checking whether the gcc linker (/bin/ld -m elf_x86_64) supports shared libraries
configure:9813: result: yes
configure:9850: checking whether -lc should be explicitly linked in
configure:9858: gcc -c -g -O2  conftest.c >&5
configure:9861: $? = 0
configure:9876: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep  -lc  \>/dev/null 2\>\&1
configure:9879: $? = 0
configure:9893: result: no
configure:10053: checking dynamic linker characteristics
configure:10564: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:10564: $? = 0
configure:10790: result: GNU/Linux ld.so
configure:10897: checking how to hardcode library paths into programs
configure:10922: result: immediate
configure:11462: checking whether stripping libraries is possible
configure:11467: result: yes
configure:11502: checking if libtool supports shared libraries
configure:11504: result: yes
configure:11507: checking whether to build shared libraries
configure:11528: result: yes
configure:11531: checking whether to build static libraries
configure:11535: result: no
configure:11761: checking for pkg-config
configure:11779: found /bin/pkg-config
configure:11791: result: /bin/pkg-config
configure:11816: checking pkg-config is at least version 0.9.0
configure:11819: result: yes
configure:11828: $PKG_CONFIG --exists --print-errors "libmaxminddb"
Package libmaxminddb was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmaxminddb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libmaxminddb' found
configure:11831: $? = 1
configure:11927: checking for library containing MMDB_open
configure:11958: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/cc1JbBwJ.o: In function `main':
/home/ec2-user/libvmod-geoip2/conftest.c:34: undefined reference to `MMDB_open'
collect2: error: ld returned 1 exit status
configure:11958: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libvmod-geoip2"
| #define PACKAGE_TARNAME "libvmod-geoip2"
| #define PACKAGE_VERSION "devel"
| #define PACKAGE_STRING "libvmod-geoip2 devel"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libvmod-geoip2"
| #define VERSION "devel"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char MMDB_open ();
| int
| main ()
| {
| return MMDB_open ();
|   ;
|   return 0;
| }
configure:11958: gcc -o conftest -g -O2   conftest.c -lmaxminddb   >&5
configure:11958: $? = 0
configure:11975: result: -lmaxminddb
configure:12024: checking for a Python interpreter with version >= 3.4
configure:12041: python3.9 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
./configure: line 12042: python3.9: command not found
configure:12044: $? = 127
configure:12041: python3.8 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
./configure: line 12042: python3.8: command not found
configure:12044: $? = 127
configure:12041: python3.7 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
configure:12044: $? = 0
configure:12050: result: python3.7
configure:12058: checking for python3.7
configure:12076: found /bin/python3.7
configure:12088: result: /bin/python3.7
configure:12108: checking for python3.7 version
configure:12115: result: 3.7
configure:12127: checking for python3.7 platform
configure:12134: result: linux
configure:12160: checking for python3.7 script directory
configure:12195: result: ${prefix}/lib/python3.7/site-packages
configure:12204: checking for python3.7 extension module directory
configure:12239: result: ${exec_prefix}/lib64/python3.7/site-packages
configure:12257: checking for rst2man
configure:12275: found /bin/rst2man
configure:12287: result: /bin/rst2man
configure:12305: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12308: $? = 0
configure:12328: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12331: $? = 0
configure:12351: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12354: $? = 0
configure:12374: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12377: $? = 0
configure:12398: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12401: $? = 0
configure:12434: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12437: $? = 0
configure:12461: checking vsha256.h usability
configure:12461: gcc -c -g -O2 -I/usr/include/varnish  conftest.c >&5
configure:12461: $? = 0
configure:12461: result: yes
configure:12461: checking vsha256.h presence
configure:12461: gcc -E -I/usr/include/varnish  conftest.c
configure:12461: $? = 0
configure:12461: result: yes
configure:12461: checking for vsha256.h
configure:12461: result: yes
configure:12461: checking cache/cache.h usability
configure:12461: gcc -c -g -O2 -I/usr/include/varnish  conftest.c >&5
configure:12461: $? = 0
configure:12461: result: yes
configure:12461: checking cache/cache.h presence
configure:12461: gcc -E -I/usr/include/varnish  conftest.c
configure:12461: $? = 0
configure:12461: result: yes
configure:12461: checking for cache/cache.h
configure:12461: result: yes
configure:12482: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12485: $? = 0
configure:12513: $PKG_CONFIG --exists --print-errors "varnishapi"
configure:12516: $? = 0
configure:12541: checking for varnishtest
configure:12560: found /usr/bin/varnishtest
configure:12572: result: /usr/bin/varnishtest
configure:12582: checking for varnishd
configure:12601: found /usr/sbin/varnishd
configure:12613: result: /usr/sbin/varnishd
configure:12735: checking that generated files are newer than configure
configure:12741: result: done
configure:12768: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by libvmod-geoip2 config.status devel, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    =
  CONFIG_HEADERS  =
  CONFIG_LINKS    =
  CONFIG_COMMANDS =
  $ ./config.status

on ip-172-31-95-171.ec2.internal

config.status:1113: creating Makefile
config.status:1113: creating src/Makefile
config.status:1113: creating config.h
config.status:1294: config.h is unchanged
config.status:1342: executing depfiles commands
config.status:1342: executing libtool commands

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_MAXMINDDB_CFLAGS_set=
ac_cv_env_MAXMINDDB_CFLAGS_value=
ac_cv_env_MAXMINDDB_LIBS_set=
ac_cv_env_MAXMINDDB_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=
ac_cv_env_PKG_CONFIG_PATH_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_PYTHON_set=
ac_cv_env_PYTHON_value=
ac_cv_env_VARNISH_BINDIR_set=
ac_cv_env_VARNISH_BINDIR_value=
ac_cv_env_VARNISH_DATAROOT_set=
ac_cv_env_VARNISH_DATAROOT_value=
ac_cv_env_VARNISH_PREFIX_set=
ac_cv_env_VARNISH_PREFIX_value=
ac_cv_env_VARNISH_SBINDIR_set=
ac_cv_env_VARNISH_SBINDIR_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_cache_cache_h=yes
ac_cv_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_header_vsha256_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_FGREP='/bin/grep -F'
ac_cv_path_GREP=/bin/grep
ac_cv_path_PYTHON=/bin/python3.7
ac_cv_path_RST2MAN=/bin/rst2man
ac_cv_path_SED=/bin/sed
ac_cv_path_VARNISHD=/usr/sbin/varnishd
ac_cv_path_VARNISHTEST=/usr/bin/varnishtest
ac_cv_path_ac_pt_PKG_CONFIG=/bin/pkg-config
ac_cv_path_install='/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c89=
ac_cv_prog_cc_c99=
ac_cv_prog_cc_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_search_MMDB_open=-lmaxminddb
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_make_support_nested_variables=yes
am_cv_pathless_PYTHON=python3.7
am_cv_python_platform=linux
am_cv_python_pyexecdir='${exec_prefix}/lib64/python3.7/site-packages'
am_cv_python_pythondir='${prefix}/lib/python3.7/site-packages'
am_cv_python_version=3.7
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/bin/ld
lt_cv_path_NM='/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=no
lt_cv_prog_gnu_ld=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=no
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[   ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[     ][  ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
pkg_cv_VAPI_INCLUDE_DIR=/usr/include/varnish
pkg_cv_VARNISH_BINDIR=/usr/bin
pkg_cv_VARNISH_DATAROOT=/usr/share
pkg_cv_VARNISH_PREFIX=/usr
pkg_cv_VARNISH_SBINDIR=/usr/sbin
pkg_cv_VMODTOOL=/usr/share/varnish/vmodtool.py
pkg_cv_VMOD_DIR=/usr/lib64/varnish/vmods

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing autoconf'
AUTOHEADER='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing autoheader'
AUTOMAKE='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing automake-1.13'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
FGREP='/bin/grep -F'
GCOV=''
GENHTML=''
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LCOV=''
LD='/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBOBJS=''
LIBS='-lmaxminddb '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/missing makeinfo'
MANIFEST_TOOL=':'
MAXMINDDB_CFLAGS=''
MAXMINDDB_LIBS=''
MKDIR_P='/bin/mkdir -p'
NM='/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='libvmod-geoip2'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='libvmod-geoip2'
PACKAGE_STRING='libvmod-geoip2 devel'
PACKAGE_TARNAME='libvmod-geoip2'
PACKAGE_URL=''
PACKAGE_VERSION='devel'
PATH_SEPARATOR=':'
PKG_CONFIG='/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
PYTHON='/bin/python3.7'
PYTHON_EXEC_PREFIX='${exec_prefix}'
PYTHON_PLATFORM='linux'
PYTHON_PREFIX='${prefix}'
PYTHON_VERSION='3.7'
RANLIB='ranlib'
RST2MAN='/bin/rst2man'
SED='/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
USE_LCOV_FALSE=''
USE_LCOV_TRUE='#'
VARNISHD='/usr/sbin/varnishd'
VARNISHTEST='/usr/bin/varnishtest'
VARNISH_BINDIR='/usr/bin'
VARNISH_DATAROOT='/usr/share'
VARNISH_PREFIX='/usr'
VARNISH_SBINDIR='/usr/sbin'
VERSION='devel'
VMODTOOL='/usr/share/varnish/vmodtool.py'
VMOD_DIR='/usr/lib64/varnish/vmods'
VMOD_INCLUDES='-I/usr/include/varnish'
VMOD_TESTS='tests/b00000.vtc tests/b00001.vtc tests/b00002.vtc tests/b00003.vtc tests/b00004.vtc'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/ec2-user/libvmod-geoip2/build-aux/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgpyexecdir='${pyexecdir}/libvmod-geoip2'
pkgpythondir='${pythondir}/libvmod-geoip2'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
pyexecdir='${exec_prefix}/lib64/python3.7/site-packages'
pythondir='${prefix}/lib/python3.7/site-packages'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "libvmod-geoip2"
#define PACKAGE_TARNAME "libvmod-geoip2"
#define PACKAGE_VERSION "devel"
#define PACKAGE_STRING "libvmod-geoip2 devel"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "libvmod-geoip2"
#define VERSION "devel"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define HAVE_VSHA256_H 1
#define HAVE_CACHE_CACHE_H 1

configure: exit 0`

If you need more information please let me know... ;)

djulianm commented 4 years ago

After rebuilding in a new environment, i'm getting when trying to make:

make  all-recursive
make[1]: Entering directory '/home/ec2-user/libvmod-geoip2'
Making all in src
make[2]: Entering directory '/home/ec2-user/libvmod-geoip2/src'
/usr/bin/python3.7 /usr/share/varnish/vmodtool.py ../src/vmod_geoip2.vcc
ERROR: Parse error reading "../src/vmod_geoip2.vcc":
'Expected ")" or "," not "json=0"'
make[2]: *** [vcc_if.c] Error 255
make[2]: Leaving directory '/home/ec2-user/libvmod-geoip2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ec2-user/libvmod-geoip2'
make: *** [all] Error 2
fgsch commented 4 years ago

Same varnish version as previously?

djulianm commented 4 years ago

Yes @fgsch

fgsch commented 4 years ago

I can't reproduce this either.

The sha256 for the vmodtool.py in varnish 6.5.1 is d76791a62d8d98614fd24c34f557a6ecca21c4d8bd181c8134a55aa79ffb000f.

Can you check this is the same in your installation?

fgsch commented 4 years ago

Can you also make sure you don't have multiple versions of varnish installed? The errors you are seeing are normally related to that.

djulianm commented 4 years ago

You're right, I installed varnish from the beginning and then installed and worked well, thank you!

fgsch commented 4 years ago

Thanks for letting me know.