【问题标题】:Upgrade Subversion 1.4.3 to 1.5.2 on Debian (hosted account)在 Debian 上将 Subversion 1.4.3 升级到 1.5.2(托管帐户)
【发布时间】:2010-09-16 10:28:48
【问题描述】:

我正在尝试升级我的 subversion 服务器(我使用 Dreamhost 托管它)

这是我运行的:

但由于此错误,我无法继续:

  • 正在检查 C 编译器默认输出文件名...
  • 配置:错误:C 编译器无法创建可执行文件
  • 有关详细信息,请参阅 `config.log'。
  • neon 配置失败

由于我不是 Linux 专家,我不知道如何继续。

所以问题是:最好的升级方式是什么(考虑到与这个托管提供商合作的限制)。

更新:

config.log can be seen here 的内容(不知道在 SO 此处显示文件的最佳方式)

更新:

我似乎一直在查看错误的 config.log 文件。
我可能应该看看 subversion.1.5.2/neon/config.log

【问题讨论】:

  • 听起来像 GCC 它不存在...你能提供更多细节吗? (config.log)...
  • CMS 是正确的。通常 config.log 包含有关它无法编译的原因的详细信息。它可能没有编译器,也可能是其他一些错误。一些日志文件会有所帮助

标签: linux svn version-control debian dreamhost


【解决方案1】:

您需要在自己的帐户下构建自己的副本。

mkdir ~/src
cd ~/src
wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
tar -xjf subversion-1.5.2.tar.bz2
tar -xjf subversion-deps-1.5.2.tar.bz2
cd subversion-1.5.2
./configure --prefix=/home/$USER --with-ssl
make
make install

如果您还没有更改路径,您还需要更改路径才能正常工作。

【讨论】:

    【解决方案2】:

    如果你在 SVN 中使用 openssl,那么你需要配置 SVN

    ./configure .... --with-openssl=/path/to/openssl
    

    当我过去这样做时,如果我没有指定 -fPIC 标志,我会在构建使用此库的其他二进制文件时遇到问题。因此,最好使用该参数运行 make(如果您有这个问题)。您可能还必须将 make 指向您的构建二进制文件。所以您的 make 调用将如下所示:

    make CC="gcc -fPIC" LDFLAGS="/path/to/openssl/lib"
    

    别忘了用CC="gcc -fPIC" 构建openssl!

    祝你好运!

    【讨论】:

      【解决方案3】:

      使用时

      ./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
      

      然后你可以在 neon/config.log 中看到它搜索 /usr/bin/openssl/include 中的包含...虽然这当然只是一个二进制文件。 所以,跳过这个“--with-libs”选项,只需确保使用 ssl 开发包安装

      apt-get install libssl-dev
      

      【讨论】:

      • 不幸的是,它是一个托管帐户,所以我无法完全控制它。这是我得到的: E:无法打开锁定文件 /var/lib/dpkg/lock - 打开(13 权限被拒绝) E:无法锁定管理目录(/var/lib/dpkg/),你是 root 吗?还有什么方法可以试试?
      • 查看我对此的回答:stackoverflow.com/questions/274656/…(我认为它在共享帐户上可行)
      【解决方案4】:

      这可能是一种安全措施,如果系统受到威胁,理论上恶意用户将更难在系统上构建更多攻击代码以获得更多访问权限。

      解决方案是在本地机器上交叉编译代码,然后将其传输到服务器。如果您无法按照 Aupajo 的建议安装到系统,请将可执行文件放在您的 $HOME/bin 目录中。请记住,这可能意味着您将无权运行 svn 服务器,只有客户端应用程序。

      Here's a link on using debian to do cross compiling, some google searches should provide more information for you though.

      【讨论】:

        【解决方案5】:

        我也遇到了这个错误:

        configure: error: C compiler cannot create executables
        

        在我的情况下,我有一个干净的 Debian Etch 安装,没有 C 编译器。我已经通过 apt-get install gcc 安装了它(我想是错误的)。一些谷歌搜索导致我通过

        安装 g++
        apt-get install g++
        

        然后它起作用了。不确定这是否对您有所帮助,但确实对我有所帮助。

        【讨论】:

          【解决方案6】:

          在 ubuntu 上安装 pkg-config libtool libssl-dev (sudo apt install -y pkg-config libtool libssl-dev) 为我解决了这个问题...

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-11-08
            • 2013-09-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-01-14
            相关资源
            最近更新 更多