2012-05-10 6 views
0

wgetのビルドに問題があります。ここでは簡潔GnuTLSでwgetをビルドしますか?

host=i686-w64-mingw32 
prefix=/usr/i686-w64-mingw32/sys-root/mingw 

# Install gmp 
./configure --host=$host --prefix=$prefix 
make install 

# Install nettle 
./configure --host=$host --prefix=$prefix 
make install AR=$host-ar 

# Install GnuTLS 
./configure --host=$host --prefix=$prefix --disable-shared 
make install 

# Install Wget 
./configure --host=$host --prefix=$prefix --disable-ipv6 
make install 

エラーのためにトリミングされた私の現在の呪文は、wget

/usr/i686-w64-mingw32/sys-root/mingw/lib/libgnutls.a(base64.o): In function `base64_encode': 
/home/Steven/gnutls-3.0.19/gl/base64.c:69: multiple definition of `_base64_encode' 
utils.o:utils.c:(.text+0x49b0): first defined here 
collect2: ld returned 1 exit status 
+1

おそらく、古いオブジェクトコードがあるかもしれません。 'make clean'を実行し、表示されている* .oファイルを削除してから、もう一度やり直してください。また、上記の4つのコンパイルのうち、エラーで失敗したものは何も言わないでください(エラーになります、私はGnuTLSと仮定しています - つまり、wgetはこの質問とは関係ありません)。 –

+0

私が提案したものを試しましたか? –

答えて

0

multiple definitionエラーがbase64_encodeが複数回定義されているので何が起こっていると、最終的なmake installにされています。

// wget-1.13.4/src/utils.c 
int 
base64_encode (const void *data, int length, char *dest) 

// gnutls-3.0.19/gl/base64.c 
void 
base64_encode (const char *restrict in, size_t inlen, 
       char *restrict out, size_t outlen) 

この問題は、GnuTLS 3.0.13で導入されました。バージョン3.0.12を使用して私の問題を解決しました。

ftp.gnu.org/gnu/gnutls

関連する問題