I needed a version of VIM that used python 2.6 instead of the default
python 2.4. I was able to use sources from the svn repository and also
compile successfully under cygwin using Make_cyg.mak file. The make
command created all binaries in src/ directory. I couldn't find a way
to "install" the built executables the way precompiled vim gets
installed. I tried to run install.exe, but it didn't like the fact
that it exists in src/ directory instead of vim72/ directory. This is
my first time building VIM from sources. Can anyone help me complete
the final step of actually installing VIM after it's built?
Thanks
P Adhia
Although you seem to built VIM successfully using cygwin gcc, it is
worst to know (for next time may be) very detailed build howto by Tony
Mechelynck:
unix:
http://users.skynet.be/antoine.mechelynck/vim/compunix.htm
windows:
http://users.skynet.be/antoine.mechelynck/vim/compile.htm
Concerning install, I always do it in that way: first install recent
precompiled binary from Bram's site, then just replace gvim.exe and
runtimefiles with that from the SVN. BTW, please have a look to Tony's
instructions for updating runtime files - they must be updated
separately using rsync, (sources you can get from downloaded tarball
+patches or SVN).
--
Anton
> unix:http://users.skynet.be/antoine.mechelynck/vim/compunix.htm
>
> windows:http://users.skynet.be/antoine.mechelynck/vim/compile.htm
>
Thank you (and Tony) for sharing these very informative write-ups.
> BTW, please have a look to Tony's
> instructions for updating runtime files - they must be updated
> separately using rsync, (sources you can get from downloaded tarball
> +patches or SVN).
I noticed that the svn copy also has runtime/ folder, I am guessing
rsync method or copying runtime/ folder from svn sources both should
be ok. Or, it might be preferable to use svn runtime/ if you build
from svn sources and use rsync method if you follow sources+patches
method.
> Anton
Thanks again for you help.
P Adhia
Unfortunately it is not the case. In both traball and SVN runtime
files are out of date - so rsync is the only possibility to get the
latest runtime files.
--
Anton.
Thanks for clarifying. I got that updated now.
I am now running into a different problem. I can't seem to load python
c-extensions. For example,
:py import pyexpat
gives me an error "ImportError: DLL load failed: The specified module
could not be found."
I don't get the error when I run the import command from within python
interpreter or scripts; only when running under VIM. Thinking this
might be related to my using cygwin gcc compiler, I downloaded and
built VIM using MSVC (Express edition) and I still get the same error.
If anyone has tried compiling VIM with python 2.6 support under
windows, can you please post if the above command works?
Thanks
P Adhia
I encountered the same issue and have downgraded to python2.5 due
that. (In my case the import causing error were :py import socket). I
think vim python bindings are not yet so far to work with 2.6.
--
Anton.
> I encountered the same issue and have downgraded to python2.5 due
> that. (In my case the import causing error were :py import socket). I
> think vim python bindings are not yet so far to work with 2.6.
>
> --
> Anton.
Thanks once again Anton, you advice has saved me a lot of pain. Python
2.5 indeed works nicely with VIM.
P Adhia
I ran into a similar situation in the following situation.
I migrated a pylons website thath runs under IIS using the isapi_wsgi
package from Python 2.5.2 to python 2.6.1.
Since the whole excersise was a planned migration to 2.6 downgrading
back to 2.5 was not a real option.
I did solve the problem by including a manifest in the .pyb and .dll
located in Python26\DLLs.
The main culprit in my case was _socket.pyb, but it applies to nearly
all modules located in this folder, but it may not end with just
those. (although any other pyb-file on my environment did include an
embedded manifest.
The problem occurs when the loading executable does not include a
manifest for loading the MSVCR90.dll. This is why it does not occur
when running it from the python interpreter.
Solution:
I ran the manifest tool (mt.exe) against all files in the mentioned
folder to add the manifest below (extracted from python26.dll)
======== Manifest ==========
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></
requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
version="9.0.21022.8" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
======= end ========
Andre