3

make我正在尝试在 Ubuntu 上安装 Gearman,但在通过命令时遇到了一些困难。我正在尝试安装该1.1.2版本。

这是 make 命令的输出

CXX    bin/error.o
CXXLD  bin/gearadmin
bin/bin_gearadmin-gearadmin.o: In function `main':
/home/john/gearmand/gearmand-1.1.2/bin/gearadmin.cc:129: undefined reference to `boost::program_options::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)'
collect2: ld returned 1 exit status
  CXX    libtest/libtest_unittest-unittest.o
make[1]: *** [bin/gearadmin] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/john/gearmand/gearmand-1.1.2'
make: *** [all] Error 2

我已按照此博客文章中的步骤进行安装 - http://rdstash.blogspot.com/2012/02/installing-gearman-101-on-ubuntu-1104.html

我已经运行了以下命令来安装 boost,但它似乎不起作用。

sudo apt-get install libboost-program-options1.40-dev libboost-thread1.40-dev -y

关于如何让它在我的系统上运行的任何建议?如果我需要发布任何进一步的信息,请告诉我。

更新

我运行apt-get remove并尝试使用此处列出的步骤安装旧版本 - http://moffe42.blogspot.com/2011/12/installing-gearman-on-ubuntu-1004.html

运行以下命令给了我这个

sudo apt-get install gearman gearman-job-server gearman-tools libgearman4 libgearman-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  libgearman4: Conflicts: libgearman-server0
  libgearman6: Conflicts: libgearman-server0
E: Broken packages

我尝试安装 libgearman-server0 但随后收到以下消息

The following packages have unmet dependencies:
  gearman-tools: Depends: libgearman6 (= 0.32-0~598-1~lucid1) but it is not going to be installed
  libgearman-dev: Depends: libgearman6 (= 0.32-0~598-1~lucid1) but it is not going to be installed
E: Broken packages

当我安装这个包时,它只是给我上一条消息(它只是不断交替)

4

1 回答 1

3

我真的没有找到答案。当我回到这个问题时,我决定将我的操作系统更新到 12.04,然后运行安装。这次工作完美无缺。

这些是我在 12.04 上安装 gearmand 的步骤

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc autoconf bison flex libtool make libboost-all-dev libcurl4-openssl-dev curl libevent-dev memcached uuid-dev libsqlite3-dev libmysqlclient-dev
sudo apt-get install gperf
sudo apt-get install libcloog-ppl0
cd /tmp/
wget https://launchpad.net/gearmand/1.2/1.1.9/+download/gearmand-1.1.9.tar.gz
tar xvzf gearmand-1.1.9.tar.gz
cd gearmand-1.1.9/
./configure
sudo make
sudo make install

sudo ldconfig
sudo pecl install gearman  #you will need to install pecl if you don't have it

#Edit INI files and add extension=gearman.so to it 
#/etc/php5/cli/php.ini
#/etc/php5/apache2/php.ini 

sudo ldconfig
于 2013-08-15T13:29:48.607 回答