This page is for ports status with the clang compiler. Below you will find some common problems and solutions to some of these problems. Also a list of ports that are known not to work and need to be investigated, like QT/KDE for example.

As part of the BuildingFreeBSDWithClang project.

** page under development **

Contents

Problems with fixes

Problem

Why

Solution

/usr/bin/ld: a.out: hidden symbol `dso_handle' in /usr/lib/crtbegin.o is referenced by DSO

clang link driver doesn't include -L, so configure fails to setup CXX linking properly.

post-patch: @${REINPLACE_CMD} -e 's|"\\-L"|"bin/ld"|g' ${WRKSRC}/configure

undefined symbol while linking

clang defaults to gnu99, while gcc defaults to gnu89. This causes problems with the inline keyword (and possible others). inline does different things in gnu89/gnu99

add "USE_CSTD=gnu89" to the port Makefile

Not respecting ${CC} and/or ${CXX}

Some of the older ports have gcc/g++ hardcoded in there Makefiles.

CC ?= gcc, or reinplace line.

Known problems

This list isn't complete, just some major problems.

Port

Reason

lang/ruby

miniruby crashes. Not yet investigated.

lang/python24

Crashes during install. unmaintained upstream, no priority to get it fixed.

devel/boost*

Work is being done in both clang upstream and boost upsteam to make it work.

qmake/qt [34] ports

There are some qmake bsd.qt.mk patches available, but more testing is needed

Contacts

Resources

*) Please note that some of these patches might be a little experimental.