Machine - Asus P8H61-M-LE/USB3 - corei5 - 8GB RAM - nvidia GT520
So I am running my own 64bit kernel/world - from standard GENERIC kernel config -
My problem is I seem to have trouble related to libthr. I see a few ports that crash in libthr which breaks a couple of ports that for example use msgmerge during build. The example I show here is from running lang/guile straight after make install --
The libthr.so and libc.so calls are common place at the start of the backtrace with non-running programs.
I used the following in /etc/make.conf
Followed by a list of ports that need gcc46 and some custom ports adjustments.
I also had /etc/src.conf with -
After the new build world I have gone through and rebuilt my installed ports using clang with some exceptions that need gcc (mostly kde stuff).
Also I find that WITHOUT_LIB32 isn't completely supported. At least one port creates empty /usr/lib32/dtrace and /usr/lib32/i18n dirs (not pinned down which yet) The existence of /usr/lib32 breaks valgrind build if the expected libs aren't in there (just need to delete them).
So I am running my own 64bit kernel/world - from standard GENERIC kernel config -
Code:
uname -a
FreeBSD leader 9.0-RELEASE FreeBSD 9.0-RELEASE #1: Tue Feb 7 08:57:10 CST 2012 shane@leader:/usr/obj/usr/src/sys/GENERIC amd64
My problem is I seem to have trouble related to libthr. I see a few ports that crash in libthr which breaks a couple of ports that for example use msgmerge during build. The example I show here is from running lang/guile straight after make install --
Code:
# gdb /usr/local/bin/guile
GNU gdb 6.1.1 [FreeBSD]
<snip>
Program received signal SIGBUS, Bus error.
[Switching to Thread 802007400 (LWP 100383/guile)]
0x00000008019001d5 in sigprocmask () from /lib/libthr.so.3
(gdb) bt
#0 0x00000008019001d5 in sigprocmask () from /lib/libthr.so.3
#1 0x0000000801b5b2ac in longjmp () from /lib/libc.so.7
#2 0x0000000000000001 in ?? ()
#3 0x00007fffffffcf68 in ?? ()
#4 0x00000008008fb3d2 in scm_ithrow () from /usr/local/lib/libguile.so.21
#5 0x000000080088f217 in scm_error_scm () from /usr/local/lib/libguile.so.21
<snip>
I used the following in /etc/make.conf
Code:
CPUTYPE?=corei7
## we want to use clang for as much as possible
CC=clang
CXX=clang++
CPP=clang-cpp
.if ${.CURDIR:M*/usr/src*}
## we can set different cflags for world if needed
CFLAGS= -O3 -fno-strict-aliasing -pipe
.else
CFLAGS= -O3 -fno-strict-aliasing -pipe
## try using the new libc++
## the old one is libstdc++
#CXXFLAGS+= -stdlib=libc++
.endif
## I read this is to be placed in src.conf for buildworld but
## http://wiki.freebsd.org/NewC%2B%2BStack
## says to add it to make.conf ???
WITH_LIBCPLUSPLUS=yes
# Don't die on warnings
NO_WERROR=
WERROR=
# Don't forget this when using Jails!
NO_FSCHG=
I also had /etc/src.conf with -
Code:
WITHOUT_LIB32=yes
WITH_LIBCPLUSPLUS=yes
WITH_BSD_GREP=yes
WITH_ICONV=yes
Also I find that WITHOUT_LIB32 isn't completely supported. At least one port creates empty /usr/lib32/dtrace and /usr/lib32/i18n dirs (not pinned down which yet) The existence of /usr/lib32 breaks valgrind build if the expected libs aren't in there (just need to delete them).