Bug 119271 - libselinux-1.28 does not compile
|
Bug#:
119271
|
Product: Gentoo Linux
|
Version: 2005.1
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: major
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: pebenito@gentoo.org
|
Reported By: paolo.pedroni@iol.it
|
|
Component: Library
|
|
|
URL:
|
|
Summary: libselinux-1.28 does not compile
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-01-17 02:56 0000
|
libselinux-1.28 fails compilation on my AMD64 X2 4600+ system, yielding the
following error:
cc -shared -o libselinux.so.1 avc.lo avc_internal.lo avc_sidtab.lo booleans.lo
canonicalize_context.lo checkAccess.lo check_context.lo compute_av.lo
compute_create.lo compute_member.lo compute_relabel.lo compute_user.lo
context.lo disable.lo enabled.lo fgetfilecon.lo freeconary.lo freecon.lo
fsetfilecon.lo getcon.lo get_context_list.lo get_default_type.lo getenforce.lo
getexeccon.lo getfilecon.lo getfscreatecon.lo getpeercon.lo getpidcon.lo
getprevcon.lo init.lo is_customizable_type.lo lgetfilecon.lo load_policy.lo
lsetfilecon.lo matchmediacon.lo matchpathcon.lo policyvers.lo
query_user_context.lo rpm.lo selinux_config.lo setcon.lo setenforce.lo
setexeccon.lo setfilecon.lo setfscreatecon.lo seusers.lo trans.lo -ldl -lsepol
-L/usr/lib64 -Wl,-soname,libselinux.so.1,-z,defs
cc -shared -o _selinux.so selinuxswig_wrap.lo -L. -lselinux -L/usr/lib64
-Wl,-soname,_selinux.so
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
./libselinux.a(booleans.o): relocation R_X86_64_32 against `a local symbol' can
not be used when making a shared object; recompile with -fPIC
./libselinux.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
distcc[21656] ERROR: compile (null) on localhost failed
make[1]: *** [_selinux.so] Error 1
make[1]: *** Waiting for unfinished jobs....
ln -sf libselinux.so.1 libselinux.so
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
`/var/tmp/portage/libselinux-1.28/work/libselinux-1.28/src'
make: *** [all] Error 2
My "emerge --info" output is as follows:
Portage 2.0.53 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2,
2.6.14-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.14-gentoo-r5 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor
4600+
Gentoo Base System version 1.6.14
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
ccache version 2.3 [enabled]
dev-lang/python: 2.3.5-r2, 2.4.2
sys-apps/sandbox: 1.2.12
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O3 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=k8 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.switch.ch/mirror/gentoo/
http://pandemonium.tiscali.de/pub/gentoo/ http://gentoo.ngi.it
http://gentoo.intergenia.de
http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://linuv.uv.es/mirror/gentoo/ http://ftp.ntua.gr/pub/linux/gentoo/"
LANG="it_IT.UTF-8"
LC_ALL="it_IT.UTF-8"
LINGUAS="it"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 X Xaw3d aalib acpi alsa arts audiofile avi bash-completion berkdb
bitmap-fonts bzip2 caps cdparanoia cdr crypt cups curl dbus dio dri dvd dvdr
dvdread emboss emul-linux-x86 encode exif expat fam fbcon ffmpeg fftw flac
foomaticdb fortran ftp gcj gd gif glut gmp gnutls gphoto2 gpm gstreamer gtk2
hal iconv idn ieee1394 imagemagick java javascript jpeg kde kdeenablefinal lcms
libcaca lm_sensors lzw lzw-tiff mad maildir matroska memlimit mime mmap mng
mozilla mp3 mpeg mpi ncurses nls nptl nsplugin offensive ogg openal opengl oss
pam pcre pdflib perl png posix ppds python qt quicktime readline recode samba
sasl scanner sdl sharedmem shorten slang sndfile sockets sox speex spell ssl
svg symlink sysvipc tcpd threads tidy tiff truetype truetype-fonts type1-fonts
udev unicode usb userlocales vcd vorbis wmf xine xml2 xosd xpm xv xvid zlib
linguas_it userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LDFLAGS, PORTDIR_OVERLAY
By the way... libselinux-1.24 compiled just fine.
Hmmm... I tried with:
# FEATURES="-distcc" emerge -1 libselinux
and it worked. This is kind of strange because I have emerged distcc but not
yet enabled it (since I don't have any other nodes available yet). I might
suggest to filter the distcc feature for the time being, anyway.
I recieved the same error as Chris PeBenit, 1.24 had compiled fine for me also.
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
./libselinux.a(booleans.o): relocation R_X86_64_32 against `a local symbol' can
not be used when making a shared object; recompile with -fPIC
./libselinux.a: could not read symbols: Bad value
Portage 2.0.54 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2,
2.6.14-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.14-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.6.14
dev-lang/python: 2.3.5-r2, 2.4.2
sys-apps/sandbox: 1.2.11
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -march=athlon64 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/
ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ ftp://gentoo.mirrors.pair.com/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="amd64 X acpi aim alsa audiofile avi bash-completion berkdb bitmap-fonts
browserplugin bzip2 cairo cdr crypt cups curl doc dvd dvdr eds emacs emboss
emul-linux-x86 encode esd examples exif expat fam foomaticdb fortran ftp gd
gdbm gif glitz glut gnome gpm gstreamer gtk gtk2 gtkhtml hal idn ieee1394
imagemagick imlib ipv6 java javascript jpeg kde lcms libwww lm_sensors lzw
lzw-tiff mng mozilla mp3 mpeg ncurses nls nsplugin openal opengl pam pdf pdflib
perl png posix python qt quicktime readline samba sdl sharedmem sockets spell
ssl svg tcltk tcpd tetex threads tiff truetype truetype-fonts type1-fonts udev
usb userlocales xml2 xmms xpm xv zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
libselinux-1.28 fails compilation on my system
# emerge --info
Portage 2.0.54 (selinux/2005.1/x86/hardened, gcc-3.4.4, glibc-2.3.5-r2,
2.6.11-hardened-r15-selinux i686)
=================================================================
System uname: 2.6.11-hardened-r15-selinux i686 Intel(R) Celeron(TM) CPU
1300MHz
Gentoo Base System version 1.6.14
dev-lang/python: 2.3.5
sys-apps/sandbox: 1.2.11
sys-devel/autoconf: [Not Present]
sys-devel/automake: [Not Present]
sys-devel/binutils: 2.16.1
sys-devel/libtool: [Not Present]
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mcpu=i686 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=i686 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox selinux sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="berkdb bzip2 chroot crypt dlloader hardened ncurses nls nptl nptlonly pam
pam_chroot pam_console pam_timestamp pic python readline selinux sftplogging
slang ssl unicode userlocales x86 zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
# emerge libselinux
...
make[1]: Entering directory
`/var/tmp/portage/libselinux-1.28/work/libselinux-1.28/src'
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o avc.o avc.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o avc_internal.o avc_internal.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o avc_sidtab.o avc_sidtab.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o booleans.o booleans.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o canonicalize_context.o canonicalize_context.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o checkAccess.o checkAccess.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o check_context.o check_context.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o compute_av.o compute_av.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o compute_create.o compute_create.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o compute_member.o compute_member.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o compute_relabel.o compute_relabel.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o compute_user.o compute_user.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cc -O2 -mcpu=i686 -pipe -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o context.o context.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
...
...
selinuxswig_wrap.c:3359: error: `PyExc_TypeError' undeclared (first use in this
function)
selinuxswig_wrap.c:3363: error: `o' undeclared (first use in this function)
selinuxswig_wrap.c:3372: error: `PyExc_SystemError' undeclared (first use in
this function)
selinuxswig_wrap.c:3376: error: `name' undeclared (first use in this function)
selinuxswig_wrap.c: In function `SWIG_Python_SetTypeListHandle':
selinuxswig_wrap.c:3385: error: syntax error before
"swig_empty_runtime_method_table"
selinuxswig_wrap.c: At top level:
selinuxswig_wrap.c:3391: error: parse error before '*' token
selinuxswig_wrap.c:3392: error: `swig_empty_runtime_method_table' undeclared
here (not in a function)
selinuxswig_wrap.c:3392: warning: initialization makes pointer from integer
without a cast
selinuxswig_wrap.c:3392: error: initializer element is not constant
selinuxswig_wrap.c:3392: warning: data definition has no type or storage class
selinuxswig_wrap.c:3393: error: parse error before '*' token
selinuxswig_wrap.c:3393: error: `type_list_handle' undeclared here (not in a
function)
selinuxswig_wrap.c:3393: warning: initialization makes pointer from integer
without a cast
selinuxswig_wrap.c:3393: error: initializer element is not constant
selinuxswig_wrap.c:3393: warning: data definition has no type or storage class
selinuxswig_wrap.c:3394: error: parse error before "if"
selinuxswig_wrap.c: In function `init_selinux':
selinuxswig_wrap.c:3433: error: syntax error before '*' token
selinuxswig_wrap.c:3435: error: `PyObject' undeclared (first use in this
function)
selinuxswig_wrap.c:3435: error: `m' undeclared (first use in this function)
selinuxswig_wrap.c:3435: error: `d' undeclared (first use in this function)
selinuxswig_wrap.c:3437: error: `SWIG_globals' undeclared (first use in this
function)
make[1]: *** [selinuxswig_wrap.lo] Error 1
make[1]: Leaving directory
`/var/tmp/portage/libselinux-1.28/work/libselinux-1.28/src'
make: *** [all] Error 2
!!! ERROR: sys-libs/libselinux-1.28 failed.
!!! Function src_compile, Line 38, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
Igor, do you have dev-lang/swig installed? If not can you merge it and then
try again?
(In reply to comment #5)
> Igor, do you have dev-lang/swig installed? If not can you merge it and then
> try again?
>
Chris, I emerged dev-lang/swig, but I have this problem also.
Igor, does that mean that it gets past your problem and now hits this bug, or
do you still get the selinuxswig_wrap.c errors?
Igor, I suspect that your bug is the same one that I have just posted some
details on:
http://bugs.gentoo.org/show_bug.cgi?id=120829
If so then you failed to post the important first error message which
highlights that the problem is in a hardcoded Python path
Please check that you don't have Python 2.4 and if not then upgrade to Python
2.4 and see if your problem goes away. I don't think the Igor's problem (and
my problem) are related to the original posters issue (I am on intel 32bit for
a start)
I updated the ebuild, the python version handling should now be fixed, to fix
Igor's problem. I added -fPIC to LDFLAGS, which should fix the originally
reported problem. Please test.
(In reply to comment #9)
> I updated the ebuild, the python version handling should now be fixed, to fix
> Igor's problem. I added -fPIC to LDFLAGS, which should fix the originally
> reported problem. Please test.
>
Thank you, I compiled libselinux successfully, but warnings "
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead." remained.
closing. your "-mcpu= is deprecated" just means you have to change your cflags
"-mcpu=i686" to "-mtune=i686". Its not libselinux specific, its just something
with newer gccs.