在FreeBSD上安装pidgin-2.3.0成功,现将安装过程中遇到的问题和解决方法记录下来,供大家参考。
1. 配置./configure 时出现错误
The msgfmt command is required to build libpurple. If it is installed
on your system, ensure that it is in your path. If it is not, install
GNU gettext to continue.
If you have msgfmt installed, but for some reason this error message
is still displayed, you have encountered what appears to be a bug in
third-party configure macros. Try setting the MSGFMT environment
variable to the absolute path to your msgfmt binary and trying
configure again, like this:
MSGFMT=/path/to/msgfmt ./configure ...
解决方法:
MSGFMT=/path/to/msgfmt ./configure
2. 编译过程中出现错误
========
In file included from ../../../../pidgin-2.3.0/libpurple/protocols/bonjour/jabber.c:23:
/usr/include/net/if.h:265: error: field `ifru_addr' has incomplete type
/usr/include/net/if.h:266: error: field `ifru_dstaddr' has incomplete type
/usr/include/net/if.h:267: error: field `ifru_broadaddr' has incomplete type
/usr/include/net/if.h:299: error: field `ifra_addr' has incomplete type
/usr/include/net/if.h:300: error: field `ifra_broadaddr' has incomplete type
/usr/include/net/if.h:301: error: field `ifra_mask' has incomplete type
/usr/include/net/if.h:368: error: field `addr' has incomplete type
/usr/include/net/if.h:369: error: field `dstaddr' has incomplete type
gmake[5]: *** [jabber.lo] Error 1
gmake[5]: Leaving directory `/usr/home/porter/src/work/libpurple/protocols/bonjour'
gmake[4]: *** [all-recursive] Error 1
gmake[4]: Leaving directory `/usr/home/porter/src/work/libpurple/protocols'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/home/porter/src/work/libpurple'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/home/porter/src/work/libpurple'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/porter/src/work'
gmake: *** [all] Error 2
========
解决方法:
修改jabber.c
在22行后增加两行:
24 #include < sys / socket.h >
从原来的:
23 #include < net / if .h >
24 #include < sys / ioctl.h >
25 #include < sys / socket.h >
26 #include < netinet / in .h >
27 #include < arpa / inet.h >
28 #else
29 #include " libc_interface.h "
30 #endif
31 #include < sys / types.h >
32 #include < glib.h >
33 #include < unistd.h >
34 #include < fcntl.h >
修改为:
23 #include < sys / types.h >
24 #include < sys / socket.h >
25 #include < net / if .h >
26 #include < sys / ioctl.h >
27 #include < sys / socket.h >
28 #include < netinet / in .h >
29 #include < arpa / inet.h >
30 #else
31 #include " libc_interface.h "
32 #endif
33 #include < sys / types.h >
34 #include < glib.h >
35 #include < unistd.h >
36 #include < fcntl.h >
3. 编译错误
Making all in po
gmake[2]: Entering directory `/usr/home/porter/src/work/po'
file=`echo af | sed 's,.*/,,'`.gmo /
&& rm -f $file && -o $file ../../pidgin-2.3.0/po/af.po
-o: not found
gmake[2]: *** [af.gmo] Error 127
gmake[2]: Leaving directory `/usr/home/porter/src/work/po'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/porter/src/work'
gmake: *** [all] Error 2
重新配置。
# MSGFMT=/usr/local/bin/msgfmt GMSGFMT=/usr/local/bin/msgfmt ./configure --disable-doxygen
以上3个错误的原因,等整理好之后会尽快贴出来的。