After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 616452 - [OpenBSD] Do not set '-Wl,--no-undefined' on freebsd/openbsd
[OpenBSD] Do not set '-Wl,--no-undefined' on freebsd/openbsd
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: general
2.30.x (obsolete)
Other OpenBSD
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-04-21 23:14 UTC by Antoine Jacoutot
Modified: 2010-12-13 12:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test.c (174 bytes, text/plain)
2010-10-05 07:03 UTC, Milan Crha
Details

Description Antoine Jacoutot 2010-04-21 23:14:58 UTC
Hi.

Trying to build evolution-data-server 2.30.0 on OpenBSD fails with the following:
(removing -Wl,--no-undefined from LDFLAGS obviously "fixes" it but...)


mv -f .deps/libedataserver_1_2_la-e-xml-hash-utils.Tpo .deps/libedataserver_1_2_la-e-xml-hash-utils.Plo

/usr/local/bin/libtool   --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I..  -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\""/usr/local/share/locale"\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\""/usr/local/share/evolution-data-server-2.30/ui"\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include  -I/usr/local/include/nspr  -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include   -I/usr/local/include -I/usr/local/include/db4  -O2 -pipe -Wall -MT libedataserver_1_2_la-eds-version.lo -MD -MP -MF .deps/libedataserver_1_2_la-eds-version.Tpo -c -o libedataserver_1_2_la-eds-version.lo `test -f 'eds-version.c' || echo './'`eds-version.c

 cc -DHAVE_CONFIG_H -I. -I.. -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\"/usr/local/share/locale\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\"/usr/local/share/evolution-data-server-2.30/ui\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/nspr -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/db4 -O2 -pipe -Wall -MT libedataserver_1_2_la-eds-version.lo -MD -MP -MF .deps/libedataserver_1_2_la-eds-version.Tpo -c eds-version.c  -fPIC -DPIC -o .libs/libedataserver_1_2_la-eds-version.o

 cc -DHAVE_CONFIG_H -I. -I.. -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\"/usr/local/share/locale\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\"/usr/local/share/evolution-data-server-2.30/ui\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/nspr -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/db4 -O2 -pipe -Wall -MT libedataserver_1_2_la-eds-version.lo -MD -MP -MF .deps/libedataserver_1_2_la-eds-version.Tpo -c eds-version.c -o libedataserver_1_2_la-eds-version.o >/dev/null 2>&1

mv -f .deps/libedataserver_1_2_la-eds-version.Tpo .deps/libedataserver_1_2_la-eds-version.Plo

/usr/local/bin/libtool   --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I..  -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\""/usr/local/share/locale"\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\""/usr/local/share/evolution-data-server-2.30/ui"\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include  -I/usr/local/include/nspr  -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include   -I/usr/local/include -I/usr/local/include/db4  -O2 -pipe -Wall -MT libedataserver_1_2_la-md5-utils.lo -MD -MP -MF .deps/libedataserver_1_2_la-md5-utils.Tpo -c -o libedataserver_1_2_la-md5-utils.lo `test -f 'md5-utils.c' || echo './'`md5-utils.c

 cc -DHAVE_CONFIG_H -I. -I.. -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\"/usr/local/share/locale\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\"/usr/local/share/evolution-data-server-2.30/ui\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/nspr -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/db4 -O2 -pipe -Wall -MT libedataserver_1_2_la-md5-utils.lo -MD -MP -MF .deps/libedataserver_1_2_la-md5-utils.Tpo -c md5-utils.c  -fPIC -DPIC -o .libs/libedataserver_1_2_la-md5-utils.o

 cc -DHAVE_CONFIG_H -I. -I.. -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -fno-strict-aliasing -I.. -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"/usr/local\" -DEVOLUTION_LOCALEDIR=\"/usr/local/share/locale\" -DE_DATA_SERVER_EXTENSIONDIR=\"/usr/local/lib/evolution-data-server-1.2/extensions\" -DE_DATA_SERVER_IMAGESDIR=\"/usr/local/share/pixmaps/evolution-data-server\" -DE_DATA_SERVER_UI_UIDIR=\"/usr/local/share/evolution-data-server-2.30/ui\" -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/gconf/2 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/nspr -I/usr/local/include/libsoup-2.4 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/db4 -O2 -pipe -Wall -MT libedataserver_1_2_la-md5-utils.lo -MD -MP -MF .deps/libedataserver_1_2_la-md5-utils.Tpo -c md5-utils.c -o libedataserver_1_2_la-md5-utils.o >/dev/null 2>&1

mv -f .deps/libedataserver_1_2_la-md5-utils.Tpo .deps/libedataserver_1_2_la-md5-utils.Plo

/usr/local/bin/libtool   --tag=CC   --mode=link cc  -O2 -pipe -Wall -version-info 11:1:0  -L/usr/local/lib -Wl,--no-undefined -o libedataserver-1.2.la -rpath /usr/local/lib libedataserver_1_2_la-e-account-list.lo libedataserver_1_2_la-e-account.lo libedataserver_1_2_la-e-categories.lo libedataserver_1_2_la-e-flag.lo libedataserver_1_2_la-e-iconv.lo libedataserver_1_2_la-e-iterator.lo libedataserver_1_2_la-e-list.lo libedataserver_1_2_la-e-list-iterator.lo libedataserver_1_2_la-e-memory.lo libedataserver_1_2_la-e-msgport.lo libedataserver_1_2_la-e-proxy.lo libedataserver_1_2_la-e-sexp.lo libedataserver_1_2_la-e-source-group.lo libedataserver_1_2_la-e-source-list.lo libedataserver_1_2_la-e-source.lo libedataserver_1_2_la-e-time-utils.lo libedataserver_1_2_la-e-uid.lo libedataserver_1_2_la-e-url.lo libedataserver_1_2_la-e-data-server-util.lo libedataserver_1_2_la-e-trie.lo libedataserver_1_2_la-e-xml-utils.lo libedataserver_1_2_la-e-xml-hash-utils.lo libedataserver_1_2_la-eds-version.lo libedataserver_1_2_la-md5-utils.lo -L/usr/local/lib -pthread -lsoup-2.4 -lgio-2.0 -lxml2 -lgnutls -lgconf-2 -lORBit-2 -lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -ldbus-1 -pthread -L/usr/local/lib  -lplc4 -lplds4 -lnspr4 -pthread  -liconv  -L/usr/local/lib -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lxml2 -lgnutls   

cc -shared  -fPIC -DPIC -o .libs/libedataserver-1.2.so.10.1  .libs/libedataserver_1_2_la-e-account-list.o .libs/libedataserver_1_2_la-e-account.o .libs/libedataserver_1_2_la-e-categories.o .libs/libedataserver_1_2_la-e-flag.o .libs/libedataserver_1_2_la-e-iconv.o .libs/libedataserver_1_2_la-e-iterator.o .libs/libedataserver_1_2_la-e-list.o .libs/libedataserver_1_2_la-e-list-iterator.o .libs/libedataserver_1_2_la-e-memory.o .libs/libedataserver_1_2_la-e-msgport.o .libs/libedataserver_1_2_la-e-proxy.o .libs/libedataserver_1_2_la-e-sexp.o .libs/libedataserver_1_2_la-e-source-group.o .libs/libedataserver_1_2_la-e-source-list.o .libs/libedataserver_1_2_la-e-source.o .libs/libedataserver_1_2_la-e-time-utils.o .libs/libedataserver_1_2_la-e-uid.o .libs/libedataserver_1_2_la-e-url.o .libs/libedataserver_1_2_la-e-data-server-util.o .libs/libedataserver_1_2_la-e-trie.o .libs/libedataserver_1_2_la-e-xml-utils.o .libs/libedataserver_1_2_la-e-xml-hash-utils.o .libs/libedataserver_1_2_la-eds-version.o .libs/libedataserver_1_2_la-md5-utils.o  -L/usr/local/lib -lgconf-2 -L/usr/ports/pobj/ORBit2-2.14.18/ORBit2-2.14.18/src/services/name/.libs -L/usr/ports/pobj/ORBit2-2.14.18/ORBit2-2.14.18/src/services/imodule/.libs -L/usr/ports/pobj/ORBit2-2.14.18/ORBit2-2.14.18/src/orb/.libs -ldbus-glib-1 -lORBit-2 -ldbus-1 -lplc4 -lplds4 -lnspr4 -lsoup-2.4 -lgthread-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lpcre -lxml2 -lm -lgnutls -ltasn1 -lz -lgcrypt -lgpg-error -lintl -liconv  -Wl,--no-undefined -pthread -pthread -pthread -pthread -pthread -pthread -pthread

.libs/libedataserver_1_2_la-e-account-list.o(.text+0x7d): In function `.L12':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account-list.o(.text+0xf6): In function `.L10':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account-list.o(.text+0x111): In function `.L8':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account-list.o(.text+0x12f): In function `.L9':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account-list.o(.text+0x23c): In function `e_account_list_get_default':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account-list.o(.text+0x650): more undefined references to `strcmp' follow

.libs/libedataserver_1_2_la-e-account.o(.text+0x183): In function `ea_setting_notify':

: undefined reference to `strrchr'

.libs/libedataserver_1_2_la-e-account.o(.text+0x2e7): In function `ea_setting_setup':

: undefined reference to `sprintf'

.libs/libedataserver_1_2_la-e-account.o(.text+0x40d): In function `e_account_writable_option':

: undefined reference to `sprintf'

.libs/libedataserver_1_2_la-e-account.o(.text+0x45b): In function `e_account_writable_option':

: undefined reference to `sprintf'

.libs/libedataserver_1_2_la-e-account.o(.text+0x695): In function `e_account_set_string':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account.o(.text+0x9a3): In function `xml_set_prop':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-account.o(.text+0xd1a): In function `e_account_to_xml':

: undefined reference to `sprintf'

.libs/libedataserver_1_2_la-e-account.o(.text+0x1097): In function `e_account_to_xml':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-e-account.o(.text+0x11af): In function `xml_set_int':

: undefined reference to `strtol'

.libs/libedataserver_1_2_la-e-account.o(.text+0x121e): In function `xml_set_content':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x1df): In function `e_iconv_init':

: undefined reference to `setlocale'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x230): In function `e_iconv_init':

: undefined reference to `nl_langinfo'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x24f): In function `e_iconv_init':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x531): In function `e_iconv_charset_name':

: undefined reference to `strcpy'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x609): In function `e_iconv_charset_name':

: undefined reference to `strtoul'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x63b): In function `e_iconv_charset_name':

: undefined reference to `strtoul'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0x859): In function `e_iconv_open':

: undefined reference to `sprintf'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0xa8b): In function `e_iconv_open':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0xb53): In function `e_iconv_open':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-iconv.o(.text+0xb85): In function `e_iconv_open':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-memory.o(.text+0x59c): In function `e_mempool_strdup':

: undefined reference to `strcpy'

.libs/libedataserver_1_2_la-e-memory.o(.text+0xc1a): In function `e_memchunk_alloc0':

: undefined reference to `memset'

.libs/libedataserver_1_2_la-e-memory.o(.text+0x102b): In function `e_strv_set':

: undefined reference to `strcpy'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x146): In function `thread_find':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x222): In function `e_mutex_lock':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x245): In function `e_mutex_lock':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x254): In function `e_mutex_lock':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x27c): In function `e_mutex_lock':

: undefined reference to `pthread_cond_wait'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x29c): In function `e_mutex_lock':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x2b0): In function `e_mutex_lock':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x2f3): In function `thread_destroy_msg':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x307): In function `thread_destroy_msg':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x349): In function `e_thread_set_msg_received':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x35d): In function `e_thread_set_msg_received':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x38f): In function `e_thread_set_msg_lost':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x39e): In function `e_thread_set_msg_lost':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x3cd): In function `e_thread_set_msg_destroy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x3e1): In function `e_thread_set_msg_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x419): In function `e_mutex_cond_wait':

: undefined reference to `pthread_cond_wait'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x477): In function `e_mutex_cond_wait':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x4b5): In function `e_mutex_cond_wait':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x4c1): In function `e_mutex_cond_wait':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x4d6): In function `e_mutex_cond_wait':

: undefined reference to `pthread_cond_wait'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x4ff): In function `e_mutex_cond_wait':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x50b): In function `e_mutex_cond_wait':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x51d): In function `e_mutex_cond_wait':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x551): In function `e_mutex_assert_locked':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x589): In function `e_mutex_assert_locked':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x595): In function `e_mutex_assert_locked':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x5a5): In function `e_mutex_assert_locked':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x5fa): In function `e_mutex_unlock':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x610): In function `e_mutex_unlock':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x630): In function `e_mutex_unlock':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x66c): In function `e_mutex_unlock':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x678): In function `e_mutex_unlock':

: undefined reference to `pthread_equal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x6a7): In function `e_mutex_unlock':

: undefined reference to `pthread_cond_signal'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x6b3): In function `e_mutex_unlock':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x80a): In function `e_mutex_destroy':

: undefined reference to `pthread_mutex_destroy'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x848): In function `e_mutex_destroy':

: undefined reference to `pthread_mutex_destroy'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x85a): In function `e_mutex_destroy':

: undefined reference to `pthread_cond_destroy'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x869): In function `e_mutex_destroy':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x896): In function `e_mutex_destroy':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x90b): In function `e_mutex_new':

: undefined reference to `pthread_mutex_init'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x929): In function `e_mutex_new':

: undefined reference to `pthread_mutex_init'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x936): In function `e_mutex_new':

: undefined reference to `pthread_cond_init'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x96f): In function `e_thread_busy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x9a2): In function `e_thread_busy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x9dc): In function `e_thread_busy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xa15): In function `e_thread_busy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xa4e): In function `msgport_sync_with_pipe':

: undefined reference to `read'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xa5a): In function `msgport_sync_with_pipe':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xa64): In function `msgport_sync_with_pipe':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xcda): In function `e_msgport_put':

: undefined reference to `write'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xcea): In function `e_msgport_put':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xcf4): In function `e_msgport_put':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xe17): In function `e_thread_put':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xe5f): In function `e_thread_put':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xe74): In function `e_thread_put':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xe86): In function `e_thread_put':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xef9): In function `e_thread_put':

: undefined reference to `pthread_create'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xf31): In function `e_thread_put':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xf64): In function `e_thread_put':

: undefined reference to `puts'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xf93): In function `e_thread_put':

: undefined reference to `puts'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0xfc8): In function `e_thread_put':

: undefined reference to `pthread_create'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1035): In function `e_thread_put':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x10ce): In function `thread_dispatch':

: undefined reference to `pthread_self'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x10ef): In function `thread_dispatch':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1133): In function `thread_dispatch':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x113c): In function `thread_dispatch':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1151): In function `thread_dispatch':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x11cc): In function `thread_dispatch':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1205): In function `thread_dispatch':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x121c): In function `thread_dispatch':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1314): In function `e_msgport_fd':

: undefined reference to `pipe'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x137c): In function `e_msgport_destroy':

: undefined reference to `close'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1385): In function `e_msgport_destroy':

: undefined reference to `close'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x142a): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x144d): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1485): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1497): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x14a7): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x14b0): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_destroy'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x151c): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1527): In function `e_thread_destroy':

: undefined reference to `pthread_join'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1530): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x158b): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1595): In function `e_thread_destroy':

: undefined reference to `pthread_join'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x159e): In function `e_thread_destroy':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1623): In function `e_thread_new':

: undefined reference to `pthread_mutex_init'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x164d): In function `e_thread_new':

: undefined reference to `pthread_mutex_lock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x1664): In function `e_thread_new':

: undefined reference to `pthread_mutex_unlock'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x16cc): In function `em_cache_lookup':

: undefined reference to `time'

.libs/libedataserver_1_2_la-e-msgport.o(.text+0x179d): In function `em_cache_add':

: undefined reference to `time'

.libs/libedataserver_1_2_la-e-proxy.o(.text+0x18a): In function `ep_is_in_ignored':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-proxy.o(.text+0xad8): In function `ep_parse_ignore_host':

: undefined reference to `strrchr'

.libs/libedataserver_1_2_la-e-proxy.o(.text+0xbdf): In function `ep_parse_ignore_host':

: undefined reference to `strtol'

.libs/libedataserver_1_2_la-e-proxy.o(.text+0xd07): In function `ep_parse_ignore_host':

: undefined reference to `strtol'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0xcd): In function `parse_term_free':

: undefined reference to `printf'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0x778): In function `e_sexp_fatal_error':

: undefined reference to `longjmp'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0xa0f): In function `e_sexp_parse':

: undefined reference to `setjmp'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0xe88): In function `e_sexp_eval':

: undefined reference to `setjmp'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0x10b8): In function `term_eval_eq':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0x1235): In function `term_eval_castint':

: undefined reference to `strtoul'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0x15ef): In function `term_eval_gt':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-sexp.o(.text+0x1703): In function `term_eval_lt':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x1bc): In function `e_source_group_peek_source_by_uid':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x238): In function `e_source_group_peek_source_by_name':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x8bc): In function `e_source_group_remove_source_by_uid':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0xf3a): In function `e_source_group_to_xml':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x1180): In function `e_source_group_set_name':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x12e2): In function `e_source_group_update_from_xmldoc':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-group.o(.text+0x1314): In function `e_source_group_update_from_xmldoc':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-list.o(.text+0x781): In function `e_source_list_peek_group_by_name':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source-list.o(.text+0x83d): In function `e_source_list_peek_group_by_uid':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source.o(.text+0x427): more undefined references to `strcmp' follow

.libs/libedataserver_1_2_la-e-source.o(.text+0xf6b): In function `e_source_get_color':

: undefined reference to `sscanf'

.libs/libedataserver_1_2_la-e-source.o(.text+0x138b): In function `e_source_to_standalone_xml':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-e-source.o(.text+0x16fa): In function `e_source_set_absolute_uri':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-source.o(.text+0x1930): In function `e_source_set_name':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x24): In function `string_is_empty':

: undefined reference to `_ctype_'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x73): In function `e_time_get_d_fmt_with_4digit_year':

: undefined reference to `nl_langinfo'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x92): In function `e_time_get_d_fmt_with_4digit_year':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0xc5): In function `e_localtime_with_offset':

: undefined reference to `localtime_r'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0xfc): In function `e_mktime_utc':

: undefined reference to `mktime'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x2fd): In function `parse_with_strptime':

: undefined reference to `_ctype_'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x367): In function `parse_with_strptime':

: undefined reference to `strptime'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x385): In function `parse_with_strptime':

: undefined reference to `_ctype_'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x63a): In function `correct_two_digit_year':

: undefined reference to `time'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0x648): In function `correct_two_digit_year':

: undefined reference to `localtime'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0xa6e): In function `e_time_parse_date_and_time_ex':

: undefined reference to `time'

.libs/libedataserver_1_2_la-e-time-utils.o(.text+0xa7c): In function `e_time_parse_date_and_time_ex':

: undefined reference to `localtime'

.libs/libedataserver_1_2_la-e-uid.o(.text+0x38): In function `e_uid_new':

: undefined reference to `getpid'

.libs/libedataserver_1_2_la-e-uid.o(.text+0x44): In function `e_uid_new':

: undefined reference to `time'

.libs/libedataserver_1_2_la-e-url.o(.text+0x1c): In function `uri_decode':

: undefined reference to `_tolower_tab_'

.libs/libedataserver_1_2_la-e-url.o(.text+0x50): In function `uri_decode':

: undefined reference to `_ctype_'

.libs/libedataserver_1_2_la-e-url.o(.text+0xc9): In function `uri_decode':

: undefined reference to `_tolower_tab_'

.libs/libedataserver_1_2_la-e-url.o(.text+0x541): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x57e): In function `e_uri_new':

: undefined reference to `_ctype_'

.libs/libedataserver_1_2_la-e-url.o(.text+0x613): In function `e_uri_new':

: undefined reference to `memchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x640): In function `e_uri_new':

: undefined reference to `memchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x692): In function `e_uri_new':

: undefined reference to `memchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x70f): In function `e_uri_new':

: undefined reference to `memchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x802): In function `e_uri_new':

: undefined reference to `strcspn'

.libs/libedataserver_1_2_la-e-url.o(.text+0x811): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x842): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x89e): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x8c6): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x8f3): In function `e_uri_new':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-url.o(.text+0x978): In function `e_uri_new':

: undefined reference to `strtoul'

.libs/libedataserver_1_2_la-e-url.o(.text+0xaba): In function `e_url_shroud':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-e-url.o(.text+0xac8): In function `e_url_shroud':

: undefined reference to `strcpy'

.libs/libedataserver_1_2_la-e-url.o(.text+0xb5b): In function `e_url_equal':

: undefined reference to `strncmp'

.libs/libedataserver_1_2_la-e-data-server-util.o(.text+0x107): In function `e_filename_make_safe':

: undefined reference to `strchr'

.libs/libedataserver_1_2_la-e-data-server-util.o(.text+0x158): In function `e_strftime':

: undefined reference to `strftime'

.libs/libedataserver_1_2_la-e-data-server-util.o(.text+0x1e9): In function `e_utf8_strftime':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-e-data-server-util.o(.text+0x325): In function `e_util_utf8_strcasecmp':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0xf6): In function `e_xml_save_file':

: undefined reference to `open'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x146): In function `e_xml_save_file':

: undefined reference to `write'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x153): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x172): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x17f): In function `e_xml_save_file':

: undefined reference to `close'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x196): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x1c4): In function `e_xml_save_file':

: undefined reference to `fsync'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x1d7): In function `e_xml_save_file':

: undefined reference to `close'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x1e2): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x210): In function `e_xml_save_file':

: undefined reference to `rename'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x239): In function `e_xml_save_file':

: undefined reference to `close'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x250): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-utils.o(.text+0x268): In function `e_xml_save_file':

: undefined reference to `__errno'

.libs/libedataserver_1_2_la-e-xml-hash-utils.o(.text+0x157): In function `e_xmlhash_compare':

: undefined reference to `strcmp'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xb31): In function `md5_get_digest':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xc98): In function `md5_update':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xcbc): In function `md5_update':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xce0): In function `md5_update':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xcf6): In function `md5_update':

: undefined reference to `memcpy'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xd4f): In function `md5_final':

: undefined reference to `memset'

.libs/libedataserver_1_2_la-md5-utils.o(.text+0xda1): In function `md5_final':

: undefined reference to `memset'

collect2: ld returned 1 exit status

gmake[2]: *** [libedataserver-1.2.la] Error 1

gmake[2]: Leaving directory `/usr/obj/ports/evolution-data-server-2.30.0/evolution-data-server-2.30.0/libedataserver'

gmake[1]: *** [all-recursive] Error 1

gmake[1]: Leaving directory `/usr/obj/ports/evolution-data-server-2.30.0/evolution-data-server-2.30.0'

gmake: *** [all] Error 2

*** Error code 2
Comment 1 Milan Crha 2010-09-30 12:36:29 UTC
Thanks for a bug report, but this seems to be an OpenBSD bug, from my point of view. I know it was hard to build evolution packages there, but since we added "--no-undefined" then it should be easier, because it also claims on other Linux distributions, when something similar happens.

What I do not understand most, from the above, is that about pthread functions, and standard functions from string.h. I see clearly that the files are linked together with -pthread (it's there seven times), but your linker is still unhappy, which doesn't make sense to me. I would start investigating there.
Comment 2 Antoine Jacoutot 2010-10-04 14:34:00 UTC
(In reply to comment #1)
> Thanks for a bug report, but this seems to be an OpenBSD bug, from my point of
> view. I know it was hard to build evolution packages there, but since we added

Well, we have had evolution packages for more than 8 years on OpenBSD now and the only issues we ever ran into in building was always related to undefined references. However the difference is that it used to be references to internal evolution (or eds) functions and changing the objects link order would work around it.

This time it is different.

> "--no-undefined" then it should be easier, because it also claims on other
> Linux distributions, when something similar happens.

Sure I understand that, but we are not Linux. As far as I can see, FreeBSD also removed the --no-undefined from its port, probably for a similar reason.

> What I do not understand most, from the above, is that about pthread functions,
> and standard functions from string.h. I see clearly that the files are linked
> together with -pthread (it's there seven times), but your linker is still
> unhappy, which doesn't make sense to me. I would start investigating there.

I'm also more worried about the undefined references are against standard libc functions rather than the -pthread ones. I'm perfectly opened to hear it's an OpenBSD bug (and FreeBSD, and probably NetBSD, haven't checked), but eds and evolution are the only softwares which I run into such an issue.

Hopefully I can find what's going on and will post the result here...
Thanks.
Comment 3 Milan Crha 2010-10-05 07:03:22 UTC
Created attachment 171740 [details]
test.c

Are you able to compile this source file without any issue? The first two lines contain commands for compilation. In case it'll not claim any issue, try to add other parameters to the 'cc' command, as shown in your error message (like --shared -fPIC -DPIC).
Comment 4 Antoine Jacoutot 2010-10-05 07:17:48 UTC
Yup, no issue compiling this.
As for the cc case:
$ cc --shared -fPIC -DPIC test.o -o test -Wl,--no-undefined -pthread
is happy.
Comment 5 Milan Crha 2010-10-05 07:49:52 UTC
OK, what about involving libtool:
/usr/local/bin/libtool --tag=CC --mode=compile cc test.c -o test.o -Wall -c
/usr/local/bin/libtool --tag=CC --mode=link cc -O2 -pipe -Wall test.o -o test
Comment 6 Antoine Jacoutot 2010-10-05 08:06:05 UTC
Same, works fine.
Comment 7 Milan Crha 2010-10-05 08:23:20 UTC
Hrm. I thought that (and I suppose you also removed test.o and test files to ensure they will be recreated). I do not see much difference between invocation suggested above and the one used in eds.
Comment 8 Antoine Jacoutot 2010-10-05 08:37:00 UTC
(In reply to comment #7)
> Hrm. I thought that (and I suppose you also removed test.o and test files to
> ensure they will be recreated). I do not see much difference between invocation

Of course :)

> suggested above and the one used in eds.

I know, and that is why I posted this bug report in the first place. This should not happen and it actually doesn't, except when compiling eds and evolution...

Anyway, as stated in a previous answer, I'll keep looking into this and if I can find anything worthy, I'll post the results here.
Thanks.
Comment 9 Milan Crha 2010-10-05 09:57:17 UTC
OK, thanks too. I got out of idea a bit. :(
Comment 10 Antoine Jacoutot 2010-10-07 07:34:33 UTC
Ok, so after several chats with other OpenBSD developers and our ld maintainer, it seems it is a "normal" behavior under OpenBSD.
ld man page states that:

           The reason that --allow-shlib-undefined is the default is that the
           shared library being specified at link time may not be the same as
           the one that is available at load time, so the symbols might
           actually be resolvable at load time.  Plus there are some systems,
           (eg BeOS) where undefined symbols in shared libraries is normal.
           (The kernel patches them at load time to select which function is
           most appropriate for the current architecture.  This is used for
           example to dynamically select an appropriate memset function).
           Apparently it is also normal for HPPA shared libraries to have
           undefined symbols.

Our ld maintainer also told that there are times where undefined symbols are used to optionally pick up a function only if a library providing it is included.

Seeing both FreeBSD and OpenBSD remove -Wl,--no-undefined from evolution and e-d-s, I suppose this only work on Linux and maybe a few others. I cannot answer from FreeBSD side, but I think a check could be made in configure.ac to add -Wl,--no-undefined if !OpenBSD.

Thanks for your time on this, things make more sense now.
Comment 11 Milan Crha 2010-12-10 16:15:08 UTC
How do you check in configure.ac for is/is-no Free/OpenBSD properly, please? I can add these checks to evo-related packages, I only want to know how to do that in the right way. There is checked for win32 builds based on $host, so something similar may work for you too? If so, what is the value, please?
Comment 12 Antoine Jacoutot 2010-12-11 14:14:12 UTC
(In reply to comment #11)
> How do you check in configure.ac for is/is-no Free/OpenBSD properly, please? I
> can add these checks to evo-related packages, I only want to know how to do
> that in the right way. There is checked for win32 builds based on $host, so
> something similar may work for you too? If so, what is the value, please?

Sure host is fine.
Something like the following will do.

case "$host" in
	*openbsd*|*freebsd*)
Comment 13 Milan Crha 2010-12-13 10:33:14 UTC
Thanks, I'll add it there.
Comment 14 Milan Crha 2010-12-13 12:08:24 UTC
Created commit f4a317d in eds master (2.91.4+)
Created commit da223fc in evo master (2.91.4+)