[Slackbuilds-users] gdal SlackBuild fails

Duncan Roe duncan_roe at acslink.net.au
Wed Mar 1 22:06:59 UTC 2017


This looks like an upstream bug.

The gdal SB initially fails  as below:

> running build_ext
> building 'osgeo._gdal' extension
> creating build/temp.linux-x86_64-2.7
> creating build/temp.linux-x86_64-2.7/extensions
> /bin/sh /tmp/SBo/gdal-2.1.3/libtool --mode=compile --tag=CC gcc -fno-strict-aliasing -g -O2 -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/usr/include/python2.7 -I/usr/lib64/python2.7/site-packages/numpy/core/include -I/tmp/SBo/gdal-2.1.3/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o
> libtool: compile:  gcc -fno-strict-aliasing -g -O2 -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/usr/include/python2.7 -I/usr/lib64/python2.7/site-packages/numpy/core/include -I/tmp/SBo/gdal-2.1.3/include -c extensions/gdal_wrap.cpp  -fPIC -DPIC -o build/temp.linux-x86_64-2.7/extensions/.libs/gdal_wrap.o
> cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
> In file included from /usr/include/python2.7/Python.h:133:0,
>                  from extensions/gdal_wrap.cpp:155:
> extensions/gdal_wrap.cpp: In function 'PyObject* _wrap_MajorObject_SetMetadata__SWIG_0(PyObject*, PyObject*)':
> /usr/include/python2.7/abstract.h:1354:62: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
>  #define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)
>                                                               ^
> extensions/gdal_wrap.cpp:9115:31: note: in expansion of macro 'PyMapping_Items'
>          PyObject *item_list = PyMapping_Items( obj1 );
>                                ^
> g++ -pthread -shared build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o -L../../.libs -L../../ -L/usr/lib64 -L/tmp/SBo/gdal-2.1.3/lib -lpython2.7 -lgdal -o build/lib.linux-x86_64-2.7/osgeo/_gdal.so
> g++: error: build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o: No such file or directory
> error: command 'g++' failed with exit status 1
> GNUmakefile:74: recipe for target 'build' failed
> make[2]: *** [build] Error 1
> make[2]: Leaving directory '/tmp/SBo/gdal-2.1.3/swig/python'
> GNUmakefile:30: recipe for target 'build' failed
> make[1]: *** [build] Error 2
> make[1]: Leaving directory '/tmp/SBo/gdal-2.1.3/swig'
> GNUmakefile:104: recipe for target 'swig-modules' failed
> make: *** [swig-modules] Error 2

On manually re-running make, it runs to completion.

However make install now fails identically.

The error above happens because gdal_wrap.o is in
build/temp.linux-x86_64-2.7/extensions/.libs (within
/tmp/SBo/gdal-2.1.3/swig/python).

build/temp.linux-x86_64-2.7/extensions contains gdal_wrap.lo:

> + cat gdal_wrap.lo
> # build/temp.linux-x86_64-2.7/extensions/gdal_wrap.lo - a libtool object file
> # Generated by libtool (GNU libtool) 2.4
> #
> # Please DO NOT delete this file!
> # It is necessary for linking the library.
>
> # Name of the PIC object.
> pic_object='.libs/gdal_wrap.o'
>
> # Name of the non-PIC object
> non_pic_object=none

That looks as if it ought to work I guess, but it doesn't.

I salvaged the build by:

> 08:40:26# cd build/temp.linux-x86_64-2.7/extensions
> 08:47:54# mv .libs/gdal_wrap.o .
> 08:48:22# rmdir .libs
> 08:48:30# ln -s . .libs
> 08:50:46# cd /tmp/SBo/gdal-2.1.3
> 08:50:57# make install DESTDIR=$PKG

then running the rest of the SB commands by hand. (I had run some of the
previous commands already, e.g. to set $PKG).

Do I need a newer version of ld or what?

Cheers ... Duncan.


More information about the SlackBuilds-users mailing list