apparently, disabled POSIX scheduler in snapshot images makes ports fail

Ian Lepore ian at FreeBSD.org
Wed Feb 26 17:09:11 UTC 2014


On Wed, 2014-02-26 at 13:03 +0100, Christopher J. Ruwe wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> I am trying to build postgresql-client for ARMv6 Raspberry Pi with
> machines installed from the images provided on the official servers
> and a custom image from the crochet.
> 
> That fails because in the configure stage, the test for thread safety
> fails and dumps core.
> 
>       checking thread safety of required library functions... Abort \
>       trap (core dumped) 
>       no
>       configure: error: thread test program failed
>       This platform is not thread-safe.  Check the file 'config.log' \
>       or compile 
>       and run src/test/thread/thread_test for the exact reason.
>       Use --disable-thread-safety to disable thread safety.
>       ===>  Script "configure" failed unexpectedly.
>       Please report the problem to pgsql at FreeBSD.org [maintainer] and
>       attach the "/usr/ports/databases/postgresql90-client/work/postgresql-9.0.15/config.log" 
>       including the output of the failure of your make command. Also,
>       it might be  a good idea to provide an overview of all packages
>       installed on your system (e.g. a /usr/local/sbin/pkg-static info
>       -g -Ea). 
>       *** Error code 1
> 
> Investigating, I found a similar problem where somebody failed to
> compile postgresql ports due to  disabled KPOSIX_PRIORITY_SCHEDULING
> in the kernel.
> 
> As in that situation, in the KPOSIX scheduler is disabled:
> 
>    #  strings /boot/kernel/kernel | grep POSIX
>    nfscl_filllockowner: not F_POSIX or F_FLOCK
>    POSIX P1003.1B realtime extensions
>    The version of POSIX 1003.2 with which the system attempts to \
>    comply 
>    Version of POSIX attempting to comply to
>    POSIX real time signal
>    POSIX shared memory
> 
> The expected "options _KPOSIX_PRIORITY_SCHEDULING" is obviously
> missing, which explains the build failure.
> 
> Yet, in stable/10, KPOSIX seems to be enabled:
> 
>      [cjr at dijkstra:/usr/src]$ grep POSIX sys/arm/conf/RPI-B
>      options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time \
>      extensions 
> 
> Why is _KPOSIX_PRIORITY_SCHEDULING then disabled in the snapshots? Is
> my thinking wrong?
> 
> 
> Thanks and cheers,
> - -- 
> Christopher 

Your method of grepping for the string isn't reliable.  To see if posix
priority scheduling is available, use:

sysctl kern.features.kposix_priority_scheduling

It's almost certainly going to be set to one.  Then the question becomes
"what is the actual abort that's happening during configure?"

-- Ian




More information about the freebsd-arm mailing list