我正在尝试构建 libmtp 1.1.14,但无法修复此错误

我正在尝试构建 libmtp 1.1.14,但无法修复此错误

我已经在终端中运行了它。

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

然后它就建造得很好了。

相关内容