chai2010 / webp

WebP decoder and encoder for Go (Zero Dependencies).
http://godoc.org/github.com/chai2010/webp
BSD 3-Clause "New" or "Revised" License
522 stars 88 forks source link

Works on MacOS, but doesn't work on CoreOS #2

Closed kamoljan closed 10 years ago

kamoljan commented 10 years ago

Error when run go build:

 # github.com/chai2010/webp/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc.o: In function `GetPSNR':
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/./enc/picture_psnr.c:60: undefined reference to `log'
 /tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc.o: In function `WebPPictureDistortion':
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/./enc/picture_psnr.c:137: undefined reference to `log10'
/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_dsp_lossless.o: In function `FastSLog2Slow':
 /home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/dsp/lossless.c:358: undefined reference to `log'
/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_dsp_lossless.o: In function `FastLog2Slow':
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/dsp/lossless.c:383: undefined reference to `log'
/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc_frame.o: In function `GetPSNR':
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/frame.c:521: undefined reference to `log10'
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/frame.c:521: undefined reference to `log10'
/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc_picture_csp.o: In function `InitGammaTables':
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/picture_csp.c:110: undefined reference to `pow'
/home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/picture_csp.c:114: undefined reference to `pow'
/tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc_quant.o: In function `QualityToCompression':
 /home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/quant.c:297: undefined reference to `pow'
 /tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc_quant.o: In function `VP8SetSegmentParams':
 /home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/quant.c:373: undefined reference to `pow'
 /tmp/go-build901091022/github.com/chai2010/webp/_obj/webp_enc_webpenc.o: In function `GetPSNR':
 /home/kamol/go/gocode/src/github.com/chai2010/webp/./libwebp/src/enc/webpenc.c:254: undefined reference to `log10'

OS(CoreOS) Version

 $ cat /etc/issue
 Fedora release 20 (Heisenbug)

Go Version

 $ go version
 go version devel +6acc2dd545b2 Thu Jul 31 12:55:40 2014 +0400 linux/amd64

Libwebp Version 0.4.0

kamoljan commented 10 years ago

@chai2010 let me pull (update libwebp to 0.4.1) and try it on my mac

kamoljan commented 10 years ago

@chai2010 I have pulled the your latest code which updated libwebp to 0.4.1. It works on MacOS without any issue. However, on CoreOS it gives the same error.

kamoljan commented 10 years ago

It has the same issue on Amazon Linux AMI either.

$ cat /etc/issue
Amazon Linux AMI release 2014.03

$ uname -a
Linux ip-10-130-183-171 3.10.48-55.140.amzn1.x86_64 #1 SMP Wed Jul 9 23:32:19 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
chai2010 commented 10 years ago

You can try add "LDFLAGS: -lm" for linux (webp/capi.go):

/*

cgo CFLAGS: -I./libwebp/include -I./libwebp/src

cgo linux LDFLAGS: -lm

include "webp.h"

*/

chai2010 commented 10 years ago

fixed