* [PATCH][autotools] libselinux/load_policy.o compile error @ 2008-09-04 3:41 Vikram Noel Ambrose 2008-09-04 15:33 ` Joshua Brindle 0 siblings, 1 reply; 6+ messages in thread From: Vikram Noel Ambrose @ 2008-09-04 3:41 UTC (permalink / raw) To: SE Linux, Joshua Brindle [-- Attachment #1: Type: text/plain, Size: 69 bytes --] Here's the fix to that libselinux ld error you were getting. Vikram [-- Attachment #2: 0001-Fixes-build-error-reported-by-Joshua-Brindle.patch --] [-- Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][autotools] libselinux/load_policy.o compile error 2008-09-04 3:41 [PATCH][autotools] libselinux/load_policy.o compile error Vikram Noel Ambrose @ 2008-09-04 15:33 ` Joshua Brindle 2008-09-04 16:51 ` Vikram Noel Ambrose 0 siblings, 1 reply; 6+ messages in thread From: Joshua Brindle @ 2008-09-04 15:33 UTC (permalink / raw) To: Vikram Noel Ambrose; +Cc: SE Linux Vikram Noel Ambrose wrote: > Here's the fix to that libselinux ld error you were getting. > Ok, applied and built fine. One interesting thing is that even without building the swig wrappers (--disable-swig) it still installs lib/python2.5/site-packages/selinux, which obviously wouldn't work without the accompanying .so file. Also, it looks like any library that installs to /lib will also put their python stuff in /lib/python2.5. I don't know if python even knows to look there, and even if it does there is really no reason to put them there. libselinux.so and libsepol.so will need to go to /lib but the python stuff should go to /usr/lib and I don't see a different argument for the python stuff (only --libdir). -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][autotools] libselinux/load_policy.o compile error 2008-09-04 15:33 ` Joshua Brindle @ 2008-09-04 16:51 ` Vikram Noel Ambrose 2008-09-04 18:09 ` Joshua Brindle 0 siblings, 1 reply; 6+ messages in thread From: Vikram Noel Ambrose @ 2008-09-04 16:51 UTC (permalink / raw) To: Joshua Brindle; +Cc: SE Linux Joshua Brindle wrote: > Vikram Noel Ambrose wrote: > >> Here's the fix to that libselinux ld error you were getting. >> >> > > Ok, applied and built fine. One interesting thing is that even without building the swig wrappers (--disable-swig) it still installs lib/python2.5/site-packages/selinux, which obviously wouldn't work without the accompanying .so file. > > I'll have a look at that, thanks. > Also, it looks like any library that installs to /lib will also put their python stuff in /lib/python2.5. I don't know if python even knows to look there, and even if it does there is really no reason to put them there. libselinux.so and libsepol.so will need to go to /lib but the python stuff should go to /usr/lib and I don't see a different argument for the python stuff (only --libdir). > > > Here you are referring to libpy*.so? if so then, Yes, python does know to look for it in its site-packages/$pkg/ folder. And in regards to the AUTHORS file, it obviously would be in source control and as the persons in question patch the tree, they could obviously patch the file with their names as well, its not set in stone or anything. Vikram -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][autotools] libselinux/load_policy.o compile error 2008-09-04 16:51 ` Vikram Noel Ambrose @ 2008-09-04 18:09 ` Joshua Brindle 2008-09-15 21:15 ` Joshua Brindle 0 siblings, 1 reply; 6+ messages in thread From: Joshua Brindle @ 2008-09-04 18:09 UTC (permalink / raw) To: Vikram Noel Ambrose; +Cc: SE Linux Vikram Noel Ambrose wrote: > Joshua Brindle wrote: >> Vikram Noel Ambrose wrote: >> >>> Here's the fix to that libselinux ld error you were getting. >>> >>> >> >> Ok, applied and built fine. One interesting thing is that even without >> building the swig wrappers (--disable-swig) it still installs >> lib/python2.5/site-packages/selinux, which obviously wouldn't work >> without the accompanying .so file. >> >> > > I'll have a look at that, thanks. > >> Also, it looks like any library that installs to /lib will also put >> their python stuff in /lib/python2.5. I don't know if python even >> knows to look there, and even if it does there is really no reason to >> put them there. libselinux.so and libsepol.so will need to go to /lib >> but the python stuff should go to /usr/lib and I don't see a different >> argument for the python stuff (only --libdir). >> >> >> > Here you are referring to libpy*.so? if so then, Yes, python does know > to look for it in its site-packages/$pkg/ folder. > I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir) > > And in regards to the AUTHORS file, it obviously would be in source > control and as the persons in question patch the tree, they could > obviously patch the file with their names as well, its not set in stone > or anything. > > > Vikram > > -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][autotools] libselinux/load_policy.o compile error 2008-09-04 18:09 ` Joshua Brindle @ 2008-09-15 21:15 ` Joshua Brindle 2008-09-26 1:09 ` Vikram Noel Ambrose 0 siblings, 1 reply; 6+ messages in thread From: Joshua Brindle @ 2008-09-15 21:15 UTC (permalink / raw) To: Vikram Noel Ambrose; +Cc: SE Linux Joshua Brindle wrote: > Vikram Noel Ambrose wrote: >> Joshua Brindle wrote: >>> Vikram Noel Ambrose wrote: >>> >>>> Here's the fix to that libselinux ld error you were getting. >>>> >>>> >>> Ok, applied and built fine. One interesting thing is that even without >>> building the swig wrappers (--disable-swig) it still installs >>> lib/python2.5/site-packages/selinux, which obviously wouldn't work >>> without the accompanying .so file. >>> >>> >> I'll have a look at that, thanks. >> >>> Also, it looks like any library that installs to /lib will also put >>> their python stuff in /lib/python2.5. I don't know if python even >>> knows to look there, and even if it does there is really no reason to >>> put them there. libselinux.so and libsepol.so will need to go to /lib >>> but the python stuff should go to /usr/lib and I don't see a different >>> argument for the python stuff (only --libdir). >>> >>> >>> >> Here you are referring to libpy*.so? if so then, Yes, python does know >> to look for it in its site-packages/$pkg/ folder. >> > > I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir) > Ping? -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][autotools] libselinux/load_policy.o compile error 2008-09-15 21:15 ` Joshua Brindle @ 2008-09-26 1:09 ` Vikram Noel Ambrose 0 siblings, 0 replies; 6+ messages in thread From: Vikram Noel Ambrose @ 2008-09-26 1:09 UTC (permalink / raw) To: Joshua Brindle; +Cc: SE Linux [-- Attachment #1: Type: text/plain, Size: 2591 bytes --] Joshua Brindle wrote: > Joshua Brindle wrote: > >> Vikram Noel Ambrose wrote: >> >>> Joshua Brindle wrote: >>> >>>> Vikram Noel Ambrose wrote: >>>> >>>> >>>>> Here's the fix to that libselinux ld error you were getting. >>>>> >>>>> >>>>> >>>> Ok, applied and built fine. One interesting thing is that even without >>>> building the swig wrappers (--disable-swig) it still installs >>>> lib/python2.5/site-packages/selinux, which obviously wouldn't work >>>> without the accompanying .so file. >>>> >>>> >>>> >>> I'll have a look at that, thanks. >>> >>> >>>> Also, it looks like any library that installs to /lib will also put >>>> their python stuff in /lib/python2.5. I don't know if python even >>>> knows to look there, and even if it does there is really no reason to >>>> put them there. libselinux.so and libsepol.so will need to go to /lib >>>> but the python stuff should go to /usr/lib and I don't see a different >>>> argument for the python stuff (only --libdir). >>>> >>>> >>>> >>>> >>> Here you are referring to libpy*.so? if so then, Yes, python does know >>> to look for it in its site-packages/$pkg/ folder. >>> >>> >> I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir) >> >> > > Ping? > > Sorry for the radio silence, been tied up of late. I *think* I understand the problem, Using the attached patch, python site packages folder resolution is done as follows: 1. Try get python-site folder by asking "python" --- This only really works if HOST machine = BUILD machine, and if the host's python was not relocated at installation. 2. User supplies --with-python-site=/some/where/python2.4/site-packages So either way, the site-packages folder can be specified. This patch also: 1. Stops the swig interface from being rebuilt when python headers are not found, even if swig is found. This is done because the interface is not going to be built without the headers, so no point on rebuilding it's source. 2. Prevents selinux/__init__.py from being installed, if the libpyselinux.so wrapper cannot be built. Done because the python module is useless without the wrapper. 3. A little bit of white space clean up and formatting. If i've understood the problem correctly, then i'll patch the others (libsemanage etc..) thanks josh, Vikram [-- Attachment #2: better-handle-python-site-folder.patch --] [-- Type: text/plain, Size: 4145 bytes --] diff --git a/libselinux/configure.ac b/libselinux/configure.ac index 5d97078..a437404 100644 --- a/libselinux/configure.ac +++ b/libselinux/configure.ac @@ -92,15 +92,18 @@ AM_CONDITIONAL([enable_avc], [ test "$_enable_avc" = yes]) AM_CONDITIONAL([enable_bool], [ test "$_enable_bool" = yes]) AM_CONDITIONAL([enable_docs], [ test "$_enable_docs" = yes]) -AC_ARG_WITH([pythonver], - [AC_HELP_STRING([--with-pythonver=x],[Python version (eg 2.4) ])], - [], - [with_pythonver=$PYTHON_VERSION] +AC_ARG_WITH([python-site], + [AC_HELP_STRING([--with-python-site=PATH], + [Optional path to python site-packages folder, + eg /usr/lib/python2.4/site-packages])], + [] ) -if test -n "$with_pythonver" ; then - AC_SUBST([pythondir],[$libdir/python$with_pythonver/site-packages]) - AC_SUBST([pyexecdir],[$libdir/python$with_pythonver/site-packages]) +if test -n "$with_python_site" ; then + AC_SUBST([pythondir],[$with_python_site]) + AC_SUBST([pyexecdir],[$with_python_site]) +else + AC_MSG_WARN([Python site folder not specified, guessing...]) fi AC_ARG_WITH([python], @@ -138,7 +141,7 @@ AC_ARG_WITH([static-libsepol], else AC_MSG_RESULT([no found]) AC_MSG_WARN([[Cannot build libpyaudit2why.so python wrappper. - Try --with-static-libsepol=PATH]]) + Try --with-static-libsepol=PATH]]) fi], [AC_MSG_CHECKING([for libsepol.a in $prefix/lib])] @@ -148,7 +151,7 @@ AC_ARG_WITH([static-libsepol], else AC_MSG_RESULT([not found]) AC_MSG_WARN([[Cannot build libpyaudit2why.so python wrappper. - Try --with-static-libsepol=PATH]]) + Try --with-static-libsepol=PATH]]) fi] ) @@ -177,6 +180,14 @@ if test "$_enable_swig" = "yes" -a -z "$SWIG" ; then or install swig]) fi +# If libpy*.so wrapper cannot be built, then do not rebuild swig interface +# even if swig is available, and do not install selinux/__init__.py +if test "$have_python" != "yes" ; then + _enable_swig=no + AC_MSG_NOTICE([Swig interface does not need to be regenerated + because libpyselinux.so wrapper cannot be built]) +fi + # slip in fake swig if needed if test "$_enable_swig" != "yes" ; then AC_SUBST([SWIG],[/bin/true]) @@ -201,10 +212,12 @@ $PRINT "\n*** Libselinux Configuration summary ***\n" if test "$have_python" != yes ; then $PRINT "\taudit2why\t\t= no " $PRINT "(try --with-python=/usr/include/python$PYTHON_VERSION) \n" - $PRINT "\tlibpyselinux.so\t\t= no\n" + $PRINT "\tlibpyselinux.so\t\t= no " + $PRINT "(try --with-python=/usr/include/python$PYTHON_VERSION) \n" else $PRINT "\taudit2why\t\t= yes (Using python headers $with_python) \n" $PRINT "\tlibpyselinux.so\t\t= yes\n" + $PRINT "\tPython site folder\t= $pythondir\n" fi if test -n "$LIBSEPOL_A_PATH" ; then @@ -221,5 +234,4 @@ $PRINT "\tSELinux utlities\t= yes\n" $PRINT "\tInstall Man pages\t= $_enable_docs\n" $PRINT "\tSELinux Type\t\t= $with_policyname\n" $PRINT "\tRegenerate py wrapper\t= $_enable_swig\n" -$PRINT "\tPython Packages folder\t= $pythondir\n" $PRINT "------------------------------------------------------------\n" diff --git a/libselinux/src/Makefile.am b/libselinux/src/Makefile.am index fd22726..a32f4a9 100644 --- a/libselinux/src/Makefile.am +++ b/libselinux/src/Makefile.am @@ -30,7 +30,7 @@ lib_LTLIBRARIES = libselinux.la selinux_pyexecdir = $(pyexecdir)/selinux selinux_pythondir = $(pythondir)/selinux selinux_pyexec_LTLIBRARIES = $(extra_lib) -selinux_python_PYTHON = __init__.py +selinux_python_PYTHON = $(extra_py) sysconf_DATA = config config:Makefile @@ -38,12 +38,14 @@ config:Makefile PACKAGE = selinux extra_lib = +extra_py = libselinux_la_SOURCES = $(BUILDSRC) libselinux_la_LDFLAGS = -Wl,--as-needed -version-info 1 if enable_python selinuxswig_wrap.c: Makefile selinuxswig.i selinuxswig_python.i $(SWIG) -o $@ $(SWIG_FLAGS) -interface libpyselinux $(srcdir)/selinuxswig_python.i extra_lib += libpyselinux.la +extra_py += __init__.py libpyselinux_la_SOURCES = selinuxswig_wrap.c libpyselinux_la_CPPFLAGS = \ -I@PYTHON_INCLUDE_DIR@ ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-09-26 1:09 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-09-04 3:41 [PATCH][autotools] libselinux/load_policy.o compile error Vikram Noel Ambrose 2008-09-04 15:33 ` Joshua Brindle 2008-09-04 16:51 ` Vikram Noel Ambrose 2008-09-04 18:09 ` Joshua Brindle 2008-09-15 21:15 ` Joshua Brindle 2008-09-26 1:09 ` Vikram Noel Ambrose
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.