#6769 closed defect (fixed)

configure option ' --with-ld-shared' causes calling of 'yes' looping indefinitely.

Reported by: dreieck Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: 2.1.1
Severity: normal Keywords: build, compilation, ld-shared
Cc:

Description (last modified by dreieck)

When I compile gdal 2.1.1 on my arch linux system (64 bit) and I have the option --with-ld-shared passed to configure, at some point the process yes runs for indefinite time and consumes all available CPU power. Compilation does not continue, stdout outputs the same message over and over.

Looking at the output of the compilation, at some point the command

yes  /var/abs/local/own/gdal-custom/src/gdal-2.1.1/frmts/o/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/gcore/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/port/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/alg/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/commonutils.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdalinfo_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdal_translate_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdalwarp_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/ogr2ogr_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdaldem_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/nearblack_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdal_grid_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdal_rasterize_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/apps/gdalbuildvrt_lib.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/ogr/ogrsf_frmts/o/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/gnm/*.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/gnm/gnm_frmts/o/*.o ./ogr/ogrgeometryfactory.o ./ogr/ogrpoint.o ./ogr/ogrcurve.o ./ogr/ogrlinestring.o ./ogr/ogrlinearring.o ./ogr/ogrpolygon.o ./ogr/ogrutils.o ./ogr/ogrgeometry.o ./ogr/ogrgeometrycollection.o ./ogr/ogrmultipolygon.o ./ogr/ogrsurface.o ./ogr/ogrmultipoint.o ./ogr/ogrmultilinestring.o ./ogr/ogrcircularstring.o ./ogr/ogrcompoundcurve.o ./ogr/ogrcurvepolygon.o ./ogr/ogrcurvecollection.o ./ogr/ogrmulticurve.o ./ogr/ogrmultisurface.o ./ogr/ogr_api.o ./ogr/ogrfeature.o ./ogr/ogrfeaturedefn.o ./ogr/ogrfeaturequery.o ./ogr/ogrfeaturestyle.o ./ogr/ogrfielddefn.o ./ogr/ogrspatialreference.o ./ogr/ogr_srsnode.o ./ogr/ogr_srs_proj4.o ./ogr/ogr_fromepsg.o ./ogr/ogrct.o ./ogr/ogr_opt.o ./ogr/ogr_srs_esri.o ./ogr/ogr_srs_pci.o ./ogr/ogr_srs_usgs.o ./ogr/ogr_srs_dict.o ./ogr/ogr_srs_panorama.o ./ogr/ogr_srs_ozi.o ./ogr/ogr_srs_erm.o ./ogr/swq.o ./ogr/swq_expr_node.o ./ogr/swq_parser.o ./ogr/swq_select.o ./ogr/swq_op_registrar.o ./ogr/swq_op_general.o ./ogr/ogr_srs_validate.o ./ogr/ogr_srs_xml.o ./ogr/ograssemblepolygon.o ./ogr/ogr2gmlgeometry.o ./ogr/gml2ogrgeometry.o ./ogr/ogr_expat.o ./ogr/ogrpgeogeometry.o ./ogr/ogrgeomediageometry.o ./ogr/ogr_geocoding.o ./ogr/osr_cs_wkt.o ./ogr/osr_cs_wkt_parser.o ./ogr/ogrgeomfielddefn.o ./ogr/ograpispy.o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.a   -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -Wl,--as-needed  -lcryptopp -larmadillo -lpodofo -lpoppler -lfreexl -L/usr/lib -lgeos_c -lwebp  -lsqlite3 -lodbc -lodbcinst -lkmldom -lkmlbase -lkmlengine -lkmlconvenience -lminizip -luriparser -lexpat -lxerces-c -lpthread -L/usr/lib -lopenjp2 -lnetcdf -lhdf5 -lmfhdf -ldf -L/usr/include -L/usr/include/lib -lgif -lpng -lcfitsio -L/opt/grass/lib -lgrass_vector -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_raster -lgrass_imagery -lgrass_gproj -lgrass_gmath -lgrass_gis -lgrass_datetime -L/usr/lib -lpq -llzma -lz -lpthread -lm -lrt -ldl  -lpcre   -lcurl   -L/usr/lib -lNCSEcw -lNCSEcwC -lNCSCnet -lNCSUtil          -lxml2 -lz -llzma -lm -ldl  -L/usr/lib  -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto -L/usr/lib -lkea -L/usr/lib -lhdf5 -lhdf5_hl -lhdf5_cpp  \
        -o /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so

is issued where the compilation hang and looping output of yes seems to occur.

While yes loops, a look in a tree-like rendered ps-output looks like (output of ps -e --cumulative --forest --headers --lines 60 k +comm -o "pid=----PID,size,%mem,%cpu,args=COMMAND----"):

----PID  SIZE %MEM %CPU COMMAND----
[...]
   5438  2132  0.0  7.1  \_ /bin/bash -l
   8356   540  0.0  0.2  |   \_ /bin/sh ./build.sh
   8358  2932  0.0 15.3  |       \_ /usr/bin/bash /sbin/makepkg -f
   3205  1372  0.0  7.3  |           \_ make
   5068 14352  0.2  1.9  |               \_ make /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.a /var/abs/local/own/gdal-custom/src/gdal-2.1.1/libgdal.so
   5073   424  0.0 87.0  |                   \_ yes
[...]

I use the following commands to build gdal (taken from the official Arch Linux PKGBUILD, and modified):

  export CFLAGS="$CFLAGS -fno-strict-aliasing"

# bug #23654
  export LDFLAGS="$LDFLAGS -Wl,--as-needed" 

  ./configure --enable-shared --disable-static --with-pic --with-gnu-ld --without-libtool --prefix=/usr \
              --with-ld-shared \
              --with-rename-internal-libtiff-symbols=yes --with-rename-internal-libgeotiff-symbols=yes \
              --with-netcdf=/usr --with-libtiff=internal --with-sqlite3 --with-geotiff \
              --with-mysql --with-python --with-curl=/usr/bin/curl-config --with-hdf5 --with-perl --with-geos \
              --with-png --with-poppler --with-spatialite=dlopen --with-spatialite-soname=/usr/lib/libspatialite.so --with-openjpeg=/usr \
              --with-libz --with-liblzma --with-pg=/usr/bin/pg_config --with-grass=/opt/grass --with-cfitsio --with-pcraster=internal --with-pcidsk=internal --with-jpeg=internal --with-gif=/usr/include --with-kea=/usr/bin/kea-config --with-jasper=no --without-fgdb --with-ecw=/usr --with-bsb --with-grib --with-gnm --with-mysql --with-expat=/usr --with-libkml --with-odbc --with-xml2=/usr/bin/xml2-config --with-webp --with-qhull=internal --with-freexl --with-libjson-c=internal --with-pam --with-podofo --without-php --with-java=/usr/lib/jvm/java-8-openjdk --with-jvm-lib-add-rpath=yes --with-armadillo --with-cryptopp
              
# workaround for bug #13646
  sed -i 's/PY_HAVE_SETUPTOOLS=1/PY_HAVE_SETUPTOOLS=/g' ./GDALmake.opt
  sed -i 's/EXE_DEP_LIBS/KILL_EXE_DEP_LIBS/' apps/GNUmakefile

  make
  make man

I attach the following additional information as files:

  • The complete PKGBUILD to build the package in the way the error occurs,
  • the log of stdout and stderr (combined) when configuring and building the package that way,
  • the log of stdout and stderr (combined) when configuring and succesfully building the package without --with-ld-shared.

Attachments (3)

PKGBUILD.with-ld-shared (4.5 KB) - added by dreieck 11 months ago.
PKGBUILD with --with-ld-shared.
makepkg.with-ld-shared.log.xz (32.6 KB) - added by dreieck 11 months ago.
Compile log (stdout and stderr) with '--with-ld-shared'.
makepkg.not-with-ld-shared.log.xz (72.3 KB) - added by dreieck 11 months ago.
Compile log (stdout and stderr) without '--with-ld-shared'.

Download all attachments as: .zip

Change History (8)

Changed 11 months ago by dreieck

Attachment: PKGBUILD.with-ld-shared added

PKGBUILD with --with-ld-shared.

Changed 11 months ago by dreieck

Compile log (stdout and stderr) with '--with-ld-shared'.

Changed 11 months ago by dreieck

Compile log (stdout and stderr) without '--with-ld-shared'.

comment:1 Changed 11 months ago by dreieck

Description: modified (diff)

comment:2 Changed 11 months ago by dreieck

Description: modified (diff)

comment:3 Changed 11 months ago by dreieck

Description: modified (diff)

comment:4 Changed 11 months ago by Even Rouault

As far as I understand m4/acinclude.m4, --with-ld-shared is not supported. Only --with-ld-shared=/path/to/binary or --without-ld-shared are.

comment:5 Changed 11 months ago by Even Rouault

Resolution: fixed
Status: newclosed

In 37079:

configure: error out if --with-ld-shared is specified (fixes #6769)

Note: See TracTickets for help on using tickets.