ich versucht haben, GEOS auf meinem restrcited (keine root) Umgebung zu kompilieren und ich einige Schwierigkeiten habe ...Kompilieren GEOS ohne root CentOS
Ich habe die folgende
wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
tar jxf geos-3.4.2.tar.bz2
cd geos-3.4.2
nano ~/.bash_profile
# I added PATH=$PATH:$HOME/local/bin export PATH
./configure --enable-php --prefix=$HOME/local/ && make clean && make
Und Im bekommen die folgenden Fehler
Making all in php
make[2]: Entering directory `/home/myname/test/geos-3.4.2/php'
Making all in .
make[3]: Entering directory `/home/myname/test/geos-3.4.2/php'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include/geos `/usr/local/bin/php-config --includes` -DCOMPILE_DL_GEOS -I../capi -I../include -I./opt/alt/php53/usr/include/ -pedantic -Wall -ansi -Wno-long-long -ffloat-store -std=gnu99 -g -O2 -MT geos_la-geos.lo -MD -MP -MF .deps/geos_la-geos.Tpo -c -o geos_la-geos.lo `test -f 'geos.c' || echo './'`geos.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include/geos -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DCOMPILE_DL_GEOS -I../capi -I../include -I./opt/alt/php53/usr/include/ -pedantic -Wall -ansi -Wno-long-long -ffloat-store -std=gnu99 -g -O2 -MT geos_la-geos.lo -MD -MP -MF .deps/geos_la-geos.Tpo -c geos.c -fPIC -DPIC -o .libs/geos_la-geos.o
geos.c:26:17: error: php.h: No such file or directory
geos.c:27:54: error: ext/standard/info.h: No such file or directory
geos.c:28:72: error: Zend/zend_exceptions.h: No such file or directory
nach einiger github, geschieht dies mit MAMP zu
Dies geschieht, weil GEOS PHP-Header-Dateien von der ursprünglichen PHP-Quelle benötigt und MAMP diese nicht enthält.
EDIT 1:
Ich habe dies auch hinzugefügt in ~/local/share/config.site
CPPFLAGS=-I./opt/alt/php53/usr/include/
LDFLAGS=-L$HOME/local/lib
php.h befindet sich hier: ./opt/alt/php53/usr/include/php/main/php.h
info.h : ./opt/alt/php53/usr/include/php/ext/standard/info.h
zend_exceptions.h: ./opt/alt/php53/usr/include/php/Zend/zend_exceptions.h
EDIT 2:
Letzte Sache: mein configure sagt mir diese
checking for php-config... /usr/local/bin/php-config
checking for php... /usr/local/bin/php
Also meine Frage, wenn Im auf dem richtigen Weg dies zu lösen, ist, wie füge ich meine PHP-Header-Dateien während der Erstellung von Geos in einer Nicht-Root-Umgebung in CentOs?
Ich bin ziemlich verloren, um ehrlich zu sein!
'PATH = '$ HOME/local/bin: $ PATH'' mit einfachen Anführungszeichen ein Fehler ist und die Dinge brechen. Zum Glück ist '~/.bash_rc' nicht die richtige Datei dafür, also hast du diese Bruchstelle nicht gesehen (aber wenn du '$ PATH'' zurückgibst, siehst du auch, dass deine Hinzufügung nicht funktioniert hat, außer es ist passiert schon da zu sein). Sie benötigen doppelte Anführungszeichen für die zu erweiternden Variablen. –
Es war ein Fehler in meiner Erklärung, ich faktisch fügte dies in .bash_profile 'PATH = $ PFAD: $ HOME/local/bin Export PATH' – delmalki
In einer Zeile, die ein Fehler ist, aber aus einem anderen Grund. In einer Zeile gilt diese Zuweisung nur für den 'Export'-Aufruf ... aber tatsächlich passiert das zufälligerweise genug, aber es ist immer noch nicht korrekt. Das sollte in zwei Zeilen sein. Wie auch immer, das hängt nicht mit deinem Problem zusammen. –