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
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
hey sliver, what version of *headers* do you have installed? epm -qGa | grep headers
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.
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.
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"
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?
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.
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.
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.
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.
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.
Created attachment 39178 [details] Complete emerge output of vim6.3
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.
Created attachment 39182 [details] Complete emerge output of vim6.3 sucessfully emerged
checking --disable-selinux argument... no <-- that's the problem. Is there something broken with econf on ia64/
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.
Can't reproduce this one.