problem with gdaltranform, libproj0, libproj9 in Opensuse 13.1

Hi

I have a problem with gdaltranform, libproj0, libproj9 in Opensuse 13.1. I verified it on a fresh install this morning.

  • Install Opensuse 13.1
  • Add opensuse geo repo
  • zypper in libproj gdal libproj-devel
  • zypper in libproj0
  • gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
    1 1
    -> sigsegv
  • Have a look at the „fresh install log“ below

The problem may not be easy to reproduce on a previously working system, it came up with some updates.

Short history
Two servers with geo-repo, gdal, … installed with opensuse 13.1.

Updated one server (afair end of april) -> problems with gdal in scripts using gdaltranform
Resolved problems by deinstall / new install of gdal and needed libs
Updated this server end of june -> problems with gdal
Can’t get it working again by deinstall / new install of gdal and needed libs

Looked on the other server. He has libproj 4.8.0-24.18 installed as libproj0 ( system package – don’t know where it comes from)
gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
1 1
works perfectly

installed new opensuse 13.1 (log below) in vm, installed updates
gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
1 1
fails

Any idea how to fix the problem?

fresh install log

linux-cust:~ # zypper refresh

All repositories have been refreshed.

zypper ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_13.1/ geo
zypper refresh

linux-cust:~ # zypper in libproj gdal
Loading repository data…
Reading installed packages…
‘libproj’ not found in package names. Trying capabilities.
Resolving package dependencies…

The following NEW packages are going to be installed:
gdal geos libfreexl1 libgdal1 libgeotiff2 libhdf5-9 libhdf5_hl9 libnetcdf7 libopenjp2-7 libpq5 libproj9 libspatialite7 proj unixODBC


zypper in libproj-devel
zypper in libproj0
gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
1 1
Speicherzugriffsfehler ~ Segmentation fault

linux-cust:~ # zypper se -s gdal
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
–±--------------------------±-----------±------------±-------±----------
i | gdal | package | 1.11.2-16.5 | x86_64 | geo
v | gdal | package | 1.11.2-16.5 | i586 | geo
| gdal | srcpackage | 1.11.2-16.5 | noarch | geo
| gdal | srcpackage | 1.11.2-14.1 | noarch | geo
| gdal-debuginfo | package | 1.11.2-16.5 | x86_64 | geo
| gdal-debuginfo | package | 1.11.2-16.5 | i586 | geo
| gdal-debugsource | package | 1.11.2-16.5 | x86_64 | geo
| gdal-debugsource | package | 1.11.2-16.5 | i586 | geo
| gdal-devel | package | 1.11.2-16.5 | x86_64 | geo
| gdal-devel | package | 1.11.2-16.5 | i586 | geo
| libgdal-grass | package | 1.11.0-3.41 | x86_64 | geo
| libgdal-grass | package | 1.11.0-3.41 | i586 | geo
| libgdal-grass | srcpackage | 1.11.0-3.41 | noarch | geo
| libgdal-grass-debuginfo | package | 1.11.0-3.41 | x86_64 | geo
| libgdal-grass-debuginfo | package | 1.11.0-3.41 | i586 | geo
| libgdal-grass-debugsource | package | 1.11.0-3.41 | x86_64 | geo
| libgdal-grass-debugsource | package | 1.11.0-3.41 | i586 | geo
i | libgdal1 | package | 1.11.2-16.5 | x86_64 | geo
v | libgdal1 | package | 1.11.2-16.5 | i586 | geo
| libgdal1-debuginfo | package | 1.11.2-16.5 | x86_64 | geo
| libgdal1-debuginfo | package | 1.11.2-16.5 | i586 | geo
| perl-gdal | package | 1.11.2-16.5 | x86_64 | geo
| perl-gdal | package | 1.11.2-16.5 | i586 | geo
| perl-gdal-debuginfo | package | 1.11.2-16.5 | x86_64 | geo
| perl-gdal-debuginfo | package | 1.11.2-16.5 | i586 | geo
| python-gdal | package | 1.11.2-16.5 | x86_64 | geo
| python-gdal | package | 1.11.2-16.5 | i586 | geo
| python-gdal-debuginfo | package | 1.11.2-16.5 | x86_64 | geo
| python-gdal-debuginfo | package | 1.11.2-16.5 | i586 | geo

linux-cust:~ # zypper se -s libproj
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
–±----------------------±--------±------------±-------±-----------------
i | libproj-devel | package | 4.9.1-20.4 | x86_64 | geo
v | libproj-devel | package | 4.8.0-7.1.4 | x86_64 | openSUSE-13.1-Oss
v | libproj-devel | package | 4.9.1-20.4 | i586 | geo
v | libproj-devel | package | 4.8.0-7.1.4 | i586 | openSUSE-13.1-Oss
i | libproj0 | package | 4.8.0-7.1.4 | x86_64 | openSUSE-13.1-Oss
v | libproj0 | package | 4.8.0-7.1.4 | i586 | openSUSE-13.1-Oss
i | libproj9 | package | 4.9.1-20.4 | x86_64 | geo
v | libproj9 | package | 4.9.1-20.4 | i586 | geo
| libproj9-debuginfo | package | 4.9.1-20.4 | x86_64 | geo
| libproj9-debuginfo | package | 4.9.1-20.4 | i586 | geo
| libprojectM-libvisual | package | 2.1.0-8.1.1 | x86_64 | openSUSE-13.1-Oss
| libprojectM-libvisual | package | 2.1.0-8.1.1 | i586 | openSUSE-13.1-Oss
| libprojectM-qt1 | package | 2.1.0-8.1.1 | x86_64 | openSUSE-13.1-Oss
| libprojectM-qt1 | package | 2.1.0-8.1.1 | i586 | openSUSE-13.1-Oss
| libprojectM2 | package | 2.1.0-8.1.1 | x86_64 | openSUSE-13.1-Oss
| libprojectM2 | package | 2.1.0-8.1.1 | i586 | openSUSE-13.1-Oss

linux-cust:~ # ulimit -c unlimited
linux-cust:~ # gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
1 1
Segmentation fault (core dumped)

linux-cust:~ # gdb /usr/bin/gdaltransform core

Core was generated by `gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857’.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f2a360ddca4 in pj_ctx_fopen () from /usr/lib64/libproj.so.9
(gdb) backtrace
#0 0x00007f2a360ddca4 in pj_ctx_fopen () from /usr/lib64/libproj.so.9
#1 0x00007f2a360da592 in pj_open_lib () from /usr/lib64/libproj.so.9
#2 0x00007f2a360e30bb in pj_gridinfo_init () from /usr/lib64/libproj.so.9
#3 0x00007f2a360e40b4 in pj_gridlist_from_nadgrids () from /usr/lib64/libproj.so.9
#4 0x00007f2a360dfb8e in pj_apply_gridshift_2 () from /usr/lib64/libproj.so.9
#5 0x00007f2a360e09d2 in pj_datum_transform () from /usr/lib64/libproj.so.9
#6 0x00007f2a32fcd1d3 in pj_transform () from /usr/lib64/libproj.so.0
#7 0x00007f2a3cbdb08d in OGRProj4CT::TransformEx(int, double*, double*, double*, int*) () from /usr/lib64/libgdal.so.1
#8 0x00007f2a3c92ed8b in GDALGenImgProjTransform () from /usr/lib64/libgdal.so.1
#9 0x000000000040192b in ?? ()
#10 0x00007f2a3bef8be5 in __libc_start_main () from /lib64/libc.so.6
#11 0x0000000000401e35 in ?? ()
(gdb)

I don’t know how helpful this is,
Instead of manually installing possible dependencies, I allowed zypper to select and install them which resulted in a much shorter list.

Unfortunately, when I then attempted to run a similar (and the same) gdaltransform command, my result was a hung process and never kicked an error. I assume then (possibly incorrectly, admittedly) that my procedure was probably better because it didn’t result in something obviously incorrect, but it’s still not a success.

Well, unless it takes a very long time to run the command and I haven’t waited long enough…
The machine I’m testing on is running a lightweight Desktop (XFCE) and 6GB of RAM.
And have been waiting over 15 minutes now for a result…

Too bad there isn’t some way to cause gdaltransform to write to stdout or something for debugging.

TSU

BTW -
Some additional info

If you decide to try using the “one click install” at http://software.opensuse.org
(The following is the 13.1 link)
https://software.opensuse.org/ymp/Application:Geo/openSUSE_13.1/gdal.ymp?base=openSUSE%3A13.1&query=gdal

You will need to <uncheck> the “Extras” repo because the repo is built incorrectly without repo info. You can inspect the location, it only includes some QEMU libraries for some unknown purpose, possibly to support a Vagrant deployment I see in the gdal documentation. Leaving the repo checked will cause your install to fail.

I suppose it’s possible to try building directly from source if you believe you can do it yourself, the gdal in the openSUSE repo seems to have been built by the gdal community/project and not by a third party. Or, you can try private party versions at software.opensuse.org instead of the official build

TSU

I shortened the install log to make it fit into the size limit.
on a newly installed opensuse with install of gdal through zypper gdaltranslate complains about a missing lib (libproj) . therefore I added it manually. the complete log would have shown that. i could put the log on pastebin or send it to you.

gdaltranslate expects/waits for input on stdin - in the log that input is shown by the line
1 1
after the command gdaltransform -s_srs EPSG:32632 -t_srs EPSG:3857
sorry for the missing hint in this case

Thanks for the info, on the servers i don’t use “one click install”.

the problem has been acknowIedged by another person, I contacted the geo repo maintainer and hope that he fixes it.
maybe I have to build gdal for myself tomorrow to be able to continue work but I would prefer to get it from the repo.

gdal in the repo has been fixed.
everything is fine again. thanks for the help.
thread can be closed

Cool, glad to hear word got to the gdal maintainers.

Pastebin is always an option and sometimes preferred but in this case was unnecessary because the logs contained “enough.”

TSU