[GRASS-user] Compiling GRASS 7.9 using zstandard source

Anna Petrášová kratochanna at gmail.com
Tue Sep 29 19:56:33 PDT 2020


Hi,

perhaps you don't have to use zstd, just configure grass with
--without-zstd, GRASS will then use different compression.
Alternatively you would have to build it locally, not sure how difficult
that is.

Anna

On Sun, Sep 20, 2020 at 10:56 AM Massimiliano Alvioli <nocharge at gmail.com>
wrote:

> Hi all,
>
> I have a question about installing 7.9 on a remote machine, in which I
> do not have superuser privileges (galileo at CINECA) - thus I can't
> install zstd packages. I downloaded zstd v1.45 from github, unpacked
> it, and realized this library is not so "standard", meaning that users
> are not supposed to compile it and place it in some location (in an
> easy way, at least: there is no configure script in there). This means
> that configuring GRASS with the following flags:
>
>     --with-zstd \
>
> --with-zstd-includes=/galileo/home/userexternal/malvioli/local/zstd/lib \
>     --with-zstd-libs=/galileo/home/userexternal/malvioli/local/zstd/lib
>
> does not work. Note that I used zstd/lib as "include" folder because
> zstd.h happens to be there; there is no include folder in the source
> tree whatsoever. By "does not work" I mean that compiling GRASS would
> give zillions of:
>
>
> /galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/
> libgrass_gis.7.9.so:
> undefined reference to `ZSTD_isError'
>
> /galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/
> libgrass_gis.7.9.so:
> undefined reference to `ZSTD_decompress'
>
> /galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/
> libgrass_gis.7.9.so:
> undefined reference to `ZSTD_compress'
>
> /galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/
> libgrass_gis.7.9.so:
> undefined reference to `ZSTD_getErrorName'
>
> /galileo/home/userexternal/malvioli/local/grass-7.9.0/dist.x86_64-pc-linux-gnu/lib/
> libgrass_gis.7.9.so:
> undefined reference to `ZSTD_compressBound'
>
> errors. Instructions on zstandard's github page say:
>
> "Presuming a project needs to integrate libzstd's source code (as
> opposed to linking a pre-compiled library), the /lib source directory
> can be copy/pasted into target project. Then the local build system
> must setup a few include directories. Some setups are automatically
> provided in prepared build scripts, such as Makefile, but any other
> 3rd party build system must do it on its own.
> This integration is now simplified, thanks to @felixhandte, by making
> all dependencies within /lib relative, meaning it’s only necessary to
> setup include directories for the *.h header files that are directly
> included into target project (typically zstd.h). Even that task can be
> circumvented by copy/pasting the *.h into already established include
> directories."
>
> I do not understand anything of that - any help is really appreciated.
>
>
> M
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20200929/b3b96cea/attachment.html>


More information about the grass-user mailing list