英文:
unable to build magick for golang
问题
我正在按照这个文档来构建Go Imagick库。
当我运行以下命令时:
go build -tags no_pkgconfig imagick
它会抛出以下异常:
# imagick
src/imagick/affine_matrix.go:8:29: fatal error: wand/MagickWand.h: 没有那个文件或目录
compilation terminated
为了解决这个问题,我也安装了以下包,因为很多人建议这样做来解决错误。但是它也没有起作用。
sudo apt-get install libmagickwand-dev libmagickcore-dev imagemagick
此外,当我运行go build imagick
时,它会抛出以下错误:
# imagick
could not determine kind of name for C.FlattenAlphaChannel
could not determine kind of name for C.RemoveAlphaChannel
运行pkg-config --cflags --libs MagickWand
的输出是正确的:
-fopenmp -I/usr/include/ImageMagick -lMagickWand -lMagickCore
ImageMagick只安装到了这个路径(/usr/include/ImageMagick)。
英文:
I am following this document for building the Go Imagick library.
When i ran the following command
go build -tags no_pkgconfig imagick
It throws the following exception :
# imagick
src/imagick/affine_matrix.go:8:29: fatal error: wand/MagickWand.h: No such file or directory
compilation terminated
Now to resolve that i have also installed the following packages as many people suggested to resolve the error. But it didn't work either.
sudo apt-get install libmagickwand-dev libmagickcore-dev imagemagick
Moreover, when i run go build imagick
It throws the following error :
# imagick
could not determine kind of name for C.FlattenAlphaChannel
could not determine kind of name for C.RemoveAlphaChannel
Output of pkg-config --cflags --libs MagickWand
gives the correct output
-fopenmp -I/usr/include/ImageMagick -lMagickWand -lMagickCore
ImageMagick is installed to this path(/usr/include/ImageMagick) only.
答案1
得分: 2
根据他们的文档提到,必须使用no_pkgconfig
标签,并手动设置GCO_CFLAGS
和CGO_LDFLAGS
。所以可以尝试以下方式:
export CGO_CFLAGS="$(pkg-config --cflags MagickWand)"
export CGO_LDFLAGS="$(pkg-config --libs MagickWand)"
go build -tags no_pkgconfig
英文:
Their docs mention that no_pkgconfig
must be used with manually set GCO_CFLAGS
and CGO_LDFLAGS
. So something like this should work:
export CGO_CFLAGS="$(pkg-config --cflags MagickWand)"
export CGO_LDFLAGS="$(pkg-config --libs MagickWand)"
go build -tags no_pkgconfig
答案2
得分: 1
根据问题跟踪器的#68,提到你正在使用一个过于旧的ImageMagick版本,该版本早于主分支测试过的版本。你的Linux发行版比当前可用的稳定版本要旧。
你应该手动安装一个更新的ImageMagick,并删除apt中的旧版本。或者使用一些允许你管理多个版本的解决方案。
英文:
As mentioned on #68 of the issue tracker, you are using way too old of a version of ImageMagick, which predates the versions that were tested for the master branch. Your Linux distro is older than the current available stable release.
You should manually install a newer ImageMagick, and remove the, one from apt. Or use some solution that allows you to manage multiple versions.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论