unresolved references beim Kompilieren von debian-sourcen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

unresolved references beim Kompilieren von debian-sourcen

Beitrag von hupfdule » 27.06.2003 22:55:18

Hallo, ich möchte gern exim mit mysql/postgresql/ldap-support haben. Da das Debian-Paket diese nicht mitbringt wollte ich selbiges selbst kompilieren. Leider ist die Sache nicht ganz einfach.
Ich habe die benötigten -dev Bibliotheken für mysql, postgresql und ldap installiert. Dann habe ich noch in der Local/Makefile (die exim für die Kompilierung braucht) die Option LOOKUP_INCLUDE auf /usr/include/mysql und /usr/include/postgresql gesetzt. Jetzt bekomme ich aber folgende Fehlermeldung beim Kompilieren:

Code: Alles auswählen

:lookups/lookups.a(mysql.o): In function `mysql_tidy':
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:73:
undefined reference to `mysql_close'
lookups/lookups.a(mysql.o): In function `perform_mysql_search':
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:178:
undefined reference to `mysql_init'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:180:
undefined reference to `mysql_real_connect'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:183:
undefined reference to `mysql_error'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:209:
undefined reference to `mysql_query'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:211:
undefined reference to `mysql_error'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:219:
undefined reference to `mysql_use_result'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:221:
undefined reference to `mysql_error'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:230:
undefined reference to `mysql_num_fields'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:235:
undefined reference to `mysql_fetch_fields'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:239:
undefined reference to `mysql_fetch_lengths'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:277:
undefined reference to `mysql_fetch_row'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/mysql.c:297:
undefined reference to `mysql_free_result'
lookups/lookups.a(pgsql.o): In function `pgsql_tidy':
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:70:
undefined reference to `PQfinish'
lookups/lookups.a(pgsql.o): In function `perform_pgsql_search':
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:176:
undefined reference to `PQsetdbLogin'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:178:
undefined reference to `PQstatus'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:180:
undefined reference to `PQerrorMessage'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:182:
undefined reference to `PQfinish'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:206:
undefined reference to `PQexec'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:207:
undefined reference to `PQresultStatus'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:215:
undefined reference to `PQresultErrorMessage'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:224:
undefined reference to `PQnfields'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:225:
undefined reference to `PQntuples'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:237:
undefined reference to `PQgetlength'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:237:
undefined reference to `PQgetvalue'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:246:
undefined reference to `PQfname'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:252:
undefined reference to `PQgetvalue'
/home/herrn/exim-tls-3.35/build-Linux-i386/lookups/pgsql.c:292:
undefined reference to `PQclear'
collect2: ld returned 1 exit status
make[2]: *** [exim] Error 1
make[1]: *** [go] Error 2
make: *** [build] Error 2
awk '{ print ($1+1) }' cnumber.h > cnumber.temp
/bin/rm -f cnumber.h; mv cnumber.temp cnumber.h
gcc -c -O2 -g -Wall    version.c
/bin/rm -f exim
gcc -o exim  accept.o child.o daemon.o dbfn.o debug.o deliver.o
direct.o directory.o dns.o drtables.o exim.o expand.o filter.o
globals.o header.o host.o log.o match.o moan.o os.o parse.o queue.o
readconf.o retry.o rewrite.o route.o search.o smtp_in.o smtp_out.o
spool_in.o spool_out.o store.o string.o tls.o tod.o transport.o tree.o
verify.o  version.o \
  -lident -lpcre directors/directors.a \
  routers/routers.a transports/transports.a lookups/lookups.a \
  auths/auths.a \
  -lnsl -lcrypt -lpam     \
  -ldb -lresolv -lldap -llber  -lssl -lcrypto
make[2]: Leaving directory
`/home/herrn/exim-tls-3.35/build-Linux-i386'
make[1]: Leaving directory `/home/herrn/exim-tls-3.35'
Was kann ich tun?

Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Beitrag von hupfdule » 27.06.2003 23:21:28

Ich habe den Fehler gefunden. Die LOOKUP_LIBS Optionen mussten auch noch gesetzt werden. Jetzt hat es geklappt.

Benutzeravatar
smilebef
Beiträge: 35
Registriert: 27.12.2002 02:06:43
Wohnort: großes B. an der S.

veröffentlichen

Beitrag von smilebef » 02.08.2003 00:03:38

ich hoffe du versuchst das packet auf sid hochzuladen
MfG
Smilie

Antworten