Skip to main content

Issue with installing python-axolotl or python-axolotl-curve25519 on Windows

It is peeve amazing how many hours get burnt while trying to resolve simple package dependency issues. I may be too dumb to proffer a lasting one-fits-all solution to all dependency issues, but I got this issue fixed in my own case.

Problem Description:
The python-axolotl library requires certain dependencies that are not properly managed when installing libraries via a command line's requirement.txt file.

I got real help by reading through this link below, but this page might be more helpful when it comes to detailed instructions.
Actual instructions: https://github.com/tgalal/python-axolotl

Typical errors might look like the following:

1. In this case, missing library(s). Libraries needed for compiling some python resources. Unfortunately, http://aka.ms/vcpython27 has been decommissioned because Python2x is EOL. You can still get the VcPython27 from an archive at https://web.archive.org/web/20210106040222/download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi
error: command 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "C:\Users\Administrator\AppData\Local\Continuum\Anaconda2\envs\swdb\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\justink\\appdata\\local\\temp\\pip-yja6cx-build\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\justink\appdata\local\temp\pip-f0cy1o-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\justink\appdata\local\temp\pip-yja6cx-build\


2. In this case, there is a missing file in the package discussed above (VCForPython27.msi). Copy the file at this URL: https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
and paste it in C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\include\
curve/curve25519-donna.c(49) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
  error: command 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2 

Note: As a requirement, the authors of python-axolotl require that MinGW (plus GCC) and Zlib must be installed. The next instructions will guide you on How to get this done.

3. To download MinGW for windows(MinGW-get-setup.exe), I suggest this link
https://osdn.net/projects/mingw/releases/
This is just an installation manager for MinGW. After installation, the manager will provide different variants and we shall install the necessary variant.

4. Add MinGW to environment variables
e.g Add C:\MinGW\bin to environment variables

5. Create a new file named distutils.cfg, put this new file in the Lib/distutils folder of your python installation e.g C:\python27\Lib\distutils.
inside this file add these 2 lines and save:
[build]
compiler=mingw32

6. Open a new instance of the Command prompt and run this command, Remember what I said about variants? here it is...

mingw-get.exe install gcc
Note: due to some spaces in my Docker path variables, My system was unable to see the MinGW path so, I appended the MinGW to the beginning of the Path string. Another way is to open the CMD and navigate to the bin directory of MinGW.


7. download a version of Zlib, I suggest using this link
http://gnuwin32.sourceforge.net/packages/zlib.htm


Now you can resume any previous installation of python-module or libraries that were failing previously.

Examples of installs affected by these are:

https://github.com/PyWaves/PyWaves/issues/59
https://github.com/romanzaikin/BurpExtension-WhatsApp-Decryption-CheckPoint/issues/1
https://github.com/mukulhase/WebWhatsapp-Wrapper/issues/211

Let me know if there are other things I might have left out, or perhaps one of the links is broken. It will help someone someday. There are quite a few other things I did while trying to resolve this issue, but I count them as insignificant, if your case seems a bit different, let me know, I could be of help.


If there is something not right with this article, please I would like to know. feel free to drop a comment, all kinds of comments are welcomed but the nice ones are well appreciated and no comment will be ignored.

Comments

Popular Articles

Installing Docker on Ubuntu 18.04 ([SOLVED]- libseccomp2 version 2.3.1 installed but 2.4 required)

 Introduction: If you're attempting to install Docker on Ubuntu 18.04 Bionic Beaver, which is known for having installation issues, this comprehensive guide aims to address common errors you may encounter during the process. Our goal is to save you time searching for answers on StackOverflow by providing clear instructions. The guide is based on the official Docker documentation available at https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository. Step 1: Updating Package Lists To begin, run the following command to update your package lists using the "apt-get update" command: sudo apt-get update Note: If you encounter any errors during the update process, it may be due to the older Ubuntu 18.04 release. In such cases, you can refer to the Configure DNS server IP to resolve errors with apt-get update  guide for assistance. This guide will help you address any DNS-related issues that might be preventing successful updates. Step 2: Installing Dependencie...

[SOLVED] Issues with Python Path after installation

After installing python on freshly installed windows 10. I could not call the python command from the command line interface. TL;DR: After a bit of trial and error. I figured; I had to make the python path the first entry in the list of path variables. before: PATH=C:\Program Files (x86)\Intel\iCLS Client\;...C:\Users\Admin\AppData\Local\Programs\Python\Python37...; After: PATH=C:\Users\Admin\AppData\Local\Programs\Python\Python37;C:\Program Files (x86)\Intel\iCLS Client\;... The Python path story I got a brand new windows 10 installation recently. I decided I was going to use this workstation to prepare for my python interviews. So after a few clicks, I installed python3.7 from a local copy on my flash drive. After installation, I expected that the environment variables will be set but it wasn't. I updated the path variables manually. To my surprise, Python was still not recognized. Let me show you what my Path variables looked like. To resolve this issue, simply click the py...

Laragon: installing more versions of Apache/HTTPD

Most of the time, we casually install various PHP versions and server tools without checking if they were built for Win32 or Win64. A discussion for another day. I recently downgraded Laragon’s from PHP8.1-x64 to PHP7.x-x86. This had a little consequence - APACHE! Hence, I got the error below, indicating that my PHP and Apache can’t work together because they are of different architectures or builds.   The originally installed Apache was for 64-bit PHP versions, there are no Apache versions designed to run both 32-bit and 64-bit builds of PHP. In this article, I share steps and links that guide you to install multiple versions and builds of Apache on Laragon. 1. For all intent and purposes, you are advised to always download the latest version of Apache. Visit this URL https://www.apachelounge.com/download/additional/ to see the different versions available. It is easy to access the 64-bit versions from the homepage. However, to access the 32-bit versions, you need to use this UR...