15

I've got Vim installed on MacOS using Brew and it installs with +python3 support for Python 3.7.2 by default.

I'm writing a Vim plugin which utilises some Python 3.7 and would like this to be able to work on parity with Linux with how it works on MacOS.

In a Docker container with Ubuntu Bionic I've tried installing Python 3.7.2 and Vim; and it installs Python 3.6 and links to this version.

I've tried installing Vim from source in the container and it will build for 3.6 but not for 3.7.

On Linux, running the following to configure the build:

./configure --with-features=huge --enable-cscope --enable-multibyte \
  --enable-rubyinterp --enable-pythoninterp --enable-python3interp \
  --with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu \
  --enable-fail-if-missing

fails with the message:

checking if compile and link flags for Python 3 are sane... no

I've thought of downgrading the MacOS Vim version to 3.6 and coding the plugin to that version but thought I would explore options to get it working on Linux with Python 3.7 first.

Also, if this is not the appropriate forum for this question, please let me know and I will move it to a stack-exchange site more appropriate.

Vivian De Smedt
  • 16,336
  • 3
  • 18
  • 37
Willem van Ketwich
  • 213
  • 1
  • 2
  • 9

3 Answers3

12

Probably your default python3 is 3.6. You need, then, tell the build process to use python3.7. You can do that with the parameters --with-python3-command:

./configure --with-python3-command=python3.7 \
            --with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu \
            ... (other config params) ...

HTH

João A. Toledo
  • 773
  • 5
  • 11
12

make clean distclean before running the configure command for vim. This worked for me. There was lots of cached items hanging around from before that were interfering with vim configure.

CyclicUniverse
  • 121
  • 1
  • 2
  • 1
    Welcome to [vi.se]! Have you been able to try this with the OPs case? This answer could benefit from more detail specific to the question – D. Ben Knoble Oct 25 '19 at 14:06
  • This worked for me, it looks like after trying several commands around the repo is dirty, this will fix it. – calbertts Jun 24 '22 at 09:44
2

I had the same error message

checking if compile and link flags for Python 3 are sane... no

and was running essentially the same command. The issue was with the line:

--with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu

which was incorrect.

I checked the actual location of the config using the output of:

python3.7-config

and that fixed the issue.