LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-28-2013, 05:29 PM   #1
gr33k
LQ Newbie
 
Registered: Jul 2013
Posts: 3

Rep: Reputation: Disabled
How to install pushpoold and dependencies Slackware 14.0


Hello All,

I'm trying to install pushpool (https://github.com/ArtForz/pushpool) on Slackware 14.0.

I'm running into a problem with the configure script when it's trying to detect libmemcached. I've installed a TON of different versions to no avail.

I've posted a thread here https://bitcointalk.org/index.php?topic=263736.0 to see if anyone has an answer (no replies yet), but most of their users appear to be using distro's with yum and apt-get...alas this is not an option on slackware of course.

I've installed BOTH from several source packages, and the slack packages, for memcached and libmemcached and can run memcached as a service successfully. I still get the following when trying to run configure:

Code:
~/poolproject/pushpool-tenebrix
 # ./configure --verbose                                                                                                                                                                     
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking whether gcc and cc understand -c and -o together... yes
checking for ranlib... ranlib
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for event_base_new in -levent... yes
checking for pthread_create in -lpthread... yes
checking for uncompress in -lz... yes
checking for json_loads in -ljansson... yes
checking for MD5_Init in -lcrypto... yes
checking for memcached_get in -lmemcached... no
configure: error: Missing required libmemcached library
Code:
whereis libmemcached                                                                                                                                                                          [15:20:30]
libmemcached: /usr/lib/libmemcached.so /usr/lib/libmemcached.la /usr/local/lib/libmemcached.a /usr/local/lib/libmemcached.so /usr/local/lib/libmemcached.la /usr/include/libmemcached /usr/man/man3p/libmemcached.3.gz /usr/man/man3/libmemcached.3.gz /usr/share/man/man3p/libmemcached.3.gz /usr/share/man/man3/libmemcached.3.gz /usr/X11/man/man3p/libmemcached.3.gz /usr/X11/man/man3/libmemcached.3.gz
Code:
# cat /etc/ld.so.conf                                                                                                                                                                           [15:26:46]
/usr/lib
/usr/local/include
/usr/local/lib
/usr/i486-slackware-linux/lib
/usr/lib/seamonkey
/usr/local/include/mysql++
Code:
# php --version
PHP 5.4.17 (cli) (built: Jul 15 2013 23:54:59)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
# php -i | grep -i memcached                                                                                                                                                                    Additional .ini files parsed => /etc/php/memcached.ini
memcached
memcached support => enabled
libmemcached version => 1.0.15
memcached.compression_factor => 1.3 => 1.3
memcached.compression_threshold => 2000 => 2000
memcached.compression_type => fastlz => fastlz
memcached.serializer => php => php
memcached.sess_binary => 0 => 0
memcached.sess_lock_wait => 150000 => 150000
memcached.sess_locking => 1 => 1
memcached.sess_prefix => memc.sess.key. => memc.sess.key.
Registered save handlers => files user memcached memcache
I'm out of ideas on how to get this to work. Any help on where to go from here, or a walkthrough of how someone may have got pushpool successfully installed on Slackware 14, would be greatly appreciated

Ultimately, I want to get a coin mining pool running:

https://github.com/TheSerapher/php-mmcfe-ng

TIA,

-Gr33k-

Last edited by gr33k; 07-28-2013 at 05:42 PM.
 
Old 07-30-2013, 03:10 AM   #2
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
Welcome to LQ.

Pushpoold will build OK with e.g. libmemcached version 0.43 .
* But not when "libmemcached-0.43" is built on Slackware 14.
* Can't see why it behaves this way , sorry ...

The easy workaround is to use e.g. converted rpm packages.
Example : libmemcached5-0.43-2pclos2010 + libmemcached-devel-0.43-2pclos2010

About libmemcached-1.0.15 : Most Linux OS's use versions "0.31" ... "1.0.8".
( Also no luck at using libmemcached-1.0.16 on Fedora 19.)

-
 
Old 07-30-2013, 03:51 AM   #3
Cesare
Member
 
Registered: Jun 2010
Posts: 65

Rep: Reputation: 113Reputation: 113
Your libmemcached is fine. Check your config.log, scroll back a few lines, and you'll notice that libmemcached.so was found, but the test failed because of a missing linker flag. Try to fix it by adding LIBS=-lpthread in front of the configure call, and you'll run into more autotools errors. You'll propably need to edit and fix Makefile.am and configure.ac before this will work (I don't know how to do this, sorry).
 
Old 07-30-2013, 02:53 PM   #4
gr33k
LQ Newbie
 
Registered: Jul 2013
Posts: 3

Original Poster
Rep: Reputation: Disabled
Thank you :)

re: knudfl

I think you're on to it with the version that it supports being really old. I prefer to avoid premade install packages in fear it will break other things I have setup on this box.

re: Cesare

are you saying define it in the ./configure command like ./configure LIBS=-lpthread ?

If so do you have an example of the syntax by chance (assuming path use /usr/local/lib)?

Thank you both for your replies!!! I know this one is a hard one without having access to the server to mess around
 
Old 07-30-2013, 03:57 PM   #5
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
Quote:
I prefer to avoid premade install packages in fear it will break other things
1) `libmemcached` is an extra package.

2) The naming like the example "libmemcached5" means you can have two
or more runtime versions installed at the same time.
No conflicts with different naming / different file names.

3) 'libmemcached-0.43~' is used in some "new" Linux OS's.
Examples : PCLinuxOS 2013.07 : "0.43" . And Ubuntu 12.04 LTS has "0.44".
Scientific Linux SL6.4 : Version 0.31 .

*** May be @Cesare is right that version 1.0.15 can be used :
If you can edit the buggy autotools files.

-
 
Old 08-08-2013, 08:34 PM   #6
gr33k
LQ Newbie
 
Registered: Jul 2013
Posts: 3

Original Poster
Rep: Reputation: Disabled
I'm a n00b and didn't know that LIBS=-lpthread goes BEFORE ./configure (lesson learned!)

Thank you Both for helping me get to the bottom of this! It's driven me nuts for so long I gave up and decided to go stratum-mining only. However, I came up on a situation where I need pushpool ON slackware. I can get this working like cake on Ubuntu...but that's (almost) cheating ;p

Now I get the curl error which many people have experienced.

# LIBS=-lpthread ./configure [18:13:54]
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking whether gcc and cc understand -c and -o together... yes
checking for ranlib... ranlib
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for event_base_new in -levent... yes
checking for pthread_create in -lpthread... yes
checking for uncompress in -lz... yes
checking for json_loads in -ljansson... yes
checking for MD5_Init in -lcrypto... yes
checking for memcached_get in -lmemcached... yes
checking for argp_parse in -largp... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for a Python interpreter with version >= 2.2... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for SQLite3 library >= 3.0.0... yes
checking for mysql_config... /usr/bin/mysql_config
checking for pg_config... no
no
./configure: line 5900: syntax error near unexpected token `,'
./configure: line 5900: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'

So I thought the fix for that would have been to install curl from source but alas - not there yet...

Any ideas on how to fix that? I have it installed for sure.

# whereis libcurl [18:33:43]
libcurl: /usr/lib/libcurl.la /usr/lib/libcurl.so /usr/lib/libcurl.a /usr/local/lib/libcurl.la /usr/local/lib/libcurl.so /usr/local/lib/libcurl.a /usr/man/man3p/libcurl.3.gz /usr/man/man3/libcurl.3.gz /usr/share/man/man3p/libcurl.3.gz /usr/share/man/man3/libcurl.3.gz /usr/X11/man/man3p/libcurl.3.gz /usr/X11/man/man3/libcurl.3.gz

EDIT - Solved for pushpool-tenebrix build:

copied libcurl.m4 into ./m4 folder in source of pushpool - did this:
Then add string "ACLOCAL_AMFLAGS = -I m4" to file Makefile.am and edit file autogen.sh - replace string "aclocal" with "aclocal -I m4". (cit.)
re ran autogen.sh

ran: LIBS=-lpthread ./configure CFLAGS="-O3"

BAM FINALLY!
Thanx again!

Last edited by gr33k; 08-08-2013 at 11:25 PM.
 
1 members found this post helpful.
  


Reply

Tags
bitcoin, pool, pushpool, pushpoold, slackware



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to install only certain packages and their dependencies on slackware 13? timetraveler Slackware - Installation 3 04-28-2010 04:55 PM
Slackware and dependencies JosephS Slackware 39 06-12-2009 11:41 PM
slackware dependencies lenucks Slackware 3 06-22-2004 05:48 PM
slackware dependencies ??? Krix Slackware 14 10-09-2003 11:14 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:09 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration