replica example create mongodb utf-8 v8 spidermonkey ubuntu-11.04

example - mongodb set replication



MongoDB no entiende UTF-8 (2)

Estoy usando MongoDB en el Servidor Ubuntu 11.04, lo instalé después de hacer la instalación del SO nuevo usando esta instrucción: http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages Todo está funcionando bien fuera de la caja . ¿Es crítico para ti construir MongoDB desde cero?

Si agrego caracteres que no son ASCII a la base de datos MongoDB, todos los db.find () fallan y dicen "carácter no detectado".

Es un problema de SpiderMonkey, tengo que reconstruirlo con soporte UTF-8. Intenté hacerlo como en http://www.mongodb.org/display/DOCS/Building+Spider+Monkey

pero no funciona (SpiderMonkey no está instalado después de haber completado todos los pasos).

Tengo Ubuntu 11.04. ¿Alguien tiene instrucciones de cómo hacer que funcione allí ?

Instrucciones de trabajo sobre cómo hacer que funcione MongoDB con Google V8 también puede ayudar.


Usar los paquetes 10gen-publicados funciona bien, pero si realmente quieres compilar SpiderMonkey desde el origen con soporte UFT-8:

curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz tar xvzf js185-1.0.0.tar.gz cd js-1.8.5/js/src export CFLAGS="-DJS_C_STRINGS_ARE_UTF8" export CXXFLAGS="-DJS_C_STRINGS_ARE_UTF8"

Y luego siga las instrucciones de https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation

autoconf-2.13 ./configure make make install cp js /usr/local/bin/

Esto se instalará en / usr / local / lib, sin embargo, el paquete mongodb lo busca en / usr / lib (donde está instalado el paquete spidermonkey). Entonces, vinculamos todos los archivos instalados a / usr / local / lib desde / usr / lib

ln -s /usr/local/lib/libmozjs185.so /usr/lib/libmozjs185.so ln -s /usr/local/lib/libmozjs185.so.1.0 /usr/lib/libmozjs185.so.1.0 ln -s /usr/local/lib/libmozjs185.so.1.0.0 /usr/lib/libmozjs185.so.1.0.0 ln -s /usr/local/lib/libmozjs185-1.0.a /usr/lib/libmozjs185-1.0.a

Por supuesto, podría simplemente moverlos a / usr / lib en lugar de enlazarlos simbólicamente, pero quería mantener las librerías habilitadas para utf lejos de la ubicación predeterminada, para evitar conflictos con el paquete predeterminado de spidermonkey. Sin el paquete libmozjs instalado, apt se queja de que las dependencias de mongodb no están satisfechas, así que lo dejé instalado.

Tenga en cuenta que si el paquete spidermonkey se actualiza, puede sobrescribir los enlaces simbólicos a nuestras nuevas librerías (o las librerías si las ha movido a / usr / local / lib). La solución ideal sería construir su propio paquete para resolver problemas de dependencia para siempre.