Fehler beim kompilieren libsmtp (glib-config nicht gefunden)

Ich versuche zu installieren libsmtp auf Ubuntu 12.04, und beim kompilieren erhalte ich Fehler, hier ist der Schritt, den ich gefolgt (Sie sind genau die gleichen, wie geschrieben Install.txt Datei)

cd libsmtp
./configure

[Die Ausgabe des obigen Befehls ist]

checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for main in -lglib... no
checking for main in -lglib... (cached) no
checking how to run the C preprocessor... gcc -E

Die Liste geht weiter, aber noch Abhängigkeiten installiert sind.
Aus der Ausgabe kann man sehen, dass Ihr nicht in der Lage zu finden 'lglib', aber es ist tatsächlich installiert, die Ausgabe von modversion ist:

usama@ubuntu:~/Desktop/smtp/libsmtp-0.8.5$ pkg-config --modversion glib-2.0
2.32.3

Und dadurch bekam ich Fehler, läuft auf 'machen', hier ist die Ausgabe:

usama@ubuntu:~/Desktop/smtp/libsmtp-0.8.5$ make
make[1]: Entering directory `/home/usama/Desktop/smtp/libsmtp-0.8.5/smtp'
gcc -I. -I../include `glib-config --cflags` -g -O2 -DUSE_MIME   -c -o    libsmtp_comm.o libsmtp_comm.c
/bin/sh: 1: glib-config: not found
libsmtp_comm.c:28:20: fatal error: glib.h: No such file or directory
compilation terminated.
make[1]: *** [libsmtp_comm.o] Error 1
make[1]: Leaving directory `/home/usama/Desktop/smtp/libsmtp-0.8.5/smtp'
make: *** [all] Error 1

Kann bitte jemand sagen, wie dieses Problem zu beheben ?

Aktualisiert:

Den Teil des configure-Skript, das den Umgang mit der glib ist :

 echo "$as_me:$LINENO: \$? = $ac_status" >&5
 (exit $ac_status); }; }; then
 ac_cv_lib_glib_main=yes
 else
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5

 ac_cv_lib_glib_main=no
 fi
 rm -f conftest.err conftest.$ac_objext \
   conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_glib_main" >&5
echo "${ECHO_T}$ac_cv_lib_glib_main" >&6
if test $ac_cv_lib_glib_main = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBGLIB 1
_ACEOF

LIBS="-lglib $LIBS" -

echo "$as_me:$LINENO: checking for main in -lglib" >&5
echo $ECHO_N "checking for main in -lglib... $ECHO_C" >&6
if test "${ac_cv_lib_glib_main+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
 ac_check_lib_save_LIBS=$LIBS
LIBS="-lglib  $LIBS"
  • Glib ist komisch! Sie haben, um zu sagen, dass der compiler die Nutzung der Glib-eigenen include-Pfad (sollte in /usr/include/glib-2.0-oder sth like that).
  • Hm, und wie kann ich das machen ? [Wenn u kann bitte sagen, den genauen Befehl ?] und ja, es ist in /usr/include/glib-2.0 .
  • ./konfigurieren Sie [... usw ...] CFLAGS='-I/usr/include/glib-2.0' CPPFLAGS='-I/usr/include/glib-2.0'
  • beim schreiben dieser Befehl "pkg-config --cflags --libs glib-2.0' habe ich diese Ausgabe: '-I/usr/include/glib-2.0-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0', gab ich die CFLAGS und CPPFLAGS auf ./konfigurieren Sie, wie diese, . /configure CFLAGS='-I/usr/include/glib-2.0' CPPFLAGS='-I/usr/lib/x86_64-linux-gnu/glib-2.0/include' aber dennoch nicht in der Lage zu finden glib :/
  • Das ist wahrscheinlich, weil das configure-Skript von libsmtp ist seltsam, auch: es hat glib-config hardcoded. Sie können setzen, dass pkg-config ... in einem Skript namens glib-config machen es zugänglich von PFAD und versuchen Sie es erneut
  • fork0, ich habe den Teil des configure-Skript, das den Umgang mit glib, u kann sagen, wie kann ich änderungen in den configure-Skript ?

InformationsquelleAutor uyaseen | 2012-07-13
Schreibe einen Kommentar