<div dir="ltr"><div>Hi,</div><div><br></div><div>perhaps you don't have to use zstd, just configure grass with --without-zstd, GRASS will then use different compression.</div><div>Alternatively you would have to build it locally, not sure how difficult that is.</div><div><br></div><div>Anna</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 20, 2020 at 10:56 AM Massimiliano Alvioli <<a href="mailto:nocharge@gmail.com">nocharge@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
I have a question about installing 7.9 on a remote machine, in which I<br>
do not have superuser privileges (galileo@CINECA) - thus I can't<br>
install zstd packages. I downloaded zstd v1.45 from github, unpacked<br>
it, and realized this library is not so "standard", meaning that users<br>
are not supposed to compile it and place it in some location (in an<br>
easy way, at least: there is no configure script in there). This means<br>
that configuring GRASS with the following flags:<br>
<br>
    --with-zstd \<br>
    --with-zstd-includes=/galileo/home/userexternal/malvioli/local/zstd/lib \<br>
    --with-zstd-libs=/galileo/home/userexternal/malvioli/local/zstd/lib<br>
<br>
does not work. Note that I used zstd/lib as "include" folder because<br>
zstd.h happens to be there; there is no include folder in the source<br>
tree whatsoever. By "does not work" I mean that compiling GRASS would<br>
give zillions of:<br>
<br>
/galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/<a href="http://libgrass_gis.7.9.so" rel="noreferrer" target="_blank">libgrass_gis.7.9.so</a>:<br>
undefined reference to `ZSTD_isError'<br>
/galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/<a href="http://libgrass_gis.7.9.so" rel="noreferrer" target="_blank">libgrass_gis.7.9.so</a>:<br>
undefined reference to `ZSTD_decompress'<br>
/galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/<a href="http://libgrass_gis.7.9.so" rel="noreferrer" target="_blank">libgrass_gis.7.9.so</a>:<br>
undefined reference to `ZSTD_compress'<br>
/galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/<a href="http://libgrass_gis.7.9.so" rel="noreferrer" target="_blank">libgrass_gis.7.9.so</a>:<br>
undefined reference to `ZSTD_getErrorName'<br>
/galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/<a href="http://libgrass_gis.7.9.so" rel="noreferrer" target="_blank">libgrass_gis.7.9.so</a>:<br>
undefined reference to `ZSTD_compressBound'<br>
<br>
errors. Instructions on zstandard's github page say:<br>
<br>
"Presuming a project needs to integrate libzstd's source code (as<br>
opposed to linking a pre-compiled library), the /lib source directory<br>
can be copy/pasted into target project. Then the local build system<br>
must setup a few include directories. Some setups are automatically<br>
provided in prepared build scripts, such as Makefile, but any other<br>
3rd party build system must do it on its own.<br>
This integration is now simplified, thanks to @felixhandte, by making<br>
all dependencies within /lib relative, meaning it’s only necessary to<br>
setup include directories for the *.h header files that are directly<br>
included into target project (typically zstd.h). Even that task can be<br>
circumvented by copy/pasting the *.h into already established include<br>
directories."<br>
<br>
I do not understand anything of that - any help is really appreciated.<br>
<br>
<br>
M<br>
_______________________________________________<br>
grass-user mailing list<br>
<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/grass-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/grass-user</a></blockquote></div></div>