Help with building from source 4.0.6

Hi, I am trying to build wxpython from source and tried following the readme, but it has me a bit confused. I am attempting to build 4.0.6 on Windows 10 64-bit. The steps I followed were:

  1. Cloning the github
  2. Running: “git submodule update --init --recursive”
  3. I then ran: “python build.py dox etg --nodoc sip build” but received an error about not having the package “requests” installed so I installed it
  4. I tried to run the build script again using the same command and received this error:
    Will build using: “C:\Users\tcarr\AppData\Local\Programs\Python\Python37-32\python.exe”

3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)]

Python’s architecture is 32bit

cfg.VERSION: 4.1.0a1

Running command: dox

Checking for C:\Users\tcarr\Documents\wxbuild\Phoenix\bin\doxygen-1.8.8-win32.exe…

Traceback (most recent call last):

File “build.py”, line 2085, in

main(sys.argv[1:])

File “build.py”, line 205, in main

function(options, args)

File “build.py”, line 911, in cmd_dox

_doDox(‘xml’)

File “build.py”, line 891, in _doDox

raise RuntimeError(“ERROR: Unable to find bash.exe, needed for running regen.sh”)

RuntimeError: ERROR: Unable to find bash.exe, needed for running regen.sh

Finished command: dox (0.526s)

``

If someone could point me in the right direction that would be awesome or even layout the steps needed to correctly build from source.

Thanks.

Hi, I am trying to build wxpython from source and tried following the readme, but it has me a bit confused. I am attempting to build 4.0.6 on Windows 10 64-bit. The steps I followed were:

  1. Cloning the github
  2. Running: “git submodule update --init --recursive”
  3. I then ran: “python build.py dox etg --nodoc sip build” but received an error about not having the package “requests” installed so I installed it

You should do pip install -r requirements.txt to get other build-time dependencies.

  1. I tried to run the build script again using the same command and received this error:

File “build.py”, line 891, in _doDox

raise RuntimeError(“ERROR: Unable to find bash.exe, needed for running regen.sh”)

RuntimeError: ERROR: Unable to find bash.exe, needed for running regen.sh

Finished command: dox (0.526s)

``

If someone could point me in the right direction that would be awesome or even layout the steps needed to correctly build from source.

Cygwin bash is required for running the script that generates the input for the etg step. I’ve made changes in the master branch that make it less picky about which bash.exe is installed (git bash, msys, wsl) but in the 4.0.x series it still expects cygwin. IIRC, bash is needed because the regen.bat script doesn’t provide enough flexibility to run doxygen the way we need to run it.

If you don’t need to make changes to the wxPython or wxWidgets source then I recommend doing your build from a release or snapshot tarball instead of from a git checkout. All the generated files are present in the tarballs, so you can skip all the steps related to generating the sip and c++ files and just do python build.by build, or you can instead just run setup.py with normal distutils/setuptools commands.

···

On Wednesday, June 12, 2019 at 9:11:06 AM UTC-7, Tyler Carr wrote:

Robin

Sorry for the late reply. I took your advice and used a tarball. Everything worked perfectly and I was able to build. The reason I wanted to do this is due to the changes with accessible. I thought changing the flags[“wxUSE_ACCESSIBILITY”] = “1” to 0 would solve my problem but it did not. For my purposes I am using the accessible properties of the elements. When 4.0.4 these properties were changed so I switched all of my code to the new property values. With the release of 4.1.0, the functionality will go back to before 4.0.3 so all of my changes will need to be reverted.

I am looking for a way around this. I thought turning off that flag would not revert the way accessible works, but it still did. Any insight would be appreciated. If there is some changes I can make in the source code to prevent the old(before 4.0.4) functionality from returning when 4.1.0 releases that would be great.

Thanks.