Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 May 2010 15:36:45 +0200
From:      Erik Cederstrand <erik@cederstrand.dk>
To:        =?utf-8?Q?Andrius_Mork=C5=ABnas?= <hinokind@gmail.com>
Cc:        freebsd-hackers@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: GSoC: Making ports work with clang
Message-ID:  <45C1FA95-C9A3-41EA-9E3A-61E35C7F6AD1@cederstrand.dk>
In-Reply-To: <op.vdirbroh43o42p@klevas>
References:  <op.vb0w1zrh43o42p@klevas> <4BDD28E2.8010201@rawbw.com> <httjse$4ee$1@dough.gmane.org> <op.vdirbroh43o42p@klevas>

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

--Apple-Mail-149-566662397
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


Den 30/05/2010 kl. 14.51 skrev Andrius Mork=C5=ABnas:

> On Sun, 30 May 2010 14:58:05 +0300, Volodymyr Kostyrko =
<c.kworr@gmail.com> wrote:
>> 1. __dso not found after link. Some symbols seems to be omitted from
>> libraries and linking of plugins fails badly.
> Known problem with known fix.
>=20
>> 2. Assembler errors. Xorg has some in x11-servers/xorg-server
>> x11-drivers/xf86-video-vesa x11-drivers/xf86-video-ati, everything =
else
>> compiles and works.
> Assembler errors often aren't similar to each other, so fixing them =
may
> be very easy or difficult. Hopefully we will fix them for big stuff =
like
> xorg (not really as part of this GSoC project).
>=20
>> 3. Big bunch of compile errors or config errors. This means =
incorrectly
>> written code, like not correctly declaring variables. This also means
>> some automake stupidities like testing c++ compiler with c style code =
-
>> for example clang++ refuses to compile "int main(void) {}".
> $ cat main.cc
> int main(void) {}
> $ clang main.cc -o test && ./test && echo "No, it works."
> No, it works.
>=20
> Other than that, yes, many problems are related to insane configure
> scripts.
>=20
>> 4. Some ports specify that thay need at least gcc 3.3.
> This is another of those insane configure scripts, testing for =
specific
> version of specific compiler, rather than testing if it can compile
> anything.
>=20
>> 5. Some ports needs --dumpspecs.
> It's a bit uglier than "some ports":
> $ grep dumpspecs /usr/ports/Mk/bsd.gecko.mk
> GECKO_PTHREAD_LIBS!=3D${CC} -dumpspecs | ${GREP} -m 1 pthread: | =
${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
>=20
>> audio/libmad - distorted sound
>> lang/python26 - compiling any gir dumps core
>> textproc/expat2 - dbus dumps core at launch
> Python and expat shout i386 in my face, clang/llvm tends to not like
> i386 too much. But I think few miscompilations were fixed recently,
> so some of these may already be working fine.
>=20
>> And this all data is not current. It's one month old. Since then
>> dumpspecs was implemented. And maybe some other problems begone - I =
just
>> have not enough time to look at this thoroughly.
> Some problems from a month ago are definitely gone, but I don't think
> dumpspecs is one of them.

Andrius, would it make sense to create e.g. a wiki page tracking the =
status and current known problems with compiling ports with clang? Just =
like there's a wiki page ClangBSD status.

I think it would make it easier for lurkers to jump in and test things, =
and help whittle away at the problems.

Thanks,
Erik=

--Apple-Mail-149-566662397--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45C1FA95-C9A3-41EA-9E3A-61E35C7F6AD1>