E370 Could not load lib : gvim 64bits and lua/ruby/python dlls.

207 views
Skip to first unread message

Ni Va

unread,
Jan 5, 2018, 4:22:52 AM1/5/18
to vim_dev
Hi,


1/ working with these builds

¤ gvim built with nmake on windows 64 bits prompt (Visual Studio 2017)
¤ lua 5.3.4 built with mingw32 bits 64 bits
¤ python 27 & 36 64 bits downloaded
¤ Ruby24-x64 built with nmake


2/ In _vimrc overload and set python/lua/ruby dll option path.

let dllPath = tr(fnamemodify($vimruntime.'/extDlls',':p:h'),'/','\')
" let currpath.=';'.dllPath.'\lua'
let currpath.=';'.dllPath.'\ruby'
let currpath.=';'.dllPath.'\rg'
let currpath.=';'.dllPath.'\python\x64'

let uniqPath= join(uniq(split(currpath,';')),';')

let $path=currpath

set luadll = "lua53.dll"
set pythondll = "python27.dll"
set pythonthreedll = "python36.dll"
set rubydll = "x64-msvcrt-ruby240.dll"

3/ testing fails on E370
: lua/py/py3/ruby print ("test dll") => E370 could not load.


Maybe it comes from that gvim is built with nmake and for example lua is built with mingw32 for 64, even both in 64bits.


Thank you in advance.
Niva
infos.txt

Ken Takata

unread,
Jan 5, 2018, 4:54:35 AM1/5/18
to vim_dev
Hi,

2018/1/5 Fri 18:22:52 UTC+9 Ni Va wrote:
> Hi,
>
>
> 1/ working with these builds
>
> ¤ gvim built with nmake on windows 64 bits prompt (Visual Studio 2017)
> ¤ lua 5.3.4 built with mingw32 bits 64 bits
> ¤ python 27 & 36 64 bits downloaded
> ¤ Ruby24-x64 built with nmake
>
>
> 2/ In _vimrc overload and set python/lua/ruby dll option path.
>
> let dllPath = tr(fnamemodify($vimruntime.'/extDlls',':p:h'),'/','\')
> " let currpath.=';'.dllPath.'\lua'
> let currpath.=';'.dllPath.'\ruby'
> let currpath.=';'.dllPath.'\rg'
> let currpath.=';'.dllPath.'\python\x64'
>
> let uniqPath= join(uniq(split(currpath,';')),';')
>
> let $path=currpath

Did you check that $path is actually set as you expected?


> set luadll = "lua53.dll"
> set pythondll = "python27.dll"
> set pythonthreedll = "python36.dll"
> set rubydll = "x64-msvcrt-ruby240.dll"
>
> 3/ testing fails on E370
> : lua/py/py3/ruby print ("test dll") => E370 could not load.
>
>
> Maybe it comes from that gvim is built with nmake and for example lua is built with mingw32 for 64, even both in 64bits.

I don't think so. They are binary compatible as far as I know.


BTW, this kind of question is suitable for vim_use.
(Not vim_dev or personal mail.)

Regards,
Ken Takata

Ni Va

unread,
Jan 5, 2018, 5:04:04 AM1/5/18
to vim_dev
It seems checked, as shown by joined screenshot.
Thanks
Capture.PNG

Ken Takata

unread,
Jan 5, 2018, 5:13:03 AM1/5/18
to vim_dev
Hi,
Isn't there any other DLL with the same name in other directory?
For example, what does this show?
:echo system('where python27.dll')

Regards,
Ken Takata

Ni Va

unread,
Jan 5, 2018, 5:19:42 AM1/5/18
to vim_dev
¤¤¤ $path

C:\Ruby24-x64\bin
C:\ThirdPartTools\Python36\Scripts\
C:\ThirdPartTools\Python36\
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild
C:\ThirdPartTools\CMake\bin
C:\ThirdPartTools\curl-7.57.0-win64-mingw\bin
C:\ThirdPartTools\LLVM\bin
C:\Program Files\Git\usr\bin
C:\Program Files\Git\bin
C:\Qt\4.7.1\bin
C:\ThirdPartTools\Python27\Scripts
C:\ThirdPartTools\Python27
C:\ThirdPartTools\SysGCC\MinGW64\bin
D:\Logiciels\tooldir\vim-master\src\lua-5.3.4\src

D:\Logiciels\Vim\vim80
c:/program\ files/Git/bin
D:\Logiciels\Vim\vim80\extDlls\ruby
D:\Logiciels\Vim\vim80\extDlls\rg
D:\Logiciels\Vim\vim80\extDlls\python\x64


¤¤¤¤ let infos = system('where python27.dll') . ' ' . system('where python36.dll') . ' ' . system('where x64-msvcrt-ruby240.dll') . ' ' . system('where lua53.dll')

C:\ThirdPartTools\Python27\python27.dll
C:\ThirdPartTools\SysGCC\MinGW64\bin\python27.dll
D:\Logiciels\Vim\vim80\extDlls\python\x64\python27.dll
C:\ThirdPartTools\Python36\python36.dll
D:\Logiciels\Vim\vim80\extDlls\python\x64\python36.dll
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll
D:\Logiciels\Vim\vim80\extDlls\ruby\x64-msvcrt-ruby240.dll
Informationÿ: impossible de trouver des fichiers pour le(s) modŠle(s) sp‚cifi‚(s).


So, I suppose that I have to supress from system path all c:\distros\dlls ?
And update help about set option libdll in vim ?

Thank you Ken

Ni Va

unread,
Jan 5, 2018, 5:21:45 AM1/5/18
to vim...@googlegroups.com
A curiosity for lua53.dll

where lua53.dll
Information : impossible de trouver des fichiers pour le(s) modèle(s) spécifié(s).


--
--
You received this message from the "vim_dev" 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 a topic in the Google Groups "vim_dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vim_dev/GftOsk8jhJU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vim_dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ni Va

unread,
Jan 5, 2018, 5:28:31 AM1/5/18
to vim...@googlegroups.com
With system's path cleaned, another test:



let infos =  system('where python27.dll') . ' ' . system('where python36.dll') . ' ' . system('where x64-msvcrt-ruby240.dll') . ' ' . system('where lua53.dll')

D:\Logiciels\Vim\vim80\extDlls\python\x64\python27.dll
 D:\Logiciels\Vim\vim80\extDlls\python\x64\python36.dll
 D:\Logiciels\Vim\vim80\extDlls\ruby\x64-msvcrt-ruby240.dll
 D:\Logiciels\Vim\vim80\extDlls\lua\lua53.dll


:lua print "hello"
E370: Could not load library
Lua library cannot be loaded.

py print("test")
370: Could not load library
E263: Sorry, this command is disabled, the Python library could not be loaded




James McCoy

unread,
Jan 5, 2018, 7:24:06 AM1/5/18
to vim_dev
On Fri, Jan 05, 2018 at 01:22:52AM -0800, Ni Va wrote:
> set luadll = "lua53.dll"
> set pythondll = "python27.dll"
> set pythonthreedll = "python36.dll"
> set rubydll = "x64-msvcrt-ruby240.dll"

First, you can't have whitespace around the ‘=’ when setting an option.

Second, Vim's comment character is ‘"’ so even if whitespace were
allowed, this would be setting the options to the empty string.

So, none of these options have been set as you expect. You can verify
this by running “:set luadll?”.

Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB

Ni Va

unread,
Jan 5, 2018, 7:30:22 AM1/5/18
to vim...@googlegroups.com
This is it! 

Without space around '=', 
without '"' comment around dll name => works 


set luadll=lua53.dll
set pythondll=python27.dll
set pythonthreedll=python36.dll
set rubydll=x64-msvcrt-ruby240.dll

Thank you a lot James, Ken and hoe that can help others users.
Niva


Ni Va

unread,
Jan 5, 2018, 7:58:56 AM1/5/18
to vim_dev
> To unsubscribe from this group and all its topics, send an email to vim_dev+u...@googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

Why :has('python3') returns 0 ?

Ni Va

unread,
Jan 5, 2018, 8:32:36 AM1/5/18
to vim...@googlegroups.com

It's OK, after relaunch gvim, it echoes 1.


> To unsubscribe from this group and all its topics, send an email to vim_dev+unsubscribe@googlegroups.com.

>
> For more options, visit https://groups.google.com/d/optout.

Why :has('python3') returns 0 ?

--
--
You received this message from the "vim_dev" 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 a topic in the Google Groups "vim_dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vim_dev/GftOsk8jhJU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vim_dev+unsubscribe@googlegroups.com.

Ni Va

unread,
Jan 11, 2018, 4:28:27 AM1/11/18
to vim_dev
> > To unsubscribe from this group and all its topics, send an email to vim_dev+u...@googlegroups.com.
>
> >
>
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> Why :has('python3') returns 0 ?
>
>
>
> --
>
> --
>
> You received this message from the "vim_dev" 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 a topic in the Google Groups "vim_dev" group.
>
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/vim_dev/GftOsk8jhJU/unsubscribe.
>
> To unsubscribe from this group and all its topics, send an email to vim_dev+u...@googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

Finally don't understand some things. I deploy my distribution onto another machine without Python framework. just dynamic lib python36.dll


VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 10 2018 17:55:35)
MS-Windows 64-bit GUI version with OLE support
Included patches: 1-1428
Huge version with GUI. Features included (+) or not (-):
+acl +clipboard +digraphs +folding +linebreak -mzscheme +python3/dyn +tag_binary +user_commands -xim
+arabic +cmdline_compl +directx -footer +lispindent -netbeans_intg +quickfix +tag_old_static +vertsplit -xpm_w32
+autocmd +cmdline_hist -dnd +gettext/dyn +listcmds +num64 +reltime -tag_any_white +virtualedit -xterm_save
+autoservername +cmdline_info -ebcdic -hangul_input +localmap +ole +rightleft -tcl +visual
+balloon_eval +comments +emacs_tags +iconv/dyn +lua/dyn +packages +ruby/dyn -termguicolors +visualextra
-balloon_eval_term +conceal +eval +insert_expand +menu +path_extra +scrollbind +terminal +viminfo
+browse +cryptv +ex_extra +job +mksession -perl +signs -tgetent +vreplace
++builtin_terms -cscope +extra_search +jumplist +modify_fname +persistent_undo +smartindent -termresponse +wildignore
+byte_offset +cursorbind +farsi +keymap +mouse -postscript +startuptime +textobjects +wildmenu
+channel +cursorshape +file_in_path +lambda +mouseshape +printer +statusline +timers +windows
+cindent +dialog_con_gui +find_in_path +langmap +multi_byte +profile -sun_workshop +title +writebackup
+clientserver +diff +float +libcall +multi_lang -python +syntax +toolbar -xfontset



put=$path says that :
c:/Users/Administrator/AppData/Local/Temp/Vim/vim80/extDlls/lua
c:/Users/Administrator/AppData/Local/Temp/Vim/vim80/extDlls/ruby
c:/Users/Administrator/AppData/Local/Temp/Vim/vim80/extDlls/rg
c:/Users/Administrator/AppData/Local/Temp/Vim/vim80/extDlls/python/x64

set pythonthreedll= echoes pythonthreedll=python36.dll
echo system('where python36.dll') returns c:/Users/Administrator/AppData/Local/Temp/Vim/vim80/extDlls/python/x64

1/ Why echo('python3') returns 0 ?
2/ Why python3 print("hello py3") retuens E370:Could not load library python36.dll

Thank you for idea
Niva
Reply all
Reply to author
Forward
0 new messages