building evolution 1.4.5
I downloaded the unstable source package for evolution 1.45 and am
attempting to build it on my mostly testing (sarge) box.
It seems that the package includes the source for libdb3 (3.17 in
particular) and compiles that in staticly. The problem is that all
though the db3 library gets built fine, when the the script tries to
build evolution, it "cant find the library name" - even though it
determines that the library has indeed been built and is located at the
appropriate place in the build tree. What seems to be happening is that
the test which it performs to "find the library name" (whatever that
means) is to compile a small c program using the library, and that
compilation is failing like so:
--=[from the config.log]=--
configure:22254: checking for db3 library name
configure:22291: cc -o conftest -fPIC
/usr/local/src/evolution/evolution-1.4.5/build-tree/db3/lib/libdb.a(mut_pthread.o)(.text+0xce): In function `__db_pthread_mutex_init':
: undefined reference to `pthread_condattr_setpshared'
/usr/local/src/evolution/evolution-1.4.5/build-tree/db3/lib/libdb.a(mut_pthread.o)(.text+0xe8): In function `__db_pthread_mutex_init':
: undefined reference to `pthread_mutexattr_init'
/usr/local/src/evolution/evolution-1.4.5/build-tree/db3/lib/libdb.a(mut_pthread.o)(.text+0x104): In function `__db_pthread_mutex_init':
: undefined reference to `pthread_mutexattr_setpshared'
/usr/local/src/evolution/evolution-1.4.5/build-tree/db3/lib/libdb.a(mut_pthread.o)(.text+0x139): In function `__db_pthread_mutex_init':
: undefined reference to `pthread_mutexattr_destroy'
/usr/local/src/evolution/evolution-1.4.5/build-tree/db3/lib/libdb.a(mut_pthread.o)(.text+0x1f2): In function `__db_pthread_mutex_lock':
: undefined reference to `pthread_mutex_trylock'
collect2: ld returned 1 exit status
configure:22294: $? = 1
configure: failed program was:
| #line 22265 "configure"
| /* confdefs.h. */
| #define PACKAGE_NAME "evolution"
| #define PACKAGE_TARNAME "evolution"
| #define PACKAGE_VERSION "1.4.5"
| #define PACKAGE_STRING "evolution 1.4.5"
| #define PACKAGE_BUGREPORT
| #define PACKAGE "evolution"
| #define VERSION "1.4.5"
| #define VERSION_COMMENT ""
| #define YYTEXT_POINTER 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_LC_MESSAGES 1
| #define HAVE_BIND_TEXTDOMAIN_CODESET 1
| #define HAVE_GETTEXT 1
| #define HAVE_DCGETTEXT 1
| #define ENABLE_NLS 1
| #define GETTEXT_PACKAGE "evolution-1.4"
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #define HAVE_ALLOCA_H 1
| #define SENDMAIL_PATH "/usr/sbin/sendmail"
| #define SYSTEM_MAIL_DIR "/var/mail"
| #define HAVE_TM_GMTOFF 1
| #define HAVE_MKSTEMP 1
| #define HAVE_MKDTEMP 1
| #define HAVE_ISBLANK 1
| #define HAVE_GETHOSTBYNAME_R 1
| #define HAVE_GETHOSTBYADDR_R 1
| #define EVOLUTION_DB_VERSION_MAJOR 3
| #define EVOLUTION_DB_VERSION_MINOR 1
| #define EVOLUTION_DB_VERSION_PATCH 17
| #define HAVE_DB_H 1
| /* end confdefs.h. */
| #ifdef HAVE_DB3_DB_H
| #include <db3/db.h>
| #include <db.h>
| main ()
| DB *db;
| db_create (&db, 0, 0);
| return 0;
Now, it looks to me like the db3 library is trying to use functions
which are not in glib or something (i think pthread stuff is in glib &
gcc links against that by default, right? - I'm not really a C
programmer). The thing is, the glib libraries are the same in both
testing and unstable, but _someone_ seems to have been able to compile
it properly, so it seems like I'm just missing something. Anyone know
what It might be?
any enlightement would be greatly appreciated,