2016-03-26 8 views
7

Ich habe pcre 8.38 aus der Quelle mit --enable-utf8 --enable-unicode-properties und pcretest -C utf reuts 1 kompiliert.kompilieren glib 2.48 erkennt nicht pcre mit utf unterstützung

ein which pcretest kehrt /home/mybin/bin/pcretest

jedoch, wenn glib 2.48PCRE_LIBS="/home/mybin/lib" PCRE_CFLAGS="/home/mybin/bin" mit Kompilieren erhalte ich einen configure Fehler von configure.log

checking for PCRE... yes 
checking for Unicode support in PCRE... no 
configure: error: *** The system-supplied PCRE does not support Unicode properties or UTF-8. 

gibt es etwas anderes sollte ich die glib configure zu erhalten überprüfen, um zu bestehen?

+0

Siehe 'config.log' für ausführlichere Informationen. – TingPing

Antwort

6

Ich bin gerade in sein Problem gelaufen. Stellen Sie sicher, dass Sie auch $ PCRE_INSTALL_DIR/lib in Ihrem LD_LIBRARY_PATH haben. Das hat das Problem für mich behoben.

2

Führen Sie ldconfig nach make install Schritt libpcre. Versuchen Sie danach ./configure in glib.

1

configure Tests UTF-8-Unterstützung durch ein kleines Testprogramm (Zeile 27.618) zusammenzustellen und es läuft:

#include <pcre.h> 
int main() { 
    int support; 
    pcre_config (PCRE_CONFIG_UTF8, &support); 
    if (!support) 
     return 1; 
    pcre_config (PCRE_CONFIG_UNICODE_PROPERTIES, &support); 
    if (!support) 
     return 1; 
    return 0; 
} 

Wenn das Testprogramm nicht kompiliert werden kann und für richtig oder es gibt 1 zurück laufen Irgendein Grund dann ./configure wird sagen, dass es UTF-8-Unterstützung nicht gibt. Überprüfen Sie, ob Ihr Betriebssystem die gemeinsam genutzten Bibliotheken im Verzeichnis PCRE lib findet. Sie können dies tun, indem Sie das obige Testprogramm kompilieren und sicherstellen, dass es aufgrund einer fehlenden gemeinsamen Bibliothek ohne Absturz ausgeführt werden kann.

Ich hatte dieses Problem, aber selbst als ich es behoben Glib konnte UTF-8-Unterstützung in PCRE nicht erkennen. Wenn das passiert, könnten Sie versuchen, ./configure zu bearbeiten, um diesen Test zu überspringen, aber wenn dieser Test fehlschlägt, deutet das auf ein anderes Problem hin, also würde ich das nicht empfehlen.

2

Wenn die interne glib pcre-Option akzeptabel ist, können Sie --with-pcre in configure verwenden.

3

Stellen Sie zunächst sicher, dass Sie Unicode bei der Konfiguration aktivieren:

./configure --enable-utf --enable-unicode-properties 

und dann make. Später für diese Installation verwenden:

make pkgconfigdir=/usr/lib/pkgconfig install 
1

PCRE_LIBS und PCRE_CFLAGS mit nur Pfad ist nicht genug.

In meinem Fall kompilieren glib-2.52.3 mit PCRE-8,38, verwendet i
PCRE_CFLAGS="/usr/local/include"
PCRE_LIBS="/usr/local/lib",
und ein The system-supplied PCRE does not support Unicode properties or UTF-8 Ergebnis. Ich folgte der Konfig.log, es veröffentlichen diese
configure:27740: checking for Unicode support in PCRE configure:27766: gcc -o conftest -g -O2 /usr/local/include -pthread conftest.c /usr/local/lib >&5 /usr/local/include: file not recognized: Is a directory collect2: ld returned 1 exit status configure:27766: $? = 1 configure: program exited with status 1

so änderte ich die Flagge Inhalt, werden zu diesem
PCRE_CFLAGS="-I/usr/local/include"
PCRE_LIBS="-L/usr/local/lib"
sagen, dass es mir
configure:27740: checking for Unicode support in PCRE configure:27766: gcc -o conftest -g -O2 -I/usr/local/include -pthread conftest.c -L/usr/local/lib >&5 /tmp/cc8eu7d8.o: In function 'main': /data1/rugalzhang/glib-2.52.3/conftest.c:178: undefined reference to 'pcre_config' /data1/rugalzhang/glib-2.52.3/conftest.c:181: undefined reference to 'pcre_config' collect2: ld returned 1 exit status configure:27766: $? = 1 configure: program exited with status 1

mit, dass machen die letzte Änderung
PCRE_CFLAGS="-I/usr/local/include"
PCRE_LIBS="-L/usr/local/lib -lpcre"
und es funktionierte für mich

0

Ich habe noch eine andere Sache zu glib 2.52.3 mit pcre 8,39

LD_LIBRARY_PATH=$PREFIX/lib ./configure <...>

kompilieren zu machen, wo $PREFIX/lib wo libpcre.so Lügen ist.

Ohne LD_LIBRARY_PATH Einstellung in config.log:

./conftest: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 

Modifizierung PCRE_CFLAGS oder PCRE_LIBS nicht helfen ...