[GRASS-dev] Secret to compiling GRASS 7 on Ubuntu 9.10?

Hi all,

I’ve been trying to compile and install GRASS 7 on Ubuntu 9.10. I am using the same methodology that has been successful for me with previous version of Ubuntu. I have been able to successfully make binaries with no errors, but I consistently get gdal/proj errors when I launch the gui. I have tried with the precompiled ubuntu binaries of GDAL/PROJ as well as building them from latest source (no errors). i’ve even tried the old “compile GDAL first without GRASS support, then compile GRASS, then redo GDAL with GRASS support” trick, and this does not work either. Here are the errors:

Welcome to GRASS 7.0.svn (2009)
GRASS homepage: http://grass.osgeo.org/
This version running through: Bash Shell (/bin/bash)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

To run a command as administrator (user “root”), use “sudo ”.
See “man sudo_root” for details.

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.gui wxpython

WARNING: Vector digitizer is not available (No module named grass7_wxvdigit).

Note that vector digitizer is currently not working under MS Windows (hopefully will be fixed soon). Please try more recent version of GRASS.
g.list: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
g.list: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > Traceback (most recent call last):
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 1641, in
sys.exit(main())
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 1634, in main
app = GMApp(workspaceFile)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 1558, in init
wx.App.init(self, False)
File “/usr/lib64/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py”, line 7978, in init
self._BootstrapApp()
File “/usr/lib64/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py”, line 7552, in _BootstrapApp
return core.PyApp__BootstrapApp(*args, **kwargs)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 1577, in OnInit
workspace = self.workspaceFile)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 186, in init
self.NewDisplay(show=False)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/wxgui.py”, line 1171, in NewDisplay
auimgr=self._auimgr, showMapDisplay=show)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/gui_modules/wxgui_utils.py”, line 108, in init
Map=self.Map, auimgr=self.auimgr)
File “/usr/local/grass7.0.svn-28_11_2009/etc/wxpython/gui_modules/mapdisp.py”, line 280, in init
self.MapWindow.ZoomHistory(self.Map.region[‘n’],
KeyError: ‘n’
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libgdal.so.1
libgdal.so: /usr/lib/libgdal.so.1 /usr/lib64/libgdal.so.1 /usr/local/lib/libgdal.so /usr/local/lib/libgdal.so.1
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.region -p
g.region: error while loading shared libraries: libproj.so.0: cannot open shared object file: No such file or directory
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libproj.so.0
libproj.so: /usr/lib/libproj.so.0 /usr/lib/libproj.so /usr/lib64/libproj.so.0 /usr/lib64/libproj.so

Clearly you can see that I have both libgdal.so.1 and libproj.so.0 installed in standard locations, and they are in the PATH.

Is there some trick to this on Ubuntu 9.10 that I am unaware of? Any help will be greatly appreciated!

Isaac I Ullah, M.A.

Archaeology PhD Student,
ASU School of Evolution and Social Change

Research Assistant,
Mediterranean Landscape Dynamics Project


isaac.ullah@asu.edu
ullah@archaeologist.com

http://www.public.asu.edu/~iullah


hi,
I have both GRASS65 and GRASS70 running on Ubuntu 9.10.

dpkg -l|grep libgdal
ii libgdal1-1.5.0 1.5.4-4
             Geospatial Data Abstraction Library
ii libgdal1-1.6.0 1.6.3-2~karmic1
             Geospatial Data Abstraction Library
ii libgdal1-1.6.0-grass 1.6.2-3~jaunty1
             GRASS extension for the GDAL library
ii libgdal1-dev 1.6.3-2~karmic1
             Geospatial Data Abstraction Library - Develo

dpkg -l|grep libproj
ii libproj-dev 4.7.0-2~karmic1
             Cartographic projection library (development
ii libproj0 4.7.0-2~karmic1
             Cartographic projection library

Did you take the libraries from the PPA?

Best,
Timmie

Isaac Ullah wrote:

   I've been trying to compile and install GRASS 7 on Ubuntu 9.10. I am
using the same methodology that has been successful for me with previous
version of Ubuntu. I have been able to successfully make binaries with no
errors, but I consistently get gdal/proj errors when I launch the gui. I
have tried with the precompiled ubuntu binaries of GDAL/PROJ as well as
building them from latest source (no errors). i've even tried the old
"compile GDAL first without GRASS support, then compile GRASS, then redo
GDAL with GRASS support" trick, and this does not work either. Here are the
errors:

Welcome to GRASS 7.0.svn (2009)
GRASS homepage: http://grass.osgeo.org/
This version running through: Bash Shell (/bin/bash)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.gui wxpython

WARNING: Vector digitizer is not available (No module named
grass7_wxvdigit).

Note that vector digitizer is currently not working under MS Windows
(hopefully will be fixed soon). Please try more recent version of GRASS.
g.list: error while loading shared libraries: libgdal.so.1: cannot open
shared object file: No such file or directory

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libgdal.so.1
libgdal.so: /usr/lib/libgdal.so.1 /usr/lib64/libgdal.so.1
/usr/local/lib/libgdal.so /usr/local/lib/libgdal.so.1
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.region -p
g.region: error while loading shared libraries: libproj.so.0: cannot open
shared object file: No such file or directory
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libproj.so.0
libproj.so: /usr/lib/libproj.so.0 /usr/lib/libproj.so
/usr/lib64/libproj.so.0 /usr/lib64/libproj.so

Clearly you can see that I have both libgdal.so.1 and libproj.so.0 installed
in standard locations, and they are in the PATH.

This is kind of clutching at straws, but:

1. Is /usr/lib64 listed in /etc/ld.so.conf?
2. Has "ldconfig" been run since the libraries were installed?

The loader doesn't scan the system directories looking for libraries;
it uses /etc/ld.so.cache, which is generated by ldconfig. If
ld.so.cache isn't up to date, libraries may not be found.

If you have "strace" installed, try:

  strace g.region -p

This will show all of the system calls which are being made, including
the loading of shared libraries. It may provide some clues as to what
is going wrong.

--
Glynn Clements <glynn@gclements.plus.com>

Thanks for the ideas. My ld.config.so only has one line: “include /etc/ld.so.conf.d/*.conf” . What else should it have? Can I just add “/usr/lib64” as a line? What would be the syntax? I ran ldconfig, and then tried again (make clean, make, make install), but it still does not work. Output of strace g.region -p is:

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > strace g.region -p
execve(“/usr/local/grass7.0.svn-28_11_2009/bin/g.region”, [“g.region”, “-p”], [/* 53 vars */]) = 0
[ Process PID=27695 runs in 32 bit mode. ]
brk(0) = 0xa03f000
access(“/etc/ld.so.nohwcap”, F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff77a6000
access(“/etc/ld.so.preload”, R_OK) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/sse2/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/sse2/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/sse2/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/sse2”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/i686”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/sse2/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/sse2/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/sse2/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/sse2”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/tls/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/tls”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/sse2/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/sse2/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/sse2/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/sse2”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/i686/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/i686”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/sse2/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/sse2/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/sse2/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/sse2”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/cmov/libgrass_gproj.so”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/local/grass7.0.svn-28_11_2009/lib/cmov”, 0xffd57808) = -1 ENOENT (No such file or directory)
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libgrass_gproj.so”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\354\30\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=58884, …}) = 0
mmap2(NULL, 35252, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff779d000
mmap2(0xf77a5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7) = 0xfffffffff77a5000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libgrass_vector.so”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\250\243\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=987215, …}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff779c000
mmap2(NULL, 289988, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff7755000
mmap2(0xf779a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45) = 0xfffffffff779a000
mmap2(0xf779b000, 3268, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfffffffff779b000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libgrass_g3d.so”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\34X\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=309592, …}) = 0
mmap2(NULL, 124880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff7736000
mmap2(0xf7754000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e) = 0xfffffffff7754000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libgrass_raster.so”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260n\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=428819, …}) = 0
mmap2(NULL, 150788, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff7711000
mmap2(0xf7735000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24) = 0xfffffffff7735000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libgrass_gis.so”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pv\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=505081, …}) = 0
mmap2(NULL, 201120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff76df000
mmap2(0xf770f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f) = 0xfffffffff770f000
mmap2(0xf7710000, 416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7710000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libm.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
open(“/etc/ld.so.cache”, O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=147519, …}) = 0
mmap2(NULL, 147519, PROT_READ, MAP_PRIVATE, 3, 0) = 0xfffffffff76ba000
close(3) = 0
access(“/etc/ld.so.nohwcap”, F_OK) = -1 ENOENT (No such file or directory)
open(“/lib32/libm.so.6”, O_RDONLY) = 3
read(3, “\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`4\0\0004\0\0\0”…, 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=149392, …}) = 0
mmap2(NULL, 151680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfffffffff7694000
mmap2(0xf76b8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xfffffffff76b8000
close(3) = 0
open(“/usr/local/grass7.0.svn-28_11_2009/lib/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
access(“/etc/ld.so.nohwcap”, F_OK) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/tls/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/tls”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/i686/cmov”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
open(“/lib32/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/i686”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
open(“/lib32/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib32/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib32”, {st_mode=S_IFDIR|0755, st_size=12288, …}) = 0
open(“/usr/lib32/tls/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/tls/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/tls”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/sse2”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
open(“/usr/lib32/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib32/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib32”, {st_mode=S_IFDIR|0755, st_size=69632, …}) = 0
open(“/lib/i486-linux-gnu/tls/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/tls/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/tls”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/lib/i486-linux-gnu/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/lib/i486-linux-gnu”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/tls/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/tls”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/i686/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/i686/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/i686/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/i686/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/i686/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/i686/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/i686/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/i686”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/sse2/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/sse2/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/sse2/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/sse2”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/cmov/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu/cmov”, 0xffd57760) = -1 ENOENT (No such file or directory)
open(“/usr/lib/i486-linux-gnu/libproj.so.0”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(“/usr/lib/i486-linux-gnu”, 0xffd57760) = -1 ENOENT (No such file or directory)
writev(2, [{“g.region”, 8}, {“: “, 2}, {“error while loading shared libra”…, 36}, {”: “, 2}, {“libproj.so.0”, 12}, {”: “, 2}, {“cannot open shared object file”, 30}, {”: “, 2}, {“No such file or directory”, 25}, {”\n”, 1}], 10g.region: error while loading shared libraries: libproj.so.0: cannot open shared object file: No such file or directory
) = 120
exit_group(127) = ?

On Mon, Dec 14, 2009 at 4:02 PM, Glynn Clements <glynn@gclements.plus.com> wrote:

Isaac Ullah wrote:

I’ve been trying to compile and install GRASS 7 on Ubuntu 9.10. I am
using the same methodology that has been successful for me with previous
version of Ubuntu. I have been able to successfully make binaries with no
errors, but I consistently get gdal/proj errors when I launch the gui. I
have tried with the precompiled ubuntu binaries of GDAL/PROJ as well as
building them from latest source (no errors). i’ve even tried the old
“compile GDAL first without GRASS support, then compile GRASS, then redo
GDAL with GRASS support” trick, and this does not work either. Here are the
errors:

Welcome to GRASS 7.0.svn (2009)
GRASS homepage: http://grass.osgeo.org/
This version running through: Bash Shell (/bin/bash)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

To run a command as administrator (user “root”), use “sudo ”.
See “man sudo_root” for details.

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.gui wxpython

WARNING: Vector digitizer is not available (No module named
grass7_wxvdigit).

Note that vector digitizer is currently not working under MS Windows
(hopefully will be fixed soon). Please try more recent version of GRASS.
g.list: error while loading shared libraries: libgdal.so.1: cannot open
shared object file: No such file or directory

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libgdal.so.1
libgdal.so: /usr/lib/libgdal.so.1 /usr/lib64/libgdal.so.1
/usr/local/lib/libgdal.so /usr/local/lib/libgdal.so.1
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > g.region -p
g.region: error while loading shared libraries: libproj.so.0: cannot open
shared object file: No such file or directory
GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > whereis libproj.so.0
libproj.so: /usr/lib/libproj.so.0 /usr/lib/libproj.so
/usr/lib64/libproj.so.0 /usr/lib64/libproj.so

Clearly you can see that I have both libgdal.so.1 and libproj.so.0 installed
in standard locations, and they are in the PATH.

This is kind of clutching at straws, but:

  1. Is /usr/lib64 listed in /etc/ld.so.conf?
  2. Has “ldconfig” been run since the libraries were installed?

The loader doesn’t scan the system directories looking for libraries;
it uses /etc/ld.so.cache, which is generated by ldconfig. If
ld.so.cache isn’t up to date, libraries may not be found.

If you have “strace” installed, try:

strace g.region -p

This will show all of the system calls which are being made, including
the loading of shared libraries. It may provide some clues as to what
is going wrong.


Glynn Clements <glynn@gclements.plus.com>


Isaac I Ullah, M.A.

Archaeology PhD Candidate,
ASU School of Evolution and Social Change

Research Assistant,
Mediterranean Landscape Dynamics Project


isaac.ullah@asu.edu
ullah@archaeologist.com

http://www.public.asu.edu/~iullah


Isaac Ullah wrote:

Thanks for the ideas. My ld.config.so only has one line: "include
/etc/ld.so.conf.d/*.conf" . What else should it have? Can I just add "
/usr/lib64" as a line? What would be the syntax?

I assume that it behaves as if ld.so.conf contained the result of
"cat /etc/ld.so.conf.d/*.conf", so look at what's in those files.

I ran ldconfig, and then
tried again (make clean, make, make install), but it still does not work.
Output of strace g.region -p is:

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > strace g.region -p

[snip]

Wow; 65 attempts and it still fails.

At a wild guess, I'd assume that it's a 32-bit/64-bit mismatch. The
output from strace suggests that it's looking for a 32-bit library,
but if proj is in /usr/lib64, I'd assume that it's a 64-bit library.

If it *requires* a 32-bit library and you only have a 64-bit library,
no amount of configuration will make it work. But I don't have a
64-bit system, so I'm not too familiar with the issues involved.

--
Glynn Clements <glynn@gclements.plus.com>

Oh boy… That seems like a pretty big issue… My configure options for grass have 64-bit enabled, so shouldn’t that set it up to look for all 64-bit architecture? The contents of /etc/ld.so.conf.d/ are libc.conf and x86_64-linux-gnu.conf. The firs contains “# libc default configuration \n/usr/local/lib”, and the second contains “# Multiarch support \n/lib/x86_64-linux-gnu \n/usr/lib/x86_64-linux-gnu”. No /usr/lib64 in either of them. Shall I try to add t hat as a line
in one of these files?

Cheers,

Isaac

On Fri, Dec 18, 2009 at 2:21 PM, Glynn Clements <glynn@gclements.plus.com> wrote:

Isaac Ullah wrote:

Thanks for the ideas. My ld.config.so only has one line: “include
/etc/ld.so.conf.d/*.conf” . What else should it have? Can I just add "
/usr/lib64" as a line? What would be the syntax?

I assume that it behaves as if ld.so.conf contained the result of
“cat /etc/ld.so.conf.d/*.conf”, so look at what’s in those files.

I ran ldconfig, and then
tried again (make clean, make, make install), but it still does not work.
Output of strace g.region -p is:

GRASS 7.0.svn (jordan_wgs84):~/grass_7_source/grass_trunk > strace g.region -p

[snip]

Wow; 65 attempts and it still fails.

At a wild guess, I’d assume that it’s a 32-bit/64-bit mismatch. The
output from strace suggests that it’s looking for a 32-bit library,
but if proj is in /usr/lib64, I’d assume that it’s a 64-bit library.

If it requires a 32-bit library and you only have a 64-bit library,
no amount of configuration will make it work. But I don’t have a
64-bit system, so I’m not too familiar with the issues involved.

Glynn Clements <glynn@gclements.plus.com>


Isaac I Ullah, M.A.

Archaeology PhD Candidate,
ASU School of Evolution and Social Change

Research Assistant,
Mediterranean Landscape Dynamics Project


isaac.ullah@asu.edu
ullah@archaeologist.com

http://www.public.asu.edu/~iullah



Isaac I Ullah, M.A.

Archaeology PhD Candidate,
ASU School of Evolution and Social Change

Research Assistant,
Mediterranean Landscape Dynamics Project


isaac.ullah@asu.edu
ullah@archaeologist.com

http://www.public.asu.edu/~iullah


Isaac Ullah wrote:

Oh boy... That seems like a pretty big issue... My configure options for
grass have 64-bit enabled, so shouldn't that set it up to look for all
64-bit architecture?

AFAICT, the --enable-64bit configure switch only affects AIX, HP-UX,
IRIX, and Solaris; it has no effect on Linux.

If you want 64-bit code and the compiler defaults to 32-bit, you
probably need to set CFLAGS explicitly before running configure.

The contents of /etc/ld.so.conf.d/ are libc.conf and
x86_64-linux-gnu.conf. The firs contains "# libc default configuration
\n/usr/local/lib", and the second contains "# Multiarch support
\n/lib/x86_64-linux-gnu \n/usr/lib/x86_64-linux-gnu". No /usr/lib64 in
either of them. Shall I try to add t hat as a line
in one of these files?

I would expect the existing files to be correct for anything which is
part of Ubuntu itself. If Ubuntu packages use /usr/lib64 and it's not
mentioned in /etc/ld.so.conf.d/*, then I'd assume that it's hardwired
into ldconfig (as is the case for /lib and /usr/lib).

--
Glynn Clements <glynn@gclements.plus.com>