Page MenuHome GnuPG

libgpg-error 1.13 does not link on Solaris 10
Closed, ResolvedPublic

Description

Compiling libgpg-error 1.13 fails due to an unresolved reference to sched_yield.
The additional linker flag "-lrt" is needed.

Details

Version
>= 1.13

Event Timeline

Is this still a problem with 1.17 - guess yes. Can you please try and send me
the config.log from 1.17 or current master?

Sorry, this question was lost due to Christmas, or whatever...

I can no longer easily test on Solaris 10, but I assume that the
function still needs -lrt. But I can report that in Solaris 11.2,
sched_yield no longer needs this flag. I have built version 1.20 of
libgpg-error within pkgsrc without this change.

Jörn Clausen
Plattformen & Serverdienste
Hochschulrechenzentrum

Universität Bielefeld
Universitätsstraße 25
33615 Bielefeld
Telefon: +49 521 106-12601
E-Mail: joern.clausen@uni-bielefeld.de

http://www.uni-bielefeld.de/hrz

Okay, so we can conclude that this is a problem on Solaris < 11 only. Without
having a way to test it I hesitate to change it. Thanks for testing.

gniibe added a subscriber: gniibe.

I think that we could add -lrt in configure script.
Solaris also has a problem for lock object.

Its pthread_mutex_t seems have alignment of 8-byte.
In posix-lock-obj.h, we will have a padding after vers and the union u.
So, it fails at assert (!"sizeof lock obj");

Reference:
http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/types.h

libgpg-error 1.22 is out with fix. Please test.

gniibe removed a project: Restricted Project.

Closing, as I confirmed that -lrt is not needed any more in Solaris Userland
project:
https://hg.java.net/hg/solaris-userland~gate