有没有简单的方法可以在 Chrom(ium) / Firefox 中安装 O3D?

有没有简单的方法可以在 Chrom(ium) / Firefox 中安装 O3D?

为了查看使用 O3D 的页面,我似乎需要某种 Chrome/Chromium/Firefox 插件。但是,似乎在 Chrom(ium) 中运行该插件的唯一方法是我自己建造了整个东西

有没有什么办法可以得到预编译的二进制文件?

为什么 Windows 版本的 Firefox 出厂时就预装了对 O3D 内容的支持,而 Ubuntu 版本自带的 Firefox 却不支持 O3D 内容呢?

答案1

在花了相当多的时间思考这个问题之后,我决定还是继续编译它。为了让那些将来想尝试的人更容易,我准备了一个小的(是的,没错!)Bash 脚本来自动化整个过程。


简洁版本:如果你只是想让我给你一个运行命令,那么这里是:

wget http://files.quickmediasolutions.com/install_o3d ; chmod 755 install_o3d ; ./install_o3d

注意:为了安装某些软件包,系统将提示您输入 root 密码。

该脚本可能需要几分钟才能运行(甚至长达一小时),但最终您应该会得到一个(或两个)包/tmp/o3d/o3d_root/o3d/build/out/Debug/。然后可以安装它们以支持 O3D。


长版本:Google 似乎没有提供预编译的二进制文件(至少我能找到),所以我访问了页面并获取了构建它的说明,然后开始构建 Bash 脚本来执行操作。

首先,脚本会确保你的系统上有正确的软件包。它还会检查你是否提供了路径作为参数,用于存储存储库(/tmp/o3d如果未指定参数,则使用)。然后,它会检查 Google 的存储库depot_tools并将其添加到PATH(但不是永久的)。然后,脚本会gclient从不同的存储库中获取所有代码(相信我,它会下载一个很多- 比如超过 500MB 的东西)。不幸的是,文件夹DEPS中的文件o3d_root/o3d似乎有错误的修订号,breakpad所以我的脚本即时修补它并重新同步。

然后就开始了漫长而繁琐的插件构建过程。根据系统速度,这个过程可能需要 10 到 60 分钟。

该过程完成后,您将在 中找到包o3d_root/o3d/build/out/Debug/。请注意,构建过程可能报告错误并停止。但据我所知,可以忽略该错误,因为此时软件包已经构建完成。从那里您可以简单地安装该软件包。

以下是我的完整脚本:

#!/bin/bash

# check all dependencies
echo "Checking dependencies..."
echo "[Note: you may be prompted for your root password]"
sudo apt-get install python gcc g++ libxt-dev libgtk2.0-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev libx11-dev fakeroot libnss3-dev libgconf2-dev libcurl4-gnutls-dev libgnome-keyring-dev libdbus-glib-1-dev subversion dpkg-dev build-essential debhelper cdbs

# check to see if a path was specified
if test $# -lt 1 ; then
  INSTALLPATH="/tmp/o3d"
  echo "No path specified, assuming '$INSTALLPATH'..."
else
  INSTALLPATH="$1"
fi

# make that directory
mkdir -p $INSTALLPATH
cd $INSTALLPATH

# checkout the depot_tools
echo "Checking out depot tools..."
svn co http://src.chromium.org/svn/trunk/tools/depot_tools

# export the path to these tools
export PATH="$PATH":`pwd`/depot_tools

mkdir o3d_root
cd o3d_root

# now download the code
echo "Downloading code..."
gclient config http://src.chromium.org/svn/trunk/o3d
gclient sync

# apply our patch to the DEPS file
echo "Applying patch to DEPS file..."
echo -e "13c13\n<   \"breakpad_rev\": \"604\",\n---\n>   \"breakpad_rev\": \"605\"," >DEPS.patch
patch o3d/DEPS DEPS.patch

# re-sync the code
echo "Re-syncing..."
gclient sync

# build it
echo "Building o3d plugin..."
cd o3d
./gypbuild

echo "Done!"

相关内容