Re: Building with DB on CentOS/RHEL

From: Steve Jenkins <stevejenkins_at_gmail.com>
Date: Thu, 16 May 2013 17:51:48 -0700

On Thu, May 16, 2013 at 9:56 AM, Murray S. Kucherawy <msk_at_blackops.org>wrote:

> On Thu, 16 May 2013, Scott Kitterman wrote:
>
>> On a current Ubuntu system, it looks like this:
>>
>> $ pkg-config --print-variables libmemcached
>> exec_prefix
>> prefix
>> libdir
>> includedir
>>
>> It would be useful (I think) to see what you get on a RHEL/CentOS system
>> even
>> if you can't do it in the actual build environment.
>>
>
# uname -a
Linux mugello 2.6.18-348.4.1.el5 #1 SMP Tue Apr 16 16:02:56 EDT 2013 i686
i686 i386 GNU/Linux

# pkg-config --print-variables libmemcached
--print-variables: unknown option

# pkg-config --version
0.21


>
> Based on the build log Steve originally posted, it looks as though it
> finds the right include (insofar as there's no error that
> libmemcached/memcached.h wasn't found), but some typedefs found in there
> were missing or disabled.
>
> The particular error is that the type "memcached_return_t" isn't defined.
> On my development box (which is FreeBSD), that's in
> libmemcached/constants.h.
>
> My system doesn't use those RPMs so I can't reproduce this myself. If
> someone wants to give me credentials to a machine where this is happening,
> I can take a look.


# ls -l /usr/include/libmemcached/
total 76
-rw-r--r-- 1 root root 334 Jan 28 2011 memcached_configure.h
-rw-r--r-- 1 root root 4302 Jan 28 2011 memcached_constants.h
-rw-r--r-- 1 root root 1946 Jan 28 2011 memcached_get.h
-rw-r--r-- 1 root root 11267 Jan 28 2011 memcached.h
-rw-r--r-- 1 root root 5789 Jan 28 2011 memcached.hh
-rw-r--r-- 1 root root 967 Jan 28 2011 memcached_pool.h
-rw-r--r-- 1 root root 1672 Jan 28 2011 memcached_result.h
-rw-r--r-- 1 root root 2831 Jan 28 2011 memcached_server.h
-rw-r--r-- 1 root root 4939 Jan 28 2011 memcached_storage.h
-rw-r--r-- 1 root root 1578 Jan 28 2011 memcached_string.h
-rw-r--r-- 1 root root 2014 Jan 28 2011 memcached_types.h
-rw-r--r-- 1 root root 327 Jan 28 2011 memcached_util.h
-rw-r--r-- 1 root root 1813 Jan 28 2011 memcached_watchpoint.h
-rw-r--r-- 1 root root 1403 Jan 28 2011 visibility.h

# grep memcached_return_t /usr/include/libmemcached/*

There's a memcached_constants.h, but memcached_return_t is nowhere to be
found in it:

# cat memcached_constants.h

/*
 * Summary: Constants for libmemcached
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Brian Aker
 */

#ifndef __MEMCACHED_CONSTANTS_H__
#define __MEMCACHED_CONSTANTS_H__

/* Public defines */
#define MEMCACHED_DEFAULT_PORT 11211
#define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */
#define MEMCACHED_MAX_BUFFER 8196
#define MEMCACHED_MAX_HOST_LENGTH 64
#define MEMCACHED_MAX_HOST_SORT_LENGTH 86 /* Used for Ketama */
#define MEMCACHED_POINTS_PER_SERVER 100
#define MEMCACHED_POINTS_PER_SERVER_KETAMA 160
#define MEMCACHED_CONTINUUM_SIZE MEMCACHED_POINTS_PER_SERVER*100 /* This
would then set max hosts to 100 */
#define MEMCACHED_STRIDE 4
#define MEMCACHED_DEFAULT_TIMEOUT 1000
#define MEMCACHED_CONTINUUM_ADDITION 10 /* How many extra slots we should
build for in the continuum */
#define MEMCACHED_PREFIX_KEY_MAX_SIZE 128
#define MEMCACHED_EXPIRATION_NOT_ADD 0xffffffffU

typedef enum {
  MEMCACHED_SUCCESS,
  MEMCACHED_FAILURE,
  MEMCACHED_HOST_LOOKUP_FAILURE,
  MEMCACHED_CONNECTION_FAILURE,
  MEMCACHED_CONNECTION_BIND_FAILURE,
  MEMCACHED_WRITE_FAILURE,
  MEMCACHED_READ_FAILURE,
  MEMCACHED_UNKNOWN_READ_FAILURE,
  MEMCACHED_PROTOCOL_ERROR,
  MEMCACHED_CLIENT_ERROR,
  MEMCACHED_SERVER_ERROR,
  MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE,
  MEMCACHED_DATA_EXISTS,
  MEMCACHED_DATA_DOES_NOT_EXIST,
  MEMCACHED_NOTSTORED,
  MEMCACHED_STORED,
  MEMCACHED_NOTFOUND,
  MEMCACHED_MEMORY_ALLOCATION_FAILURE,
  MEMCACHED_PARTIAL_READ,
  MEMCACHED_SOME_ERRORS,
  MEMCACHED_NO_SERVERS,
  MEMCACHED_END,
  MEMCACHED_DELETED,
  MEMCACHED_VALUE,
  MEMCACHED_STAT,
  MEMCACHED_ITEM,
  MEMCACHED_ERRNO,
  MEMCACHED_FAIL_UNIX_SOCKET,
  MEMCACHED_NOT_SUPPORTED,
  MEMCACHED_NO_KEY_PROVIDED, /* Deprecated. Use MEMCACHED_BAD_KEY_PROVIDED!
*/
  MEMCACHED_FETCH_NOTFINISHED,
  MEMCACHED_TIMEOUT,
  MEMCACHED_BUFFERED,
  MEMCACHED_BAD_KEY_PROVIDED,
  MEMCACHED_INVALID_HOST_PROTOCOL,
  MEMCACHED_SERVER_MARKED_DEAD,
  MEMCACHED_UNKNOWN_STAT_KEY,
  MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */
} memcached_return;

typedef enum {
  MEMCACHED_DISTRIBUTION_MODULA,
  MEMCACHED_DISTRIBUTION_CONSISTENT,
  MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA,
  MEMCACHED_DISTRIBUTION_RANDOM
} memcached_server_distribution;

typedef enum {
  MEMCACHED_BEHAVIOR_NO_BLOCK,
  MEMCACHED_BEHAVIOR_TCP_NODELAY,
  MEMCACHED_BEHAVIOR_HASH,
  MEMCACHED_BEHAVIOR_KETAMA,
  MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE,
  MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE,
  MEMCACHED_BEHAVIOR_CACHE_LOOKUPS,
  MEMCACHED_BEHAVIOR_SUPPORT_CAS,
  MEMCACHED_BEHAVIOR_POLL_TIMEOUT,
  MEMCACHED_BEHAVIOR_DISTRIBUTION,
  MEMCACHED_BEHAVIOR_BUFFER_REQUESTS,
  MEMCACHED_BEHAVIOR_USER_DATA,
  MEMCACHED_BEHAVIOR_SORT_HOSTS,
  MEMCACHED_BEHAVIOR_VERIFY_KEY,
  MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT,
  MEMCACHED_BEHAVIOR_RETRY_TIMEOUT,
  MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED,
  MEMCACHED_BEHAVIOR_KETAMA_HASH,
  MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,
  MEMCACHED_BEHAVIOR_SND_TIMEOUT,
  MEMCACHED_BEHAVIOR_RCV_TIMEOUT,
  MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT,
  MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK,
  MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK,
  MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH,
  MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY,
  MEMCACHED_BEHAVIOR_NOREPLY,
  MEMCACHED_BEHAVIOR_USE_UDP,
  MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS,
  MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS
} memcached_behavior;

typedef enum {
  MEMCACHED_CALLBACK_PREFIX_KEY = 0,
  MEMCACHED_CALLBACK_USER_DATA = 1,
  MEMCACHED_CALLBACK_CLEANUP_FUNCTION = 2,
  MEMCACHED_CALLBACK_CLONE_FUNCTION = 3,
#ifdef MEMCACHED_ENABLE_DEPRECATED
  MEMCACHED_CALLBACK_MALLOC_FUNCTION = 4,
  MEMCACHED_CALLBACK_REALLOC_FUNCTION = 5,
  MEMCACHED_CALLBACK_FREE_FUNCTION = 6,
#endif
  MEMCACHED_CALLBACK_GET_FAILURE = 7,
  MEMCACHED_CALLBACK_DELETE_TRIGGER = 8
} memcached_callback;

typedef enum {
  MEMCACHED_HASH_DEFAULT= 0,
  MEMCACHED_HASH_MD5,
  MEMCACHED_HASH_CRC,
  MEMCACHED_HASH_FNV1_64,
  MEMCACHED_HASH_FNV1A_64,
  MEMCACHED_HASH_FNV1_32,
  MEMCACHED_HASH_FNV1A_32,
  MEMCACHED_HASH_HSIEH,
  MEMCACHED_HASH_MURMUR,
  MEMCACHED_HASH_JENKINS
} memcached_hash;

typedef enum {
  MEMCACHED_CONNECTION_UNKNOWN,
  MEMCACHED_CONNECTION_TCP,
  MEMCACHED_CONNECTION_UDP,
  MEMCACHED_CONNECTION_UNIX_SOCKET
} memcached_connection;

#endif /* __MEMCACHED_CONSTANTS_H__ */
Received on Fri May 17 2013 - 00:52:03 PST

This archive was generated by hypermail 2.3.0 : Fri May 17 2013 - 00:54:02 PST