Lafeng / deblocus

An Excellent Proxy.
MIT License
185 stars 42 forks source link

尝试编译32位版本时出现错误 #36

Closed gachoyi closed 8 years ago

gachoyi commented 8 years ago

github.com/Lafeng/deblocus/crypto

src/github.com/Lafeng/deblocus/crypto/aes_native.go:37: NewAESEncrypter redeclared in this block previous declaration at src/github.com/Lafeng/deblocus/crypto/aes_native.go:24

github.com/cloudflare/golibs/bytepool

src/github.com/cloudflare/golibs/bytepool/bytepool.go:28: constant 4294967295 overflows int src/github.com/cloudflare/golibs/bytepool/bytepool.go:29: constant 4294967295 overflows int

编译环境: go version go1.5.1 linux/386 gcc (Debian 4.9.2-10) 4.9.2 Linux debian32 3.16.0-4-586 #1 Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) i686 GNU/Linux

vickery commented 8 years ago

先解释这2个错误, 第一个错误是一个疏忽,在 https://github.com/Lafeng/deblocus/commit/e064a01c1fa081f4b5c8935ac660c22c4e2db608 中修复了。 第二个错误是bytepool中用了int<maxuin32比较大小,这在64bit下是正确的,32bit下溢出。

deblocus和引用的lib都未针对x86 32bit模式优化,即使可以编译通过也不是最优状态,32bit x86模式已经退伍了,还是建议升级到64bit debian.

如果非要跑32bit,先checkout最新的dev分支,然后手都修改src/github.com/cloudflare/golibs/bytepool/bytepool.go 28,29行MaxUint32为0xFffFFff

gachoyi commented 8 years ago

因为vps上装了挺多东西的,所以想能不能编译32位。 我会尝试修改再编译一下。不行就只能重装了。 谢啦