Usando los paquetes 10gen-publicada funciona bien, pero si realmente quiere compilar SpiderMonkey de la fuente con 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 a continuación, 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). Así, ligamos todos los archivos instalados en/usr/local/lib/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, usted podría moverlos a/usr/lib en lugar de enlaces simbólicos, pero quería mantener el UTF habilitado libs lejos de la ubicación predeterminada, para evitar conflictos con el paquete predeterminado 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.
¿Este problema ocurre solo en el caparazón o en otro lugar también? (* i.e .: de uno de los controladores *) –