Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Feb 2014 07:54:32 -0700
From:      Ian Lepore <ian@FreeBSD.org>
To:        "Christopher J. Ruwe" <cjr@cruwe.de>
Cc:        freebsd-arm@FreeBSD.org
Subject:   Re: apparently, disabled POSIX scheduler in snapshot images makes ports fail
Message-ID:  <1393426472.1149.92.camel@revolution.hippie.lan>
In-Reply-To: <20140226130357.206cf9ae@dijkstra-old.hb22.cruwe.de>
References:  <20140226130357.206cf9ae@dijkstra-old.hb22.cruwe.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1393426472.1149.92.camel>