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.