Opened 7 years ago

Closed 5 years ago

#6762 closed defect (wontfix)

compilation expects libminizip.la, though libminizip.so and header files are installed. Error: grep: /usr/lib/libminizip.la: No such file or directory.

Reported by: dreieck Owned by: warmerdam
Priority: normal Milestone: closed_because_of_github_migration
Component: default Version: 2.1.1
Severity: normal Keywords: build linking minizip
Cc:

Description

I build gdal 2.1.1 on arch linux with the following options:

Error: Failed to load processor bash
No macro or processor named 'bash' found

After a long compile, I get the output:

Error: Failed to load processor bash
No macro or processor named 'bash' found

Of course, the package 'minizip' is installed and it provides header files and library files. But it does not provide '.la'-files. Here is the output of pacman -Qlq minizip (which lists the installed files):

!#bash
/usr/
/usr/include/
/usr/include/minizip/
/usr/include/minizip/crypt.h
/usr/include/minizip/ioapi.h
/usr/include/minizip/mztools.h
/usr/include/minizip/unzip.h
/usr/include/minizip/zip.h
/usr/lib/
/usr/lib/libminizip.so
/usr/lib/libminizip.so.1
/usr/lib/libminizip.so.1.0.0
/usr/lib/pkgconfig/
/usr/lib/pkgconfig/minizip.pc
/usr/share/
/usr/share/licenses/
/usr/share/licenses/minizip/
/usr/share/licenses/minizip/LICENSE

For information, here the output of the configure-run:

checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking C_WFLAGS for maximum warnings... -Wall -Wdeclaration-after-statement
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking CXX_WFLAGS for maximum warnings... -Wall
checking whether C compiler accepts -Werror -Wextra... yes
checking whether C compiler accepts -Werror -Winit-self... yes
checking whether C compiler accepts -Werror -Wunused-parameter... yes
checking whether C compiler accepts -Werror -Wmissing-prototypes... yes
checking whether C compiler accepts -Werror -Wmissing-declarations... yes
checking whether C compiler accepts -Werror -Wformat... yes
checking whether C compiler accepts -Werror -Wformat -Werror=format-security -Wno-format-nonliteral... yes
checking whether C compiler accepts -Werror -Wshorten-64-to-32... no
checking whether C compiler accepts -Werror -Wlogical-op... yes
checking whether C compiler accepts -Werror -Wshadow... yes
checking whether C compiler accepts -Werror -Werror=vla... yes
checking whether C compiler accepts -Werror -Werror=declaration-after-statement... yes
checking whether C compiler accepts -Werror -Wnull-dereference... yes
checking whether C compiler accepts -Werror -Wduplicated-cond... yes
checking whether C compiler accepts -Werror -Wno-sign-compare... yes
checking whether C++ compiler accepts -Werror -Wunused-private-field... no
checking whether C++ compiler accepts -Werror -Wmissing-prototypes... no
checking whether C++ compiler accepts -Werror -Wmissing-declarations... yes
checking whether C++ compiler accepts -Werror -Wnon-virtual-dtor... yes
checking whether C++ compiler accepts -Werror -Woverloaded-virtual... yes
checking whether C++ compiler accepts -Werror -fno-operator-names... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /sbin/sed
checking for grep that handles long lines and -e... /sbin/grep
checking for egrep... /sbin/grep -E
checking for fgrep... /sbin/grep -F
checking for ld used by gcc... /sbin/ld
checking if the linker (/sbin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /sbin/nm -B
checking the name lister (/sbin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /sbin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... gawk
checking command to parse /sbin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/sbin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /sbin/ld -m elf_x86_64
checking if the linker (/sbin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/sbin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/sbin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for dlopen in -ldl... yes
checking for nanosleep in -lrt... yes
checking for sin in -lm... yes
checking for ANSI C header files... (cached) yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking dbmalloc.h usability... no
checking dbmalloc.h presence... no
checking for dbmalloc.h... no
checking for dlfcn.h... (cached) yes
checking for stdint.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking whether byte ordering is bigendian... no
checking for 64bit integer type... long long
checking for 64bit file io... yes
checking for stat64... yes
checking for fopen64... yes
checking for ftruncate64... yes
checking size of int... 4
checking size of unsigned long... 8
checking size of void*... 8
checking for int8... no
checking for int16... no
checking for int32... no
checking native cpu bit order... lsb2msb
checking for vprintf... yes
checking for _doprnt... no
checking for snprintf... yes
checking for vsnprintf... yes
checking for atoll... yes
checking for strtof... yes
checking for getcwd... yes
checking whether strtof is declared... yes
checking for readlink... yes
checking for lstat... yes
checking for posix_spawnp... yes
checking for vfork... yes
checking for mmap... yes
checking for statvfs... yes
checking for gmtime_r... yes
checking for localtime_r... yes
checking for uselocale... yes
checking to enable debug build... no, CFLAGS="  -g0 -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fno-strict-aliasing"
checking whether GCC 4.1 atomic builtins are available... yes
checking whether SSE is available at compile time... yes
checking whether AVX is available at compile time...  yes
checking to enable LTO (link time optimization) build... no
checking whether we should hide internal symbols... no
checking for local include/lib path... none
checking for pthread_create in -lpthread... yes
checking for PTHREAD_MUTEX_RECURSIVE... yes
checking for PTHREAD_MUTEX_ADAPTIVE_NP... yes
checking for pthread_spinlock_t... yes
checking for 5 args mremap()... yes
checking for _SC_PHYS_PAGES... yes
checking for deflateInit_ in -lz... yes
checking for inflateCopy in -lz... yes
using pre-installed libz
checking for ld used by GCC... /sbin/ld -m elf_x86_64
checking if the linker (/sbin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... /bin/sh: ./config.rpath: No such file or directory
done
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
using ICONV_CPP_CONST=""
checking for lzma_code in -llzma... yes
checking for PostgreSQL... yes
checking for PQconnectdb in -lpq... yes
checking for PQputCopyData in -lpq... yes
checking for PQescapeStringConn in -lpq... yes
checking for G_is_initialized in -lgrass_gis... yes
checking for ffopen in -lcfitsio... yes
using pre-installed libcfitsio.
using internal csf code.
checking for libpng... checking for png_set_IHDR in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
using pre-installed libpng.
checking for libcrunch... dds support disabled.
checking for gta_version in -lgta... no
libgta not found - GTA support disabled
checking for PCIDSK... using internal libpcidsk.
checking for libtiff... using internal TIFF code.
BigTIFF support enabled.
using internal GeoTIFF code.
using internal jpeg code.
checking for jpeg12... enabled
using libgif from /usr/include.
checking ecs.h usability... no
checking ecs.h presence... no
checking for ecs.h... no
checking for FMEObjects... no
SOSI support disabled.
checking for MongoCXX... MongoCXX not found.
checking for SDreaddata in -lmfhdfalt... no
checking for SDreaddata in -lmfhdf... yes
checking for SDget_maxopenfiles in -lmfhdfalt... no
checking for SDget_maxopenfiles in -lmfhdf... yes
checking for H5Fopen in -lhdf5... yes
checking for kea... yes
checking for nc-config... /usr/bin/nc-config
checking libnetcdf compiler and linker flags with nc-config... 
 got version="netCDF 4.4.1", prefix="/usr",
 libs="-lnetcdf", includedir="/usr/include"
checking for nc_open in -lnetcdf... yes
checking for netcdf-4 (and HDF5) support in libnetcdf... yes
checking for HDF4 support in libnetcdf... no
configure: JasPer (JPEG2000) support disabled.
checking for opj_stream_set_user_data_length in -lopenjp2... yes
configure: using OpenJPEG v2 library from /usr.
checking for libFileGDBAPI.so in in /usr/lib... found.
checking for FileGDBAPI.h in /usr/include... found.
checking for libNCSEcw.a or libecwj2... found in /usr/lib.
checking for NCSECWClient.h in /usr/include... found.
checking for ECWJP2BuildNumber.h in /usr/include... not found.
checking for Kakadu JPEG2000 support... not requested.
configure: MrSID support disabled.
configure: MrSID/MG4 Lidar support disabled.
checking for MSG... not requested
checking for BSB... enabled
checking if Oracle support is enabled... no
checking for GRIB... enabled
checking for GNM ... enabled
checking for mysql_config... /sbin/mysql_config
checking for MySQL... yes
checking for Ingres... no
checking for Xerces C++ Parser headers in /usr/include and /usr/include/xercesc... found
checking for Xerces C++ Parser libraries... found
checking for Xerces C++ Parser... yes
checking if Xerces C++ Parser version is >= 2.7.0... yes
checking for XML_ParserCreate in -lexpat... yes
checking for Expat XML Parser headers in /usr/include... found
checking for Expat XML Parser... yes
checking if Expat XML Parser version is >= 1.95.0... yes
checking for pkg-config... /sbin/pkg-config
checking pkg-config is at least version 0.25... yes
checking for LIBKML... no
checking for Google libkml headers in /usr/include, /usr/include/kml, and /usr/include/kml/third_party/boost_1_34_1... found
checking for Google libkml libraries... found
checking for Google libkml... yes
checking if Google libkml version is >= 1.3.0... yes
check for unixODBC
checking for SQLConnect in -lodbc... yes
checking for SQLInstallDriverEx in -lodbcinst... yes
checking for sql.h... yes
checking if Oracle support is enabled... no
checking for DODS... disabled
        found libcurl version 7.52.1
checking for curl_global_init in -lcurl... yes
checking for xmlParseDoc in -lxml2... yes
checking for spatialite... dlopen
checking for sqlite3_open in -lsqlite3... yes
checking for SQLite3 library >= 3.0.0... yes
checking for sqlite3_column_table_name in -lsqlite3... yes
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking for pcre_compile in -lpcre... yes
checking Checking for DWGdirect... disabled
configure: IBM Informix DataBlade not supported.
configure: checking whether we should include ESRI SDE support...
        ESRI SDE support not requested.
checking for WebPDecodeRGB in -lwebp... yes
checking for geos-config... /sbin/geos-config
checking for GEOS version >= 3.1.0... yes
checking for GEOSversion in -lgeos_c... yes
configure: Using C API from GEOS 3.5.0
checking for OpenCL support... no
checking for FreeXL support... checking freexl.h usability... yes
checking freexl.h presence... yes
checking for freexl.h... yes
checking for freexl_open in -lfreexl... yes
using internal libjson-c code
checking whether to enable PAM... yes
checking whether to build PDF driver as a plugin... no
checking for poppler... yes
checking if Catalog::optContent exists... yes
checking if BaseStream constructor needs 2 arguments... yes
checking if we have Poppler >= 0.20.0... yes
checking if we have Poppler >= 0.23.0... yes
checking for podofo... yes
checking for pdfium... disabled
checking how to link PROJ.4 library... link dynamically.
checking GDAL version information from gdal_version.h: 2.1.1
checking for perl bindings... enabled
checking for php bindings... enabled
checking for python bindings... checking for python... python
checking for python setuptools... found
checking whether we should include Java support... yes
checking whether we should include MDB support... no
configure: checking whether we should include rasdaman support...
        rasdaman support not requested.
checking whether we should include Armadillo support... yes
checking for cryptopp... yes
checking if cryptopp has all cipher methods builtin... yes
checking for MRF... enabled
checking if sprintf can be overloaded for GDAL compilation... yes
configure: creating ./config.status
config.status: creating GDALmake.opt
config.status: WARNING:  'GDALmake.opt.in' seems to ignore the --datarootdir setting
config.status: creating port/cpl_config.h
config.status: port/cpl_config.h is unchanged
config.status: executing libtool commands

GDAL is now configured for x86_64-pc-linux-gnu

  Installation directory:    /usr
  C compiler:                gcc   -g0 -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fno-strict-aliasing
  C++ compiler:              g++ -g0 -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fpermissive

  LIBTOOL support:           yes

  LIBZ support:              external
  LIBLZMA support:           yes
  cryptopp support:          yes
  GRASS support:             grass70+
  CFITSIO support:           external
  PCRaster support:          internal
  LIBPNG support:            external
  DDS support:               no
  GTA support:               no
  LIBTIFF support:           internal (BigTIFF=yes)
  LIBGEOTIFF support:        internal
  LIBJPEG support:           internal
  12 bit JPEG:               yes
  12 bit JPEG-in-TIFF:       yes
  LIBGIF support:            external
  OGDI support:              no
  HDF4 support:              yes
  HDF5 support:              yes
  Kea support:               yes
  NetCDF support:            yes
  Kakadu support:            no
  JasPer support:            no
  OpenJPEG support:          yes
  ECW support:               yes
  MrSID support:             no
  MrSID/MG4 Lidar support:   no
  MSG support:               no
  GRIB support:              yes
  EPSILON support:           no
  WebP support:              yes
  cURL support (wms/wcs/...):yes
  PostgreSQL support:        yes
  MRF support:               yes
  MySQL support:             yes
  Ingres support:            no
  Xerces-C support:          yes
  NAS support:               yes
  Expat support:             yes
  libxml2 support:           yes
  Google libkml support:     yes
  ODBC support:              yes
  PGeo support:              yes
  FGDB support:              yes
  MDB support:               no
  PCIDSK support:            internal
  OCI support:               no
  GEORASTER support:         no
  SDE support:               no
  Rasdaman support:          no
  DODS support:              no
  SQLite support:            yes
  PCRE support:              yes
  SpatiaLite support:        dlopen
  SpatiaLite shared obj name:/usr/lib/libspatialite.so
  DWGdirect support          no
  INFORMIX DataBlade support:no
  GEOS support:              yes
  QHull support:             internal
  Poppler support:           yes
  Podofo support:            yes
  PDFium support:            no
  OpenCL support:            no
  Armadillo support:         yes
  FreeXL support:            yes
  SOSI support:              no
  MongoDB support:           no


  SWIG Bindings:             python php perl 

  Statically link PROJ.4:    no
  enable GNM building:       yes
  enable pthread support:    yes
  enable POSIX iconv support:yes
  hide internal symbols:     no

configure: WARNING: --with-podofo and --with-poppler are both available. This is unusual setup, but will work. Poppler will be used by default...
configure: WARNING: --with-libxml2 and --with-fgdb are both available. There might be some incompatibility between system libxml2 and the embedded copy within libFileGDBAPI

Attachments (3)

libkml.files (9.0 KB ) - added by dreieck 7 years ago.
contents of my libkml package.
makepkg.with-libtool.log.xz (44.2 KB ) - added by dreieck 7 years ago.
Compile log (stdout and stderr) --with-libtool
makepkg.without-libtool.log.xz (72.3 KB ) - added by dreieck 7 years ago.
Compile log (stdout and stderr) --without-libtool

Download all attachments as: .zip

Change History (11)

comment:1 by dreieck, 7 years ago

Resolution: invalid
Status: newclosed

.. just found out that by default it wants to build static libraries as well. This might be the problem. I am re-compiling with --disable-static. (I am not familiar with libraries and linking, so I try.)

comment:2 by dreieck, 7 years ago

Resolution: invalid
Status: closedreopened

in reply to:  1 comment:3 by dreieck, 7 years ago

Replying to dreieck:

.. just found out that by default it wants to build static libraries as well. This might be the problem. I am re-compiling with --disable-static. (I am not familiar with libraries and linking, so I try.)

.. does not change the problem.

comment:4 by Even Rouault, 7 years ago

GDAL doesn't link directly against minizip. But libkml does, at least in the old way to link against it when there's no pkg-config settings for libkml. On my ubuntu 16.04, "pkg-config --libs libkml" outputs "-lkmlbase -lkmldom -lkmlengine -lkmlxsd -lkmlregionator", so no more minizip. Perhaps you should investigate on this side. This looks a bit distro specific. I don't use archlinux, so unlikely I can fix that, unless you come with a reasonable general purpose patch.

Last edited 7 years ago by Even Rouault (previous) (diff)

by dreieck, 7 years ago

Attachment: libkml.files added

contents of my libkml package.

comment:5 by dreieck, 7 years ago

It seems to have to do with libtool: If I explicitly pass --without-libtool to configure, it works fine (after having had to change also a few other options to configure which caused other errors not related to the one I have reported here).

For your information, regarding libkml which you mentioned:

On my arch linux system, pkg-config --libs libkml outputs "nothing":

Package libkml was not found in the pkg-config search path.
Perhaps you should add the directory containing `libkml.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libkml' found

However, the configure-script of gdal seems to find it.

I have installed libkml version 1.2.0, which gets fetched and compiled from https://github.com/google/libkml by an arch linux AUR package. For your information I have attached a file containing the content of my libkml package.

Last edited 7 years ago by dreieck (previous) (diff)

comment:6 by Even Rouault, 7 years ago

You need libkml >= 1.3.0

in reply to:  6 comment:7 by dreieck, 7 years ago

Replying to rouault:

You need libkml >= 1.3.0

Thanks. (But why it then works with --without-libtool?)

by dreieck, 7 years ago

Attachment: makepkg.with-libtool.log.xz added

Compile log (stdout and stderr) --with-libtool

by dreieck, 7 years ago

Compile log (stdout and stderr) --without-libtool

comment:8 by Even Rouault, 5 years ago

Milestone: closed_because_of_github_migration
Resolution: wontfix
Status: reopenedclosed

This ticket has been automatically closed because Trac is no longer used for GDAL bug tracking, since the project has migrated to GitHub. If you believe this ticket is still valid, you may file it to https://github.com/OSGeo/gdal/issues if it is not already reported there.

Note: See TracTickets for help on using tickets.