[GRASS-dev] error when compiling grass with pdal

Hi devs,

I am trying to compile grass with pdal. My system is Ubuntu 18.04, grass 7.7.svn (r73901), pdal 1.8.0 (git-version: dfface).

When trying to compile with

--with-pdal=/usr/local/bin/pdal-config

I get the following error message:

Errors in:
/home/paulo/Software/Linux/grass7/trunk/vector/v.in.pdal
--

When running make in the v.in.pdal folder, I get:

make
if [ "/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal" != "" ] ; then GISRC=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/demolocation/.grassrc77 GISBASE=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/etc/python:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C /home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal --html-description < /dev/null | grep -v '</body>\|</html>' > v.in.pdal.tmp.html ; fi
/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal: error while loading shared libraries: libpdal_base.so.7: cannot open shared object file: No such file or directory
../../include/Make/Html.make:14: recipe for target 'v.in.pdal.tmp.html' failed
make: *** [v.in.pdal.tmp.html] Error 1
rm v.in.pdal.tmp.html

Any idea what I am doing wrong?

Cheers,

Paulo

Hi,

Am Mi., 2. Jan. 2019, 14:58 hat Paulo van Breugel <p.vanbreugel@gmail.com> geschrieben:

Hi devs,

I am trying to compile grass with pdal. My system is Ubuntu 18.04, grass 7.7.svn (r73901), pdal 1.8.0 (git-version: dfface).

When trying to compile with

--with-pdal=/usr/local/bin/pdal-config

I get the following error message:

Errors in:
/home/paulo/Software/Linux/grass7/trunk/vector/v.in.pdal
--

When running make in the v.in.pdal folder, I get:

make
if [ "/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal" != "" ] ; then GISRC=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/demolocation/.grassrc77 GISBASE=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/etc/python:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C /home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal --html-description < /dev/null | grep -v '</body>\|</html>' > v.in.pdal.tmp.html ; fi
/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal: error while loading shared libraries: libpdal_base.so.7: cannot open shared object file: No such file or directory
../../include/Make/Html.make:14: recipe for target 'v.in.pdal.tmp.html' failed
make: *** [v.in.pdal.tmp.html] Error 1
rm v.in.pdal.tmp.html

Any idea what I am doing wrong?

In case you updated PDAL, did you run

sudo ldconfig

?

Markus

Cheers,

Paulo


grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev

Hi Markus

Thanks for your reply. It was the first time I compiled. Running sudo ldconfig did not help. When running export LD_LIBRARY_PATH=“/usr/local/lib:$LD_LIBRARY_PATH” first, grass compiles without errors with pdal (mentioned in https://trac.osgeo.org/grass/ticket/2732). (so I guess I am doing something wrong on the ldconfig part).

When trying to run v.in.pdal, however, I get the following:

v.in.pdal

v.in.pdal: error while loading shared libraries: libpdal_base.so.5: cannot open shared object file: No such file or directory

After creating symlinks libpdal_base.so.5 pointing to libpdal_base.so.7 and libpdal_utils.so.5 pointing to libpdal_utils.so.7, I can open the v.in.pdal window, but when trying to run (e.g., importing the demo data from https://grasswiki.osgeo.org/wiki/Processing_lidar_and_UAV_point_clouds_in_GRASS_GIS_(workshop_at_FOSS4G_Boston_2017)#Addons)) I am getting a segmentation fault:

v.in.pdal input=/home/paulo/Desktop/nc_tile_0793_016_spm.las output=test2
Running PDAL algorithms...
Segmentation fault (core dumped)

Any ideas how to solve this?

···

On 1/2/19 3:26 PM, Markus Neteler wrote:

Hi,

Am Mi., 2. Jan. 2019, 14:58 hat Paulo van Breugel <p.vanbreugel@gmail.com> geschrieben:

Hi devs,

I am trying to compile grass with pdal. My system is Ubuntu 18.04, grass 7.7.svn (r73901), pdal 1.8.0 (git-version: dfface).

When trying to compile with

--with-pdal=/usr/local/bin/pdal-config

I get the following error message:

Errors in:
/home/paulo/Software/Linux/grass7/trunk/vector/v.in.pdal
--

When running make in the v.in.pdal folder, I get:

make
if [ "/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal" != "" ] ; then GISRC=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/demolocation/.grassrc77 GISBASE=/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/etc/python:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/scripts:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C /home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal --html-description < /dev/null | grep -v '</body>\|</html>' > v.in.pdal.tmp.html ; fi
/home/paulo/Software/Linux/grass7/trunk/dist.x86_64-pc-linux-gnu/bin/v.in.pdal: error while loading shared libraries: libpdal_base.so.7: cannot open shared object file: No such file or directory
../../include/Make/Html.make:14: recipe for target 'v.in.pdal.tmp.html' failed
make: *** [v.in.pdal.tmp.html] Error 1
rm v.in.pdal.tmp.html

Any idea what I am doing wrong?

In case you updated PDAL, did you run

sudo ldconfig

?

Markus

Cheers,

Paulo


grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev

On 1/2/19 3:48 PM, Paulo van Breugel wrote:

After creating symlinks libpdal_base.so.5 pointing to libpdal_base.so.7
and libpdal_utils.so.5 pointing to libpdal_utils.so.7, I can open the

Don't do this. The SOVERSION changed to reflect the ABI change. If the
libraries remained compatible it wouldn't have bumped their SONAME.

Any ideas how to solve this?

Find out where you have PDAL installed, it seems you have at least two
installations. Remove the one you don't use, and fix ld.so.conf to
include the paths to your self-built one.

If you install your self-built PDAL, it should use paths that are used
by ldconfig (as configured in /etc/ld.so.conf.d/*.conf) unless you use
an unusual prefix (not /usr/local nor /usr). If you use /opt as prefix
for example, you'll need to add /opt/lib to the ld.so.conf configuration.

Kind Regards,

Bas

--
GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146 50D1 6750 F10A E88D 4AF1

On 1/2/19 4:10 PM, Sebastiaan Couwenberg wrote:

On 1/2/19 3:48 PM, Paulo van Breugel wrote:

After creating symlinks libpdal_base.so.5 pointing to libpdal_base.so.7
and libpdal_utils.so.5 pointing to libpdal_utils.so.7, I can open the

Don't do this. The SOVERSION changed to reflect the ABI change. If the
libraries remained compatible it wouldn't have bumped their SONAME.

Any ideas how to solve this?

Find out where you have PDAL installed, it seems you have at least two
installations. Remove the one you don't use, and fix ld.so.conf to
include the paths to your self-built one.

If you install your self-built PDAL, it should use paths that are used
by ldconfig (as configured in /etc/ld.so.conf.d/*.conf) unless you use
an unusual prefix (not /usr/local nor /usr). If you use /opt as prefix
for example, you'll need to add /opt/lib to the ld.so.conf configuration.

Thanks, that was it, I had uninstalled a previous pdal version (installed via Ubuntu repository), but some configuration files remained it seems. Cleaning it all up did the trick, thanks!

Kind Regards,

Bas