apparently, disabled POSIX scheduler in snapshot images makes ports fail

Christopher J. Ruwe cjr at cruwe.de
Thu Feb 27 12:16:54 UTC 2014


On Wed, 26 Feb 2014 07:54:32 -0700
Ian Lepore <ian at FreeBSD.org> wrote:

> 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
> 

The answer is yes, [...].kposix_priority_scheduling=1. Hmm ... I hoped
for an easy solution ...

Thanks,
-- 
Christopher

TZ:         GMT + 1h
GnuPG/GPG:  0xE8DE2C14
 
FreeBSD 10.0-STABLE #0 r262291+cf0fa48(stable/10): Sat Feb 22 02:01:26
CET 2014 cjr at dijkstra.hb22.cruwe.de:/usr/obj/usr/src/sys/GENERIC 
 
Punctuation matters:
"Lets eat Grandma or Lets eat, Grandma" - Punctuation saves lives.
"A panda eats shoots and leaves" or "A panda eats, shoots, and leaves" -
Punctuation teaches proper biology.

"With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead." (RFC 1925)


More information about the freebsd-arm mailing list