Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 56251 - vim 6.3 compile error on itanium2
Summary: vim 6.3 compile error on itanium2
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: IA64 Linux
: High normal (vote)
Assignee: Vim Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-06 09:47 UTC by Jaime Alvaro Moreno
Modified: 2005-09-22 12:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Complete emerge output of vim6.3 (error vim 6.3.txt,27.07 KB, text/plain)
2004-09-07 21:51 UTC, Jaime Alvaro Moreno
Details
Complete emerge output of vim6.3 sucessfully emerged (vim6.3 success on itanium2.txt,32.54 KB, text/plain)
2004-09-07 22:50 UTC, Jaime Alvaro Moreno
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaime Alvaro Moreno 2004-07-06 09:47:02 UTC
When i try to upgrade vim to 6.3 from "Vi IMproved 6.2 (2003 Jun 1, compiled May 16 2004 00:20:10)" the following error occurs :

os_unix.c: En la funci
Comment 1 Jaime Alvaro Moreno 2004-07-06 09:47:02 UTC
When i try to upgrade vim to 6.3 from "Vi IMproved 6.2 (2003 Jun 1, compiled May 16 2004 00:20:10)" the following error occurs :

os_unix.c: En la función `mch_copy_sec':
os_unix.c:2343: error: `security_context_t' undeclared (first use in this function)
os_unix.c:2343: error: (Each undeclared identifier is reported only once
os_unix.c:2343: error: for each function it appears in.)
os_unix.c:2343: error: error sintáctico before "scontext"
os_unix.c:2344: error: `scontext' undeclared (first use in this function)
make[1]: *** [objects/os_unix.o] Error 1
make[1]: *** Se espera a que terminen otras tareas....
make[1]: Leaving directory `/var/tmp/portage/vim-6.3/work/vim63/src'
make: *** [first] Error 2
 
!!! ERROR: app-editors/vim-6.3 failed.
!!! Function src_compile, Line 219, Exitcode 2
!!! emake failed




Reproducible: Always
Steps to Reproduce:
1.
2.
3.




I'm running a dual itanium2 box , here is some info (i left the default USE
flags because gentoo ia64 is under development) :

# emerge info
Portage 2.0.50-r8 (default-ia64-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5)
=================================================================
System uname: 2.6.5 ia64
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="ia64"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe"
CHOST="ia64-unknown-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl berkdb crypt cups encode foomaticdb gdbm gif gnome gpm gtk gtk2 ia64
imlib ipv6 javascript jpeg kde ldap libg++ libwww mikmod motif mysql ncurses nls
nptl oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl
slang spell ssl tcpd truetype xml2 xmms xv zlib"

# cat /proc/version
Linux version 2.6.5 (root@murdoc) (gcc version 3.3.2 20031022 (Gentoo Linux
3.3.2-r2, propolice)) #1 SMP Sun Apr 4 09:56:46 CEST 2004
Comment 2 Aron Griffis (RETIRED) gentoo-dev 2004-07-07 12:55:56 UTC
hey sliver, what version of *headers* do you have installed?

epm -qGa | grep headers
Comment 3 Ryan Phillips (RETIRED) gentoo-dev 2004-07-07 17:16:03 UTC
This bug is reproducible exactly as follows:
  1. # ebuild vim-6.3.ebuild unpack  (allowing the gentoo-patching)
  2. # cd /var/tmp/portage/vim-6.3/work/vim63
  3. # ./configure ; make

Result: Errors

Since the selinux patch is applied autoconf needs to be reran to include the --disable-selinux option.  On my box (x86) autoconf is automatically reran, and thus the ebuilds finishes successfully.

>>> Source unpacked.
make: Entering directory `/var/tmp/portage/vim-6.3/work/vim63/src'
if test ! -f configure.save; then mv configure configure.save; fi
autoconf
sed -e 's+\./config.log+auto/config.log+' configure > auto/configure
chmod 755 auto/configure
mv -f configure.save configure
rm -f auto/config.status auto/config.cache
make: Leaving directory `/var/tmp/portage/vim-6.3/work/vim63/src'
ncurses
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no



I'm not sure what exactly is different that makes the x86 (and most likely other architectures) regenerate configure and build correctly.

I suppose we could force the regeneration.
Comment 4 Jaime Alvaro Moreno 2004-07-08 03:40:54 UTC
hi! here is the info 

# epm -qGa | grep headers
sys-kernel/linux-headers-2.4.19
sys-kernel/linux-headers-2.4.23

i think it's using linux-headers-2.4.23 but since ebuild for linux-headers-2.4.19 was removed from portage i don't know how to uninstall it but i think this could not be a problem.
Comment 5 Ciaran McCreesh 2004-07-12 11:13:42 UTC
Hm. The eclass *should* be forcing regeneration... Isn't that what this is supposed to do?

	# Fix bug 18245: Prevent "make" from the following chain:
	# (1) Notice configure.in is newer than auto/configure
	# (2) Rebuild auto/configure
	# (3) Notice auto/configure is newer than auto/config.mk
	# (4) Run ./configure (with wrong args) to remake auto/config.mk
	sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed"
	rm -f src/auto/configure
	# vim-6.2 changed the name of this rule from auto/configure to autoconf
	confrule=auto/configure
	grep -q ^autoconf: src/Makefile && confrule=autoconf
	# autoconf-2.13 needed for this package -- bug 35319
	# except it seems we actually need 2.5 now -- bug 53777
	WANT_AUTOCONF_2_5=yes WANT_AUTOCONF=2.5 \
		make -C src $confrule || die "make $confrule failed"
Comment 6 Ciaran McCreesh 2004-08-05 06:48:57 UTC
Hm. Could you please check for the following when it's emerging?

 *   007_all_vim-6.0-gcc31.patch.gz...                                    [ ok ]
 *   009_all_vim-6.2-selinux.patch.gz...                                  [ ok ]
 * Done with patching                
>>> Source unpacked.                 
make: Entering directory `/var/tmp/portage/vim-core-6.3-r1/work/vim63/src'
if test ! -f configure.save; then mv configure configure.save; fi
autoconf                             
sed -e 's+\./config.log+auto/config.log+' configure > auto/configure
chmod 755 auto/configure             
mv -f configure.save configure       
rm -f auto/config.status auto/config.cache
make: Leaving directory `/var/tmp/portage/vim-core-6.3-r1/work/vim63/src'

Specifically, is the autoconf line present?
Comment 7 Ciaran McCreesh 2004-08-25 15:12:37 UTC
Closing this as WORKSFORME, since I can't reproduce using the ebuilds. If someone can trigger it, please reopen with an answer to comment #5.
Comment 8 Jaime Alvaro Moreno 2004-09-07 08:33:18 UTC
I could now try to compile again vim 6.3 and i still have the bug.

Here is the output to emerge:

#emerge -vu vim
Calculating dependencies ...done!
>>> emerge (1 of 1) app-editors/vim-6.3 to /
>>> md5 src_uri ;-) vim-6.3.tar.bz2
>>> md5 src_uri ;-) vim-6.3-lang.tar.gz
>>> md5 src_uri ;-) vim-6.2.070-gentoo-patches.tar.bz2
>>> Unpacking source...
>>> Unpacking vim-6.3.tar.bz2 to /var/tmp/portage/vim-6.3/work
>>> Unpacking vim-6.3-lang.tar.gz to /var/tmp/portage/vim-6.3/work
>>> Unpacking vim-6.2.070-gentoo-patches.tar.bz2 to /var/tmp/portage/vim-6.3/wor
 * Applying various patches (bugfixes/updates)...
 *   001_all_vim-4.2-speed_t.patch.gz...
 *   002_all_vim-5.1-vimnotvi.patch.gz...
 *   003_all_vim-5.6a-paths.patch.gz...
 *   004_all_vim-6.0-fixkeys.patch.gz...
 *   006_all_vim-6.0r-crv.patch.gz...
 *   007_all_vim-6.0-gcc31.patch.gz...
 *   009_all_vim-6.2-selinux.patch.gz...
 * Done with patching
>>> Source unpacked.
make: Entering directory `/var/tmp/portage/vim-6.3/work/vim63/src'
if test ! -f configure.save; then mv configure configure.save; fi
autoconf
sed -e 's+\./config.log+auto/config.log+' configure > auto/configure
chmod 755 auto/configure
mv -f configure.save configure
rm -f auto/config.status auto/config.cache
make: Leaving directory `/var/tmp/portage/vim-6.3/work/vim63/src'

As you could see, the autoconf line is present and it still wants to do the selinux patch stuff.

Comment 9 Jaime Alvaro Moreno 2004-09-07 10:16:02 UTC
Hi all!

after taking a deep look into the code, i think i've found the problem:

1.- The 009_all_vim-6.2-selinux.patch is referencing vim version 6.2 as you could see in the patch all references are made to dir "vim62/src" and we are compiling vim 6.3 in dir "vim63/src" so the patch doesn't find the specified file and couldn't patch it so it will fail.

2.- if one run "./configure && make" without any patch it works perfectly

So i think this bug is fixed if the "009_all_vim-6.2-selinux.patch" file is modified to satisfy the new version of vim, this affect (i suppose) to the ebuild and the "vim-6.2.070-gentoo-patches.tar.bz2" file that has all the patches that vim6.3 ebuild downloads.

I have made a test with vim63 vanilla and that patch aplied correctly and "./configure && make" runs with no error.
Comment 10 Ciaran McCreesh 2004-09-07 16:38:44 UTC
Nope, that's not it. We'd get an epatch error if it didn't apply... As it is, it's using patch -p1 so it's applying quite happily. Plus, we wouldn't see this error at all if the selinux patch wasn't getting applied.

What exactly is the configure line being run? You should see a "./configure --lots of options" shortly after the autoconf line.
Comment 11 Jaime Alvaro Moreno 2004-09-07 21:50:42 UTC
I thought that if vim compile successfully without a patch as well as aplying the patch manually the error could be that ...

I'm trying to do some tests releated to the patchs that it aplies.

I have attached the complete output of the emerge.
If you need more data, please let me know.
Comment 12 Jaime Alvaro Moreno 2004-09-07 21:51:28 UTC
Created attachment 39178 [details]
Complete emerge output of vim6.3
Comment 13 Jaime Alvaro Moreno 2004-09-07 22:42:01 UTC
Hi again,

I finally managed this to work but there are a few questions (don't know if gentoo   specific or linux general).

After looking (again) into the problem, i saw that the problem could be that the system didn't have the "/usr/include/selinux/selinux.h" file and after doing a find in the system it didn't appear.

Inmediatly i looked in my laptop for that and it didn't appear also so i decided to merge "sys-libs/libselinux" with keyword=x86 in /etc/portage/package.keywords for the library

When successfull i did a new emerge -vu vim and worked. 

so here come the questions:

is necessary the "sys-libs/libselinux" necessary for vim ?
i can't remember doing anything speciall with selinux for gentoo so, why in my laptop it worked without libselinux? why it worked on itanium with libselinux merged?
as u could see i don't have "selinux" USE flag set ... why is this all about?
must be the libselinux library be a dependency?

I attached alse the complete output for the complete successfull emerge vim6.3 if it is helpfull.
Comment 14 Jaime Alvaro Moreno 2004-09-07 22:50:58 UTC
Created attachment 39182 [details]
Complete emerge output of vim6.3 sucessfully emerged
Comment 15 Ciaran McCreesh 2004-09-10 18:07:32 UTC
checking --disable-selinux argument... no <-- that's the problem. Is there something broken with econf on ia64/
Comment 16 Jaime Alvaro Moreno 2004-09-10 22:31:51 UTC
I have revised the configuration process and i found this in file "/var/tmp/portage/vim-6.3/work/vim63/src/configure.in"

dnl vim: set sw=2 tw=78 fo+=l:
dnl Link with -lselinux for SELinux stuff; if not found
AC_MSG_CHECKING(--disable-selinux argument)
AC_ARG_ENABLE(selinux,
        [  --disable-selinux      Don't check for SELinux support.],
        , [enable_selinux="yes"])
if test "$enable_selinux" = "yes"; then
   AC_MSG_RESULT(no)
   AC_CHECK_LIB(selinux, is_selinux_enabled, [LIBS="$LIBS -lselinux"])
   AC_DEFINE(HAVE_SELINUX)
else
   AC_MSG_RESULT(yes)
fi

I don't know what's this exactly, but i think it could be usefull.
Comment 17 Ciaran McCreesh 2005-09-22 12:14:25 UTC
Can't reproduce this one.