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, dasspkg-config ...
in einem Skript namensglib-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 ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich bin ich in der Lage, um loszuwerden, glib-Fehler, hier sind die Schritte u Folgen müssen:
Stellen Sie zunächst sicher, dass libgtk2.0 auf Ihrem system installiert ist, wenn nicht installiert haben, dann u kann es installieren mit dem folgenden Befehl:
Sagen Sie dem compiler den Pfad der glib-2.0, den genauen Befehl wird unten geschrieben:
( Hinweis: Der Pfad von libgtk kann sich in Ihr system, um den Pfad zu überprüfen, verwenden Sie den folgenden Befehl ein:)
U erhalten, sollten Sie eine Ausgabe ähnlich zu:
Installieren Sie jetzt die libsmtp (oder das gewünschte Programm).
Wenn Sie Glück haben, dann würde u Sie installieren Ihre gewünschte Anwendung.