2015-04-19 1 views

Répondre

3
This is how to make it compile: 

export PATH=/sbin:$PATH:$OPENSHIFT_DATA_DIR/usr/local/bin 
export LD_LIBRARY_PATH=$OPENSHIFT_DATA_DIR/usr/local/lib:/opt/rh/nodejs010/root/usr/lib64:$LD_LIBRARY_PATH 
export PKG_CONFIG_PATH=$OPENSHIFT_DATA_DIR/usr/local/lib/pkgconfig 
cd $OPENSHIFT_DATA_DIR 
curl -L http://sourceforge.net/projects/libpng/files/libpng16/1.6.17/libpng-1.6.17.tar.gz/download -o libpng.tar.gz 
curl -L http://www.ijg.org/files/jpegsrc.v9a.tar.gz -o jpegsrc.tar.gz 
curl -L http://www.cairographics.org/releases/pixman-0.32.6.tar.gz -o pixman.tar.gz  
curl -L http://public.p-knowledge.co.jp/Savannah-nongnu-mirror//freetype/freetype-2.5.5.tar.gz -o freetype.tar.gz 
curl -L http://www.cairographics.org/releases/cairo-1.14.2.tar.xz -o cairo.tar.xz  
curl -L http://ftp.gnome.org/pub/GNOME/sources/pango/1.35/pango-1.35.3.tar.xz -o pango.tar.xz 
curl -L http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz -o fontconfig.tar.gz 
curl -L http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.37.tar.bz2 -o harfbuzz.tar.bz2 
curl -L http://ftp.gnome.org/pub/GNOME/sources/glib/2.34/glib-2.34.3.tar.xz -o glib.tar.xz 
curl -L http://ftp.gnome.org/pub/GNOME/sources/pango/1.35/pango-1.35.3.tar.xz -o pango.tar.xz 
cd $OPENSHIFT_DATA_DIR 
gunzip libpng.tar.gz 
tar -xvf libpng.tar 
cd libpng-1.6.17/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar -zxf jpegsrc.tar.gz && cd jpeg-9a/ 
./configure --disable-dependency-tracking --prefix=$OPENSHIFT_DATA_DIR/usr/local  
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar -zxf pixman.tar.gz && cd pixman-0.32.6/  
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local   
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar -zxf freetype.tar.gz && cd freetype-2.5.5/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local   
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar --xz -xvf cairo.tar.xz && cd cairo-1.14.2/ 
./configure --disable-dependency-tracking --without-x --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar -xvf fontconfig.tar.gz && cd fontconfig-2.11.1/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_DATA_DIR 
bunzip2 harfbuzz.tar.bz2 
tar -xvf harfbuzz.tar && cd harfbuzz-0.9.37/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar --xz -xvf glib.tar.xz && cd glib-2.34.3/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_DATA_DIR 
tar --xz -xvf pango.tar.xz && cd pango-1.35.3/ 
./configure --prefix=$OPENSHIFT_DATA_DIR/usr/local 
make 
make install 
cd $OPENSHIFT_REPO_DIR 
scl enable nodejs010 v8314 'npm install canvas'    
rm -rf "${OPENSHIFT_NODEJS_DIR}/tmp/saved.node_modules" 

Pour utiliser ces bibliothèques dans le serveur Node.js, vous devez ajouter une entrée LD_LIBRARY_PATH personnalisée qui pointe vers eux

Dans le projet git OpenShift ajouter le répertoire: .openshift/marqueurs Dans ce répertoire créer un fichier vide nommé: use_npm

Dans le fichier package.json ajouter cette entrée:

"scripts": { 
    "start": "export LD_LIBRARY_PATH=$OPENSHIFT_DATA_DIR/usr/local/lib:/opt/rh/nodejs010/root/usr/lib64:$LD_LIBRARY_PATH; supervisor server.js" 
    } 

cela fonctionne habituellement, mais SOMETI Il se passe des activités de mise à jour npm qui commencent à reconstruire le module de toile.

Parfois, le module bcrypt ne se construit pas non plus.

La solution est de créer un engrenage, où tout fonctionne, puis de faire le fichier tar.gz avec le contenu de $ OPENSHIFT_DATA_DIR/usr/ et de transférer ce fichier sur votre serveur où il est accessible via http: //

Il devrait en être de même pour node_modules/canvas, node_modules/bcrypt et autres entrées vulnérables. Puis, il est possible d'utiliser les hooks de l'application OpenShift (build, etc) pour télécharger et extraire le contenu de ces fichiers au bon endroit.

En outre, vous pouvez compiler beaucoup node_modules/xxxxx sur CentOS 6.6, puis de les copier dans les bons endroits sur le serveur, qui fonctionne RHEL 6.6 (substance de compatibilité binaire, comme avec rpm installation du package)

De cette façon, il est possible de créer un dépôt git et des fichiers tar.gz téléchargeables qui permettraient de lancer automatiquement de nouveaux rapports RedHat OpenShift.

Bien sûr, s'il y aura des mises à niveau du système, le contenu des fichiers tar.gz doit également être mis à niveau.

+0

Vous devez installer glib avant harfbuzz, ou pango se plaindra que hb-glib.h n'existe pas car harfbuzz n'inclura pas glib. – matteodelabre

+0

gzip: libpng.tar.gz: pas en format gzip – Badjano

+0

le fichier était un html, trouvé ceci et cela a fonctionné: http://mac-dev-env.patrickbougie.com/libpng/ – Badjano