无法为golang建造魔法

时间:2016-01-13 10:46:05

标签: go imagemagick magickwand

我正在关注此document来构建Go Imagick库。

当我运行以下命令时

go build -tags no_pkgconfig imagick

抛出以下异常:

# imagick
src/imagick/affine_matrix.go:8:29: fatal error: wand/MagickWand.h: No such file or directory
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)上。

2 个答案:

答案 0 :(得分:1)

他们的文档mention no_pkgconfig必须与手动设置GCO_CFLAGSCGO_LDFLAGS一起使用。所以这样的事情应该有效:

export CGO_CFLAGS="$(pkg-config --cflags MagickWand)"
export CGO_LDFLAGS="$(pkg-config --libs MagickWand)"
go build -tags no_pkgconfig

答案 1 :(得分:1)

如问题跟踪器的#68所述,您使用的ImageMagick版本太旧了,它早于为主分支测试的版本。您的Linux发行版早于当前可用的稳定版本。

您应手动安装较新的ImageMagick,并从apt中删除一个。或者使用一些允许您管理多个版本的解决方案。