[gdal-dev] gdal make fails for python bindings - with ccache: invalid option -- 'p'

Even Rouault even.rouault at spatialys.com
Thu Dec 14 09:34:22 PST 2017


Mark,

> gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall
> -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg
> -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps
> -I/home/mj10777/000_links/apps_local/libQt592/include/python3.4m
> -I/home/mj10777/000_links/apps_local/libQt592/lib/python3.4/site-packages/nu
> mpy/core/include
> -I/home/mj10777/000_links/gdal_dev/gdal.git/gdal/gdal/include -c
> gdal_python_cxx11_test.cpp -o gdal_python_cxx11_test.o
> cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for
> C/ObjC but not for C++
> gdal_python_cxx11_test.cpp:3:2: error: #error "C++11 required"
>  #error "C++11 required"

This message itself is OK. It is emitted even in situations where the bindings build 
successfully. It is the probing mechanism to know if -std=c++11 needs to be added. I tried to 
hide it. Worked on my environement but was found to break on others.

> 
> then after the message 'building 'osgeo._gdal' extension'
> 
> comes the 'ccache: invalid option -- 'p'' message and ends.
> (ccache version 3.1.9)

Do you know where this ccache invokation comes from ? Both libtool and non-libtool regular 
builds work for me with the python bindings

In Travis-CI, we even have builds with:
CC="ccache clang" CXX="ccache clang" ./configure --prefix=/usr --without-libtool--with-
python
and they work fine

> 
> I assume the 'WARNING: "CXX=/bin/bash' is the true cause, but really have
> no idea how to resolve this.

The following comment at the beginning of swig/python/setup.py might be relevant

# If CXX is defined in the environment, it will be used to link the .so
# but distutils will be confused if it is made of several words like 'ccache g++'
# and it will try to use only the first word.
# See https://lists.osgeo.org/pipermail/gdal-dev/2016-July/044686.html
# Note: in general when doing "make", CXX will not be defined, unless it is defined as
# an environment variable, but in that case it is the value of GDALmake.opt that
# will be set, not the one from the environment that started "make" !
# If no CXX environment variable is defined, then the value of the CXX variable
# in GDALmake.opt will not be set as an environment variable

> 
> I am using the same ./configure as always, and the error/warnings show only:
> 
> /bin/bash: ./config.rpath: No such file or directory
> config.status: WARNING:  'GDALmake.opt.in' seems to ignore the
> --datarootdir setting
> configure: WARNING: --with-libxml2 and --with-fgdb are both available.
> There might be some incompatibility between system libxml2 and the embedded
> copy within libFileGDBAPI
> 
> which I assume is not the cause, since this only occurs durring the swig
> portion.

Yes, that warning is about something completely different

Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20171214/5185df0b/attachment-0001.html>


More information about the gdal-dev mailing list