我正在尝试在Ubuntu上安装Gearman并且在通过make
命令时遇到一些困难。我正在尝试安装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
当我安装这个软件包时,它只是给我以前的消息(它只是保持交替)
答案 0 :(得分: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