我已经在终端中运行了它。
git clone git://libmtp.git.sourceforge.net/gitroot/libmtp/libmtp
cd libmtp
./autogen.sh
(所有问题均回答是)
但是当我尝试运行./configure --prefix=/usr/
我收到此错误:
checking whether to build static libraries... yes
./configure: line 11739: AC_LIB_PREPARE_PREFIX: command not found
./configure: line 11740: AC_LIB_RPATH: command not found
./configure: line 11745: syntax error near unexpected token `iconv'
./configure: line 11745: ` AC_LIB_LINKFLAGS_BODY(iconv)'
我已经构建并安装libiconv
了这里。
我怎样才能解决这个问题?
配置文件中的第 11739 至 11745 行如下所示:
AC_LIB_PREPARE_PREFIX
AC_LIB_RPATH
AC_LIB_LINKFLAGS_BODY(iconv)
答案1
我最终从这里获得了 tarballhttp://sourceforge.net/projects/libmtp/files/libmtp/1.1.4/libmtp-1.1.4.tar.gz/download
然后包就顺利编译了。
已安装 iconv 和 gettext,如 GNU 站点上所述。
答案2
apt-get install gettext
./autogen.sh # this is the critical bit
./configure
make
答案3
嗯... 好像 iconv 安装有问题。你能看看这个文件并搜索“iconv.m4”?其中有一小节介绍如何将其与自动工具一起使用。
另外,你确定 gettext 已经安装了吗?(应该是)
sudo apt-get install gettext
否则。
答案4
好吧,我为此奋斗了几个小时,所以我想分享一下我为构建 libmtp 的 git install 所做的事情。
秘诀是确保遵循 GNU libiconv 页面上的所有说明:
http://www.gnu.org/software/libiconv/
具体来说:
首先是 libiconv,然后是 gettext,然后再次是 libiconv,
这让 libmtp 的配置脚本运行起来,但它没有发现 iconv 可用。因此在 make 过程中你会得到类似这样的结果:
libmtp.c: In function 'LIBMTP_Open_Raw_Device_Uncached':
libmtp.c:1854:17: error: 'PTPParams' has no member named 'cd_locale_to_ucs2'
libmtp.c:1854:3: warning: implicit declaration of function 'iconv_open' [-Wimplicit-> function-declaration]
修复方法:
$ 导出 LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so
然后它就建造得很好了。