When running PostgreSQL with the uuid-ossp extension the server fails with signal 10 (bus error).
A simple test program that links against the /usr/local/libuuid.a works correctly. It call uuid_create(), uuid_make() and prints the uuid returned. It was compiled/linked: cc -o uuid-test uuid-test.c -I/usr/local/include -L/usr/local/lib -luuid ldd shows only libc.so.7, so the libuuid is linked in statically. By inserting syslog() calls in the libuuid I found that PostgreSQL does not call the libuuid uuid_create(). My first attempt at a fix was to create a uuid_create_ossp() wrapper function to call uuid_create() in the uuid library. Does not work with PostgreSQL, test was still ok. Renaming the uuid_create() to uuid_create_ossp() and having the wrapper called uuid_create() allows both programs to work. It looks like the uuid_create() that is called is the FreeBSD one in libc. It seems like the libc is taking priority over the /usr/local/lib/libuuid.a Does anyone know of a way to force the linker to chose a symbol from a specific library? Or perhaps force the linker to consider all symbols from static libraries before proceeding to libc? -- Best regards. Christopher Hall _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"