Sin categoría

¿Cuál es la historia de libcouchbase y Windows?

Hace un par de días os mostré un programa de ejemplo usando libcouchbase para crear una pequeña aplicación para poner datos en un cluster de Couchbase, pero el código no compilaba en Windows. Esto no implica en absoluto que libcouchbase no funcione en Windows, sino que tenía prisa por escribir la entrada del blog y no tuve tiempo de arreglarlo todo a tiempo para la entrada.

En esta entrada del blog te mostraré lo fácil que es poner todo en marcha utilizando Windows 7 y Microsoft Visual Studio 2010. Además necesitas descargar e instala git para poder consultar el código fuente (selecciona la opción de que quieres poner git en la ruta (no la suite msys completa, sino sólo git)).

Tengo que admitir que estoy lejos de ser un "desarrollador hardcore de Windows", por lo que hay un montón de cosas que no sé acerca de la plataforma. Por ejemplo, no sé dónde debo instalar los archivos de cabecera de terceros y bibliotecas, así que acabo de decidir que voy a instalar todos ellos en C:local (con un directorio install, lib y bin). Me encantaría que alguien me dijera cómo debo hacerlo ;-)

Así que vamos a abrir el símbolo del sistema de Visual Studio y empezar a construir todo:

Entorno de configuración para utilizar las herramientas de Microsoft Visual Studio 2010 x86.
C:Archivos de programa (x86)Microsoft Visual Studio 10.0VC> cd %HOMEPATH%
C:UsuariosTrond> mkdir build
C:UsuariosTrond> cd construir

Ya que vamos a construir dll's necesitas poner C:localbin en tu ruta para que el enlazador en tiempo de ejecución encuentre los dll's:

C:UsuariosTrondbuild> set PATH=c:localbin;%PATH%

Necesitamos instalar dos dependencias antes de poder compilar libcouchbase. Vamos a comprobar todo el código fuente que vamos a utilizar:

C:UsuariosTrondbuild> git clone git://github.com/membase/libisasl.git
C:UsuariosTrondbuild> git clone git://github.com/membase/libvbucket.git
C:UsuariosTrondbuild> git clone git://github.com/couchbase/libcouchbase.git
C:UsuariosTrondbuild> git clone git://github.com/membase/memcached.git
C:UsuariosTrondbuild> git clone git://github.com/trondn/vacuum.git
La primera dependencia que vamos a construir es la librería SASL. Esta es la librería que libcouchbase utiliza para autenticarse en los servidores Couchbase. Para construir e instalar la librería, simplemente ejecuta:
C:UsuariosTrondbuild> cd libisasl
C:UsuariosTrond Norbyebuildlibisasl> nmake -f NMakefile install
Esto instalará libisasl con sus archivos de cabecera y bibliotecas en c:local.
 
La siguiente librería que necesitamos construir es libvucket; la librería que libcouchbase utiliza para averiguar dónde se encuentra un vbucket (si no sabes lo que es un vbucket, realmente no necesitas saberlo). Es tan fácil de construir como libvbucket:
C:UsuariosTrondbuildlibisasl> cd ..libvbucket
C:UsuariosTrondbuildlibvbucket> nmake -f NMakefile install
Lo siguiente que tenemos que hacer es instalar algunos archivos de cabecera que libcouchbase necesita durante el tiempo de compilación. Estos archivos de cabecera contienen las definiciones de protocolo que libcouchbase necesita (pero que la aplicación no necesita). Así que vamos a seguir adelante e instalarlos (para que sea más fácil para nosotros construir libcouchbase)
C:UsuariosTrondbuildlibvbucket> cd ..memcached
C:UsuariosTrondbuildmemcached> git checkout -b branch-20 origin/branch-20
C:UsuariosTrondbuildmemcached> mkdir c:localincludememcached
C:UsuariosTrondbuildmemcached> copiar includememcached c:localincludememcached
Así que vamos a construir libcouchbase.
C:UsuariosTrondbuildmemcached> cd ..libcouchbase
C:UsuariosTrondbuildlibcouchbase> nmake -f NMakefile install
Supongo que la mayoría de los desarrolladores de Windows no utilizan nmake durante su desarrollo, sino que utilizan el IDE completo en su lugar. Es por eso que he creado un proyecto que puede abrir en el proyecto de vacío. Así que siéntase libre de abrir ese proyecto ahora, y debe construir sin ningún problema. 
 
Ahora vamos a necesitar un servidor Couchbase al que podamos conectarnos. Si no tienes ninguno funcionando, deberías descargar e instalar uno ahora. 
 
Vamos a crear el directorio spool e iniciar el servidor de vacío...
C:UsuariosTrondbuildvacuumDebug> mkdir c:vacuum
C:UsuariosTrondbuildvacuumDebug> vacuum -h 127.0.0.1:8091
Y puedes empezar a copiar archivos JSON en C:vacío y ver cómo se añaden al clúster de Couchbase.
Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Trond Norbye

Trond Norbye es Arquitecto de Software en Couchbase. Colaborador principal de los proyectos Couchbase y Memcached. Creó las bibliotecas de cliente C/C++ y node.js de Couchbase.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.