pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/40016: security/policykit does not compile on Solaris



>Number:         40016
>Category:       pkg
>Synopsis:       security/policykit does not compile on Solaris
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 24 13:35:00 +0000 2008
>Originator:     Jörn Clausen
>Release:        
>Organization:
University of Bielefeld
>Environment:
SunOS spare4200 5.10 Generic_120012-14 i86pc i386 i86pc
>Description:
security/policykit fails during configure with

checking for is_selinux_enabled in -lselinux... no
configure: WARNING: SELinux library not found
checking for pam_start in -lpam... no
configure: error: Could not find pam/pam-devel, please install the needed 
packages.
*** Error code 1

The real error (from config.log) is

/usr/ccs/bin/ld: illegal option -- as-needed

It is caused by this code in the configure script

if test "x$GCC" = "xyes"; then
  LDFLAGS="-Wl,--as-needed $LDFLAGS"
fi

I.e. a test for the *compiler* is used to determine *linker* flags...

After removing this part from configure, compilations fails with

polkit-context.c: In function `polkit_context_init':
polkit-context.c:181: error: structure has no member named `inotify_fd'
polkit-context.c:182: error: structure has no member named `inotify_fd'
polkit-context.c:189: error: structure has no member named `inotify_config_wd'

Although the offending code is inside a "#ifdef HAVE_SOLARIS", it does not work 
here. The broken structure is defined with

#ifdef HAVE_INOTIFY
 ...
#elif HAVE_KQUEUE
 ...
#endif

but then later used with

#ifdef HAVE_SOLARIS
 ...
#elif HAVE_KQUEUE
 ...
#else
 ...
#endif

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index