交叉编译ldap

交叉编译sasl:

1:tar -zxvf cyrus-sasl-2.1.22.tar.gz

2:cd cyrus-sasl-2.1.22

3:env CC=powerpc-linux-uclibc-gcc

4:env CC=powerpc-linux-uclibc-gcc ./configure --prefix=/usr/local/sasl2/ --host=powerpc

交叉编译ldap:

1tar -zxvf openldap-stable-20090411.tgz

2cd openldap-2.4.16

3:env CC=powerpc-linux-uclibc-gcc

4:env CC=powerpc-linux-uclibc-gcc CPPFLAGS="-I/usr/local/bdb/include" LDFLAGS="-L/usr/local/bdb/lib" ./configure  --prefix=/usr/local/ldap --disable-ipv6  --host=powerpc --with-yielding_select=yes

5:make depend

6:make

  发现这个问题:

 

/home/zhj/openldap-2.4.16/libraries/libldap_r/result.c:960: undefined reference to `lutil_memcmp'

collect2: ld returned 1 exit status

解决方法:
在/home/zhj/openldap-2.4.16/include/ac/string.h中注释92-95行
/*#ifdef NEED_MEMCMP_REPLACEMENT
        int (lutil_memcmp)(const void *b1, const void *b2, size_t len);
#define memcmp lutil_memcmp
#endif*/
重新执行4~6,错误消失。

 

7:make test   太慢了可以省略。

8:make install -i ,忽略安装期间的错误。

你可能感兴趣的:(linux)