Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2007 19:18:57 +0200
From:      Gergely CZUCZY <phoemix@harmless.hu>
To:        Frank Behrens <frank@pinky.sax.de>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: Linking to pthread library: undefined reference
Message-ID:  <20070615171857.GA89955@harmless.hu>
In-Reply-To: <200706151701.l5FH1KuJ047078@pinky.frank-behrens.de>
References:  <200706151701.l5FH1KuJ047078@pinky.frank-behrens.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--ikeVEW9yuYc//A+q
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 15, 2007 at 07:01:19PM +0200, Frank Behrens wrote:
> Hi,
>=20
> I could not find any information in the developers handbook, so I ask her=
e for support.
>=20
> I try to link an milter (sendmail mail filter) test application and get a=
n error I do not=20
> understand. I use FreeBSD 6.2-STABLE-200705211513 with an userland from M=
ay-03.
> In my Makefile I have:
> CFLAGS+=3D	-I/usr/local/include -std=3Dc99 -pthread -v
> LDADD+=3D		-L/usr/local/lib -lmilter
>=20
> This gives linker command:
> cc -O2 -pipe -fno-strict-aliasing -march=3Dpentium4 -I/usr/local/include =
-std=3Dc99 -pthread -v -g -
> DDEBUG=3D1 -O1 -fno-omit-frame-pointer -Wsystem-headers -Wall -Wno-format=
-y2k -W -
> Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-a=
rith -Wreturn-
> type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-=
parameter -
> Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls  -o fmilter =
fmilter.o -
> L/usr/local/lib -lmilter
> Using built-in specs.
> Configured with: FreeBSD/i386 system compiler
> Thread model: posix
> gcc version 3.4.6 [FreeBSD] 20060305
>  /usr/bin/ld -V -dynamic-linker /libexec/ld-elf.so.1 -o fmilter /usr/lib/=
crt1.o /usr/lib/crti.o=20
> /usr/lib/crtbegin.o -L/usr/local/lib -L/usr/lib fmilter.o -lmilter -lgcc =
-lpthread -lc -lgcc=20
I don't think this is the problem here, but you should link against -pthrea=
d, and
not -lpthread. pthread is just an API here, while -pthread refers to the
system-default threading library (with a pthread interface).

> /usr/lib/crtend.o /usr/lib/crtn.o
> GNU ld version 2.15 [FreeBSD] 2004-05-23
>   Supported emulations:
>    elf_i386_fbsd
> /usr/lib/libmilter.so: undefined reference to `pthread_detach'
>=20
> In my opinion the symbol should be found in
> /usr/lib/libpthread.so@ -> /lib/libpthread.so.2
>=20
> When I look into the libraries I see
> > objdump -T /usr/lib/libmilter.so | fgrep detach
> 00000000      D  *UND*  00000000 pthread_detach
>=20
> > objdump -T /usr/lib/libpthread.so | fgrep pthread_detach
> 000077d4  w   DF .text  000003a4  LIBTHREAD_1_0 pthread_detach
> 000077d4 g    DF .text  000003a4  LIBTHREAD_1_0 _pthread_detach
>=20
>=20
> Did I make something wrong? I guess yes, but what?
>=20
> Thanks for your help and best regards,
>    Frank
> --=20
> Frank Behrens, Osterwieck, Germany
> PGP-key 0x5B7C47ED on public servers available.
>=20
> _______________________________________________
> freebsd-threads@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
> To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org"
>=20

Bye,

Gergely Czuczy
mailto: gergely.czuczy@harmless.hu

--=20
Weenies test. Geniuses solve problems that arise.

--ikeVEW9yuYc//A+q
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

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
=jAfS
-----END PGP SIGNATURE-----

--ikeVEW9yuYc//A+q--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070615171857.GA89955>