imei: Illegal instruction in Docker

          Is the imei6.10 working for you?
$ identify --version
Version: ImageMagick 7.1.1-15 Q16-HDRI x86_64 98eceff6a:20230729 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps raqm raw rsvg tiff webp wmf x xml zip zlib
Compiler: gcc (11.4)

$ identify /usr/share/yelp/icons/hicolor/16x16/status/yelp-page-ui.png
Illegal instruction (core dumped)
  • I’ve build (with docker) twice, and twice I’m getting the above.
  • I then revert to v7.1.1-15-imei6.9.0 and it works fine,
  • I then reinstall v7.1.1-15-imei6.10.1 and it core dumped again.

Tested under Ubuntu 22.04.2 LTS.

If you want, I can post the links to my built packages so that you can take a look / try at your side as well.

_Originally posted by @suntong in https://github.com/SoftCreatR/imei/issues/92#issuecomment-1703997596_

About this issue

  • Original URL
  • State: closed
  • Created 10 months ago
  • Comments: 20 (7 by maintainers)

Most upvoted comments

so that the new 6.10.4 should be correct.

Yes! verified just now.

My (heavily stripped) pre-built binary that have proven to be working under both ubuntu:22.04 and Debian GNU/Linux 12 (bookworm) is available at imei-imagemagick_7.1.1-20-imei6.10.3_amd64.deb BTW, FTA.

To use it directly from repo, check out here.

thanks for looking into it. the Dockerfile is here. The basic logic is:

ARG BASE_IMAGE=ubuntu:20.04
FROM ${BASE_IMAGE}

ARG t=/tmp/imei.sh # $(mktemp)
ARG p="--use-checkinstall --build-only --skip-aom --skip-jpeg-xl"

RUN wget 'https://dist.1-2.dev/imei.sh' -qO "$t"
RUN --mount=type=cache,target=/var/cache/apt bash "$t" $p || true && ls -l /usr/local/src/ || true

I wasn’t expecting such weird error either, maybe I’ll make it multi-stage build

  • build the .deb in on layer
  • and copy the built .deb into another layer
  • and do the installation & verification there.

The built .deb files are: