Shared-mime-info won't compile
Nikola Lecic
nlecic at EUnet.yu
Mon Aug 20 17:47:48 PDT 2007
On Mon, 20 Aug 2007 16:07:07 -0700 (PDT)
David LeCount <snailboy1 at yahoo.com> wrote:
> I've been having a problem for a long time trying to
> compile the shared-mime-info port. Below is the error
> I'm getting. I have tried recompiling libxml2 and
> everything shared-mime-info depends on.
>
> gmake[1]: Entering directory
> `/usr/ports/misc/shared-mime-info/work/shared-mime-info-0.22'
> cc -DHAVE_CONFIG_H -I. -I/usr/local/include/libxml2
> -I/usr/local/include -I/usr/local/include/glib-2.0
> -I/usr/local/lib/glib-2.0/include
> -I/usr/local/include -I/usr/local/include/libxml2
> -I/usr/local/include -I/usr/local/include/glib-2.0
> -I/usr/local/lib/glib-2.0/include -g -O2 -pipe
> -Wall -Wstrict-prototypes -Wmissing-prototypes
> -Wwrite-strings -MT
> update_mime_database-update-mime-database.o -MD -MP
> -MF
> .deps/update_mime_database-update-mime-database.Tpo -c
> -o update_mime_database-update-mime-database.o `test
> -f 'update-mime-database.c' || echo
> './'`update-mime-database.c
> mv -f
> .deps/update_mime_database-update-mime-database.Tpo
> .deps/update_mime_database-update-mime-database.Po
> cc -I/usr/local/include/libxml2 -I/usr/local/include
> -I/usr/local/include/glib-2.0
> -I/usr/local/lib/glib-2.0/include -g -O2 -pipe
> -Wall -Wstrict-prototypes -Wmissing-prototypes
> -Wwrite-strings -L/usr/local/lib -o
> update-mime-database
> update_mime_database-update-mime-database.o
> -L/usr/local/lib -lxml2 -lglib-2.0 -liconv
> /usr/local/lib/libxml2.so: undefined reference to
> `pthread_equal'
Hello David,
Just to be sure: your ports tree is up-to-date, you didn't install
textproc/libxml2 altering WITH_THREADS option and you don't have
anything threads-related in /etc/make.conf or somewhere else?
In that case this joyfully written PR can certainly help:
http://www.freebsd.org/cgi/query-pr.cgi?pr=threads/113666
(add -lc_r in share-mime-info's Makefile as explained). Besides that,
keep an eye on that PR since answers will surely be relevant for you.
Of course, you can artificially add -pthread among C compiler flags,
like this:
# portupgrade -M 'CFLAGS=-pthread' shared-mime-info
(if you use portupgrade) or like this:
# cd /usr/ports/misc/shared-mime-info
# make CFLAGS=-pthread
but I'm not certain about the consequences. Better try the solution
from the aforementioned PR.
Nikola Lečić
More information about the freebsd-questions
mailing list