Bug 30438 - PolicyKit fails to build on AIX
Summary: PolicyKit fails to build on AIX
Status: RESOLVED FIXED
Alias: None
Product: PolicyKit
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: PowerPC AIX
: medium blocker
Assignee: David Zeuthen (not reading bugmail)
QA Contact: David Zeuthen (not reading bugmail)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-28 14:08 UTC by Steve Talmage
Modified: 2011-02-23 06:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
config and build log (97.60 KB, application/octet-stream)
2010-09-28 14:08 UTC, Steve Talmage
Details

Description Steve Talmage 2010-09-28 14:08:30 UTC
Created attachment 39030 [details]
config and build log

Starting with the 0.97 version (all the way up through the current git head), I cannot build PolicyKit on AIX.  (I'm on AIX 6.1 TL4 with a self-compiled gcc 4.5.1.)

Everything builds fine until polkitd:

Making all in polkitd
make[3]: Entering directory `/opt/freeware/gnome2/src/PolicyKit/src/polkitd'
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -DPACKAGE_LIBEXEC_DIR=\""/opt/freeware/gnome2/libexec"\" -DPACKAGE_SYSCONF_DIR=\""/opt/freeware/gnome2/etc"\" -DPACKAGE_DATA_DIR=\""/opt/freeware/gnome2/share"\" -DPACKAGE_BIN_DIR=\""/opt/freeware/gnome2/bin"\" -DPACKAGE_LOCALSTATE_DIR=\""/opt/freeware/gnome2/var"\" -DPACKAGE_LOCALE_DIR=\""/opt/freeware/gnome2/share/locale"\" -DPACKAGE_LIB_DIR=\""/opt/freeware/gnome2/lib"\" -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT    -DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE -DG_LOG_DOMAIN=\"polkitd-1\" -pthread -I/opt/freeware/gnome2/include/glib-2.0 -I/opt/freeware/gnome2/lib/glib-2.0/include    -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wformat -Wformat-security -MT polkitd-main.o -MD -MP -MF .deps/polkitd-main.Tpo -c -o polkitd-main.o `test -f 'main.c' || echo './'`main.c
mv -f .deps/polkitd-main.Tpo .deps/polkitd-main.Po
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -DPACKAGE_LIBEXEC_DIR=\""/opt/freeware/gnome2/libexec"\" -DPACKAGE_SYSCONF_DIR=\""/opt/freeware/gnome2/etc"\" -DPACKAGE_DATA_DIR=\""/opt/freeware/gnome2/share"\" -DPACKAGE_BIN_DIR=\""/opt/freeware/gnome2/bin"\" -DPACKAGE_LOCALSTATE_DIR=\""/opt/freeware/gnome2/var"\" -DPACKAGE_LOCALE_DIR=\""/opt/freeware/gnome2/share/locale"\" -DPACKAGE_LIB_DIR=\""/opt/freeware/gnome2/lib"\" -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT    -DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE -DG_LOG_DOMAIN=\"polkitd-1\" -pthread -I/opt/freeware/gnome2/include/glib-2.0 -I/opt/freeware/gnome2/lib/glib-2.0/include    -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wformat -Wformat-security -MT polkitd-gposixsignal.o -MD -MP -MF .deps/polkitd-gposixsignal.Tpo -c -o polkitd-gposixsignal.o `test -f 'gposixsignal.c' || echo './'`gposixsignal.c
gposixsignal.c:26:26: fatal error: sys/signalfd.h: A file or directory in the path name does not exist.
compilation terminated.
make[3]: *** [polkitd-gposixsignal.o] Error 1
make[3]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit/src/polkitd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit'
make: *** [all] Error 2

AIX does not have the signalfd() library call, and I don't understand this code well enough to try to do an AIX port.
Comment 1 Nezmer 2010-09-30 08:37:35 UTC
This is true for all non GNU libc systems, I think.

I don't have sys/signalfd.h in my include dirs here in FreeBSD/AMD64. This file belongs to glibc in my GNU/Linux setup.
Comment 2 David Zeuthen (not reading bugmail) 2010-09-30 10:45:32 UTC
Should probably just ifdef out all the GPosixSignal stuff if not on Linux - it's only used to trace memory leaks.
Comment 3 Steve Talmage 2010-09-30 16:30:53 UTC
(In reply to comment #2)
> Should probably just ifdef out all the GPosixSignal stuff if not on Linux -
> it's only used to trace memory leaks.

I didn't realize it was that easy.  I should have looked in main.c and not
just at the error.  There are only two references to the GPosixSignal
additions in there--the include file and one function call.

I ifdefed out the include file and the function call, and removed the
gposixsignal.o object reference in Makefile.in.  After cleaning, reconfiguring
and remaking, it's all good now.

Thanks!
Comment 4 Nezmer 2010-10-01 04:36:52 UTC
I can confirm what Steve did works.
Comment 5 David Zeuthen (not reading bugmail) 2011-02-23 06:17:38 UTC
OK, this commit

 http://cgit.freedesktop.org/PolicyKit/commit/?id=02155a23eb27715d5d1d73c8ed1af417d1579bf5

should fix the problem.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.