Saturday, April 18, 2020

Re: Failed to compile vim with lua support.

Hi,

On Sat, 18 Apr 2020 20:42:38 +0800
Hongyi Zhao <hongyi.zhao@gmail.com> wrote:

> Shlomi Fish <shlomif@shlomifish.org> 于2020年4月18日周六 下午8:18写道:
> >
> > Hi,
> >
> > On Sat, 18 Apr 2020 19:51:09 +0800
> > Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> >
> > > No, still failed, see following:
> > >
> > > $ git clone https://github.com/shlomif/vim.git vim.git
> >
> > You are using the wrong git branch:
> >
> > https://github.com/shlomif/vim/tree/lua-moonjit-support
> >
> > execute "git checkout lua-moonjit-support"
>
> Failed, see following:
>
> $ git clean -xdf
> $ git checkout lua-moonjit-support
> $ git branch
> * lua-moonjit-support
> master
> [...]
> $ make -j1
> [...]
> /usr/bin/ld: objects/if_lua.o: in function `luaopen_vim':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2011:
> undefined reference to `lua_setglobal'
> /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2013:
> undefined reference to `lua_getglobal' /usr/bin/ld:

First of all, I suggest removing moonjit out of /usr/local and installing it to
its own path (say "/opt/moonjit" or "/usr/local/apps/moonjit"). After that [and
after fixing the "./configure" invocation], try playing with these:

https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html

As well as
https://stackoverflow.com/questions/13428910/how-to-set-the-environmental-variable-ld-library-path-in-linux

Good luck!

> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2054:
> undefined reference to `lua_setglobal' /usr/bin/ld: objects/if_lua.o: in
> function `luaV_addlstring':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:651:
> undefined reference to `luaL_prepbuffsize' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:647:
> undefined reference to `luaL_prepbuffsize' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:649:
> undefined reference to `luaL_prepbuffsize' /usr/bin/ld: objects/if_lua.o: in
> function `luaV_setrange':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2071:
> undefined reference to `lua_getglobal' /usr/bin/ld: objects/if_lua.o: in
> function `luaV_print':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1595:
> undefined reference to `lua_getglobal' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1600:
> undefined reference to `lua_callk' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1604:
> undefined reference to `luaL_prepbuffsize' /usr/bin/ld: objects/if_lua.o: in
> function `luaV_debug':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1618:
> undefined reference to `lua_getglobal' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1620:
> undefined reference to `lua_rotate' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1633:
> undefined reference to `lua_pcallk' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1627:
> undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in function
> `luaV_newstate':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2064:
> undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in function
> `luaV_luaeval':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1952:
> undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> function `ex_lua':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2131:
> undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> function `ex_luado':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2165:
> undefined reference to `lua_callk' /usr/bin/ld:
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2176:
> undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> function `ex_luafile':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2208:
> undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> function `set_ref_in_lua':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2247:
> undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in function
> `lua_buffer_free':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2223:
> undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in function
> `lua_window_free':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2224:
> undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in function
> `do_luaeval':
> /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2234:
> undefined reference to `lua_callk' collect2: error: ld returned 1 exit status
> link.sh: Linking failed
> make[1]: *** [Makefile:2115: vim] Error 1
> make[1]: Leaving directory
> '/home/werner/Public/editor/vim/lua-moongit-support/vim.git/src'
> make: *** [Makefile:29: first] Error 2
>
>
>
>
> >
> > > $ cd vim.git
> > > $ ./configure \
> > > --enable-fail-if-missing \
> > > --enable-autoservername \
> > > --enable-cscope \
> > > --enable-fontset \
> > > --enable-multibyte \
> > > --enable-luainterp \
> > > --enable-perlinterp \
> > > --enable-pythoninterp=yes \
> > > --enable-python3interp=yes \
> > > --enable-rubyinterp \
> > > --enable-tclinterp \
> > > --with-tclsh=/usr/bin/tclsh \
> > > --enable-gui=gtk3 \
> > > --enable-terminal \
> > > --enable-xim \
> > > --with-x \
> > > --with-luajit \
> > > --with-lua-prefix=/usr/local \
> > > --with-features=huge
> > >
> > > $ make -j1
> > > [...]
> > > /usr/bin/ld: objects/if_lua.o: in function `luaopen_vim':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2011:
> > > undefined reference to `lua_setglobal'
> > > /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2013:
> > > undefined reference to `lua_getglobal' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2054:
> > > undefined reference to `lua_setglobal' /usr/bin/ld: objects/if_lua.o: in
> > > function `luaV_addlstring':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:651:
> > > undefined reference to `luaL_prepbuffsize' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:647:
> > > undefined reference to `luaL_prepbuffsize' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:649:
> > > undefined reference to `luaL_prepbuffsize' /usr/bin/ld: objects/if_lua.o:
> > > in function `luaV_setrange':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2071:
> > > undefined reference to `lua_getglobal' /usr/bin/ld: objects/if_lua.o: in
> > > function `luaV_print':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1595:
> > > undefined reference to `lua_getglobal' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1600:
> > > undefined reference to `lua_callk' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1604:
> > > undefined reference to `luaL_prepbuffsize' /usr/bin/ld: objects/if_lua.o:
> > > in function `luaV_debug':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1618:
> > > undefined reference to `lua_getglobal' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1620:
> > > undefined reference to `lua_rotate' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1633:
> > > undefined reference to `lua_pcallk' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1627:
> > > undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in
> > > function `luaV_newstate':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2064:
> > > undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in
> > > function `luaV_luaeval':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:1952:
> > > undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> > > function `ex_lua':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2131:
> > > undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> > > function `ex_luado':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2165:
> > > undefined reference to `lua_callk' /usr/bin/ld:
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2176:
> > > undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> > > function `ex_luafile':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2208:
> > > undefined reference to `lua_pcallk' /usr/bin/ld: objects/if_lua.o: in
> > > function `set_ref_in_lua':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2247:
> > > undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in
> > > function `lua_buffer_free':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2223:
> > > undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in
> > > function `lua_window_free':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2224:
> > > undefined reference to `lua_callk' /usr/bin/ld: objects/if_lua.o: in
> > > function `do_luaeval':
> > > /home/werner/Public/editor/vim/lua-moongit-support/vim.git/src/if_lua.c:2234:
> > > undefined reference to `lua_callk' collect2: error: ld returned 1 exit
> > > status link.sh: Linking failed
> > > make[1]: *** [Makefile:2115: vim] Error 1
> > > make[1]: Leaving directory
> > > '/home/werner/Public/editor/vim/lua-moongit-support/vim.git/src'
> > > make: *** [Makefile:29: first] Error 2
> > >
> > > Shlomi Fish <shlomif@shlomifish.org> 于2020年4月18日周六 下午7:37写道:
> > > >
> > > > Hi!
> > > >
> > > > On Sat, 18 Apr 2020 18:56:56 +0800
> > > > Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> > > >
> > > > > Shlomi Fish <shlomif@shlomifish.org> 于2020年4月18日周六
> > > > > 下午6:28写道:
> > > > > >
> > > > > > Hi!
> > > > > >
> > > > > > CCing the list.
> > > > > >
> > > > > > On Sat, 18 Apr 2020 18:02:18 +0800
> > > > > > Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> > > > > >
> > > > > > > Aonther thing to note: I installed moonjit to substitute the
> > > > > > > luajit which is not-maintained now.
> > > > > > >
> > > > > > > See following:
> > > > > > > $ luajit -v
> > > > > > > moonjit 2.2.0 -- Copyright (C) 2019-2020 moonjit developers.
> > > > > > > https://github.com/moonjit/moonjit
> > > > > > >
> > > > > >
> > > > > > With this:
> > > > > >
> > > > > > ```
> > > > > >
> > > > > > ./configure \
> > > > > > --enable-fail-if-missing \
> > > > > > --enable-autoservername \
> > > > > > --enable-cscope \
> > > > > > --enable-fontset \
> > > > > > --enable-multibyte \
> > > > > > --enable-luainterp \
> > > > > > --enable-perlinterp \
> > > > > > --enable-pythoninterp=yes \
> > > > > > --enable-python3interp=yes \
> > > > > > --enable-rubyinterp \
> > > > > > --enable-tclinterp \
> > > > > > --with-tclsh=/usr/bin/tclsh \
> > > > > > --enable-gui=gtk3 \
> > > > > > --enable-terminal \
> > > > > > --enable-xim \
> > > > > > --with-x \
> > > > > > --with-luajit \
> > > > > > --with-lua-prefix=/usr \
> > > > >
> > > > > No, I use the self compiled lua/moonjit which installed under
> > > > > /usr/local:
> > > > >
> > > > > werner@ubuntu-01:~$ which lua
> > > > > /usr/local/bin/lua
> > > > > werner@ubuntu-01:~$ which luajit
> > > > > /usr/local/bin/luajit
> > > > >
> > > >
> > > > After using this to build moonjit git:
> > > >
> > > > ```
> > > > #! /bin/sh
> > > > #
> > > > # moonjit.sh
> > > > # Copyright (C) 2020 Shlomi Fish <shlomif@cpan.org>
> > > > #
> > > > # Distributed under terms of the MIT license.
> > > > #
> > > >
> > > >
> > > > make PREFIX="$HOME/apps/to-del-moonjit" all install
> > > > ```
> > > >
> > > > and this to build vim:
> > > >
> > > > ```
> > > > luajit_pref="$HOME/apps/to-del-moonjit"
> > > > PATH="$luajit_pref/bin:$PATH"
> > > > ./configure \
> > > > --enable-fail-if-missing \
> > > > --enable-autoservername \
> > > > --enable-cscope \
> > > > --enable-fontset \
> > > > --enable-multibyte \
> > > > --enable-luainterp \
> > > > --enable-perlinterp \
> > > > --enable-pythoninterp=yes \
> > > > --enable-python3interp=yes \
> > > > --enable-rubyinterp \
> > > > --enable-tclinterp \
> > > > --with-tclsh=/usr/bin/tclsh \
> > > > --enable-gui=gtk3 \
> > > > --enable-terminal \
> > > > --enable-xim \
> > > > --with-x \
> > > > --with-luajit \
> > > > --with-lua-prefix="$luajit_pref" \
> > > > --with-features=huge
> > > >
> > > > ```
> > > >
> > > > I got:
> > > >
> > > > ```
> > > > checking for Haiku... no
> > > > checking for QNX... no
> > > > checking for Darwin (Mac OS X)... no
> > > > checking AvailabilityMacros.h usability... no
> > > > checking AvailabilityMacros.h presence... no
> > > > checking for AvailabilityMacros.h... no
> > > > checking --with-local-dir argument... Defaulting to /usr/local
> > > > checking --with-vim-name argument... Defaulting to vim
> > > > checking --with-ex-name argument... Defaulting to ex
> > > > checking --with-view-name argument... Defaulting to view
> > > > checking --with-global-runtime argument... no
> > > > checking --with-modified-by argument... no
> > > > checking if character set is EBCDIC... no
> > > > checking --disable-smack argument... no
> > > > checking linux/xattr.h usability... yes
> > > > checking linux/xattr.h presence... yes
> > > > checking for linux/xattr.h... yes
> > > > checking attr/xattr.h usability... no
> > > > checking attr/xattr.h presence... no
> > > > checking for attr/xattr.h... no
> > > > checking --disable-selinux argument... no
> > > > checking for is_selinux_enabled in -lselinux... yes
> > > > checking selinux/selinux.h usability... yes
> > > > checking selinux/selinux.h presence... yes
> > > > checking for selinux/selinux.h... yes
> > > > checking --with-features argument... huge
> > > > checking --with-compiledby argument... no
> > > > checking --disable-xsmp argument... no
> > > > checking --disable-xsmp-interact argument... no
> > > > checking --enable-luainterp argument... yes
> > > > checking --with-lua-prefix argument... /home/shlomif/apps/to-del-moonjit
> > > > checking --with-luajit... yes
> > > > checking for luajit... /home/shlomif/apps/to-del-moonjit/bin/luajit
> > > > checking LuaJIT version... moonjit 2.2.0 -- Copyright (C) 2019-2020
> > > > moonjit developers. https://github.com/moonjit/moonjit checking Lua
> > > > version of LuaJIT... 5.1 checking if lua.h can be found in
> > > > /home/shlomif/apps/to-del-moonjit/include/luajit-moonjit 2.2.0 --
> > > > Copyright (C) 2019-2020 moonjit developers.
> > > > https://github.com/moonjit/moonjit... checking if lua.h can be found in
> > > > /home/shlomif/apps/to-del-moonjit/include... no checking if lua.h can be
> > > > found in /home/shlomif/apps/to-del-moonjit/include/lua5.1... no
> > > > configure: error: could not configure lua [shlomif@telaviv1 vim-git]$
> > > > ```
> > > >
> > > > So my guess is that vim and moonjit are not compatible with each other.
> > > >
> > > > YOu can try my fix at
> > > > https://github.com/shlomif/vim/tree/lua-moonjit-support (note the
> > > > branch) which seems to work.
> > > > > > --with-features=huge
> > > > > >
> > > > > > ```
> > > > > >
> > > > > > vim builds fine on mageia v8 x64. But I changed the lua-prefix to
> > > > > > /usr and using mageia's luajit.
> > > > > >
> > > > > > > Hongyi Zhao <hongyi.zhao@gmail.com> 于2020年4月18日周六
> > > > > > > 下午5:59写道:
> > > > > > > >
> > > > > > > > Shlomi Fish <shlomif@shlomifish.org> 于2020年4月18日周六
> > > > > > > > 下午3:20写道:
> > > > > > > > >
> > > > > > > > > Hi Hongyi Zhao!
> > > > > > > > >
> > > > > > > > > On Sat, 18 Apr 2020 08:09:57 +0800
> > > > > > > > > Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> > > > > > > > >
> > > >
> > > > --
> > > >
> > > > Shlomi Fish https://www.shlomifish.org/
> > > > https://youtu.be/KxGRhd_iWuE - Never Give Up!!
> > > >
> > > > Sometimes you don't need to be familiar with a better alternative to
> > > > know that something sucks. Take Microsoft Word for example.
> > > > — Shlomi Fish's friend.
> > > >
> > > > Please reply to list if it's a mailing list post -
> > > > https://shlom.in/reply .
> > > >
> > > > --
> > > > --
> > > > You received this message from the "vim_use" maillist.
> > > > Do not top-post! Type your reply below the text you are replying to.
> > > > For more information, visit http://www.vim.org/maillist.php
> > > >
> > > > ---
> > > > You received this message because you are subscribed to the Google
> > > > Groups "vim_use" group. To unsubscribe from this group and stop
> > > > receiving emails from it, send an email to
> > > > vim_use+unsubscribe@googlegroups.com. To view this discussion on the
> > > > web visit
> > > > https://groups.google.com/d/msgid/vim_use/20200418143646.1dc5de35%40telaviv1.shlomifish.org.
> > >
> > >
> > >
> >
> >
> >
> > --
> >
> > Shlomi Fish https://www.shlomifish.org/
> > https://is.gd/i5eMQd - Emma Watson's Interview for a Software Dev Job
> >
> > He has a high degree of idealism, a high degree of stubbornness, and an even
> > higher degree of inability to distiniguish between the two.
> > — https://www.shlomifish.org/humour.html
> >
> > Please reply to list if it's a mailing list post - https://shlom.in/reply .
> >
>
>
>



--

Shlomi Fish https://www.shlomifish.org/
My Aphorisms - https://www.shlomifish.org/humour.html

Academic Politics are so vicious precisely because the stakes are so low.
https://quoteinvestigator.com/2013/08/18/acad-politics/

Please reply to list if it's a mailing list post - https://shlom.in/reply .

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20200418155327.57057920%40telaviv1.shlomifish.org.

No comments: