Conversation
|
This worked for building grok locally: docker run -v ./grok:/tmp/grok -ti --rm debian:trixie /bin/bash
apt update && apt install wget cmake build-essential cmake-curses-gui exiftool libpsl-dev libjpeg62-turbo-dev pkg-config libcurl4-openssl-dev libtiff-dev libpng-dev liblcms2-dev libcli11-dev
wget https://github.com/GrokImageCompression/grok/archive/refs/tags/v20.0.4.zip
tar zxvf v20.0.4.zip
cd grok-20.0.4
cmake -E make_directory $PWD/build
cmake -S $PWD -B $PWD/build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DGRK_ENABLE_LIBCURL=ON -DGRK_BUILD_JPEG=OFF -DGRK_BUILD_LCMS2=OFF -DGRK_BUILD_LIBCURL=OFF -D GRK_BUILD_LIBTIFF=OFF -DBUILD_TESTING=OFF
cmake --build $PWD/build --config Release -j 8
. /etc/os-release
cmake -S $PWD -B $PWD/build -Wno-dev -D CPACK_GENERATOR:STRING=ZIP -D CPACK_PACKAGE_FILE_NAME:STRING=grok-$ID-$VERSION_CODENAME
cmake --build $PWD/build --config RELEASE --target packagethis outputs a zip called this is probably a good starting point for deb packaging |
|
These Debian build scripts might also be useful in conjunction with above: https://github.com/GrokImageCompression/grok/tree/debian/master/debian (note these are not in the current main branch) |
|
It looks like the S3-related tests also fail in github, so that's also something we'll need to look at. |
relevant HT PRs: * hathitrust/feed#95 * hathitrust/feed#172 grokj2k is available in the mlibrary apt repo
* use grokj2k from apt.lib.umich.edu * update arguments for grok - SOP and EPH were spelled out and shouldn't have been
The default seems to have changed with ImageMagick 7 for bitonal tiffs to use photometric interpretation BlackIsZero rather than (as we expect) WhiteIsZero.
2cb0e97 to
8045223
Compare
|
Regarding the failing tests: in S3->list_objects happens for me when awscli returns something like {
'RequestCharged' => undef,
'Prefix' => 'test.bmvblsso.20260211195011.mets.xml'
};and the Perl code tries to retrieve nonexistent last unless $result;
last unless $result->{Contents};There's a similar error in the storage_audit.t tests that displays the same behavior. ============= my $success = ! $?;
$self->safe_system($cmd);
# many lines of stufff.....
return $success;
}Is it checking the wait status before calling the |
…at lack a `Contents` field.
TODO: