Skip to content

Issue #15 - Guard #include <unistd.h> in planarityCommandLine.c based on compiler#18

Merged
john-boyer-phd merged 1 commit intomasterfrom
Issue15-GuardUnistdInclude
Feb 22, 2026
Merged

Issue #15 - Guard #include <unistd.h> in planarityCommandLine.c based on compiler#18
john-boyer-phd merged 1 commit intomasterfrom
Issue15-GuardUnistdInclude

Conversation

@wbkboyer
Copy link
Copy Markdown
Member

Resolves #15 (and #17 )

Fix details

Since planarityCommandLine.c required getcwd() and chdir() from unistd.h, I determined the header in which equivalent functions were declared in the MSVC cl libraries (i.e. _getcwd() and _chdir() from direct.h). Then, checking what macros are defined allows us to determine what compiler is being used, meaning we can conditionally #define aliases when using MSVC cl.

For more info on what macros are defined and for which toolchains, see the table outlined here.

…dLine.c and guard the include of unistd.h when using MSVC cl (which is the default compiler toolchain assumed by Python's setuptools on Windows)
@wbkboyer
Copy link
Copy Markdown
Member Author

Fix confirmed on MacOS

Before fix:

wbkboyer@Wandas-MacBook-Pro planarity % python3.14 -m venv .venv
wbkboyer@Wandas-MacBook-Pro planarity % source .venv/bin/activate
(.venv) wbkboyer@Wandas-MacBook-Pro planarity % pip install -r requirements.txt
...
(.venv) wbkboyer@Wandas-MacBook-Pro planarity % pip install .
Processing ./.
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... done
  Created wheel for planarity: filename=planarity-0.6-cp314-cp314-macosx_10_15_universal2.whl size=222744 sha256=e857fa2df7370410b27bb60a40ae9089f880228eb5ccf31c6f760113354a3430
  Stored in directory: /private/var/folders/t1/2kcfnw2902x6gjpfcq7l1r800000gn/T/pip-ephem-wheel-cache-v62ecu4i/wheels/f6/1f/0d/a5e38904ca67ef2dba8c48031ec1d06d406fd3d0fd23e39f0c
Successfully built planarity
Installing collected packages: planarity
Successfully installed planarity-0.6
(.venv) wbkboyer@Wandas-MacBook-Pro planarity % python examples/ascii.py 
Traceback (most recent call last):
  File "/Users/wbkboyer/git/planarity/examples/ascii.py", line 1, in <module>
    import planarity
  File "/Users/wbkboyer/git/planarity/.venv/lib/python3.14/site-packages/planarity/__init__.py", line 2, in <module>
    from .planarity import PGraph
ImportError: dlopen(/Users/wbkboyer/git/planarity/.venv/lib/python3.14/site-packages/planarity/planarity.cpython-314-darwin.so, 0x0002): symbol not found in flat namespace '_commandLine'

After fix:

(.venv) wbkboyer@Wandas-MacBook-Pro planarity % pip install .
Processing ./.
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... done
  Created wheel for planarity: filename=planarity-0.6-cp314-cp314-macosx_10_15_universal2.whl size=227579 sha256=6e83b2d7f5f3f9f58f9d3a6ced4df73d3e5ad0e9fea79c14ff0aca947507d7c8
  Stored in directory: /private/var/folders/t1/2kcfnw2902x6gjpfcq7l1r800000gn/T/pip-ephem-wheel-cache-9s2th6zf/wheels/f6/1f/0d/a5e38904ca67ef2dba8c48031ec1d06d406fd3d0fd23e39f0c
Successfully built planarity
Installing collected packages: planarity
  Attempting uninstall: planarity
    Found existing installation: planarity 0.6
    Uninstalling planarity-0.6:
      Successfully uninstalled planarity-0.6
Successfully installed planarity-0.6
(.venv) wbkboyer@Wandas-MacBook-Pro planarity % python examples/ascii.py
----1----
|  |    |
|  --4--|
|   || ||
--2--| ||
 ||  | ||
 |--5--||
 |    |||
 ---3----
Fix confirmed on Windows using Python setuptools default compiler choice of MSVC cl

Before fix:

C:\Users\wbkbo\git\planarity>python -m venv .venv

C:\Users\wbkbo\git\planarity>.venv\Scripts\activate

(.venv) C:\Users\wbkbo\git\planarity>pip install -r requirements.txt
...
(.venv) C:\Users\wbkbo\git\planarity>pip install .
Processing c:\users\wbkbo\git\planarity
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for planarity (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [194 lines of output]
      C:\Users\wbkbo\AppData\Local\Temp\pip-build-env-v08zeb33\overlay\Lib\site-packages\setuptools\dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: BSD License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-314\planarity
      copying planarity\planarity_functions.py -> build\lib.win-amd64-cpython-314\planarity
      copying planarity\planarity_networkx.py -> build\lib.win-amd64-cpython-314\planarity
      copying planarity\__init__.py -> build\lib.win-amd64-cpython-314\planarity
      running build_ext
      building 'planarity.planarity' extension
      creating build\temp.win-amd64-cpython-314\Release\planarity
      creating build\temp.win-amd64-cpython-314\Release\planarity\src
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/planarity.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\planarity.obj
      planarity.c
      planarity/planarity.c(9291): warning C4244: '=': conversion from 'Py_ssize_t' to 'long', possible loss of data
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphDFSUtils.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphDFSUtils.obj
      graphDFSUtils.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphDrawPlanar.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphDrawPlanar.obj
      graphDrawPlanar.c
      planarity/src\graphDrawPlanar.c(833): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar.c(912): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphDrawPlanar_Extensions.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphDrawPlanar_Extensions.obj
      graphDrawPlanar_Extensions.c
      planarity/src\graphDrawPlanar_Extensions.c(568): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(581): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(593): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(641): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(650): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(663): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(669): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(640): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(646): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(659): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphDrawPlanar_Extensions.c(668): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphEmbed.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphEmbed.obj
      graphEmbed.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphExtensions.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphExtensions.obj
      graphExtensions.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphIO.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphIO.obj
      graphIO.c
      planarity/src\graphIO.c(38): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(42): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(60): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(64): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(118): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(125): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(144): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(147): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(205): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(209): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(325): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(335): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(341): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(381): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(466): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
      planarity/src\graphIO.c(505): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(517): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(531): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(545): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(581): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(790): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(920): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(943): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(949): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(955): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(961): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\graphIO.c(967): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphIsolator.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphIsolator.obj
      graphIsolator.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK23Search.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK23Search.obj
      graphK23Search.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK23Search_Extensions.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK23Search_Extensions.obj
      graphK23Search_Extensions.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK33Search.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK33Search.obj
      graphK33Search.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK33Search_Extensions.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK33Search_Extensions.obj
      graphK33Search_Extensions.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK4Search.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK4Search.obj
      graphK4Search.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphK4Search_Extensions.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphK4Search_Extensions.obj
      graphK4Search_Extensions.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphNonplanar.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphNonplanar.obj
      graphNonplanar.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphOuterplanarObstruction.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphOuterplanarObstruction.obj
      graphOuterplanarObstruction.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphTests.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphTests.obj
      graphTests.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\graphUtils.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\graphUtils.obj
      graphUtils.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\listcoll.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\listcoll.obj
      listcoll.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\planarity.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\planarity.obj
      planarity.c
      planarity/src\planarity.c(196): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarity.c(228): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\planarityRandomGraphs.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\planarityRandomGraphs.obj
      planarityRandomGraphs.c
      planarity/src\planarityRandomGraphs.c(56): warning C4244: 'function': conversion from 'time_t' to 'unsigned int', possible loss of data
      planarity/src\planarityRandomGraphs.c(80): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(84): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(105): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(109): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(117): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(121): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(153): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(157): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(169): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(173): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(214): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(220): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(229): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(235): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(240): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(249): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(256): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(261): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(266): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(290): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(299): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(370): warning C4244: 'function': conversion from 'time_t' to 'unsigned int', possible loss of data
      planarity/src\planarityRandomGraphs.c(435): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(437): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(443): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(381): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(425): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(439): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityRandomGraphs.c(444): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\planaritySpecificGraph.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\planaritySpecificGraph.obj
      planaritySpecificGraph.c
      planarity/src\planaritySpecificGraph.c(195): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(220): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(221): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(226): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(227): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(228): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(229): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(230): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(231): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(232): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planaritySpecificGraph.c(236): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\planarityUtils.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\planarityUtils.obj
      planarityUtils.c
      planarity/src\planarityUtils.c(29): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(40): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(43): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(46): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(49): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(102): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(151): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(164): warning C4267: 'initializing': conversion from 'size_t' to 'long', possible loss of data
      planarity/src\planarityUtils.c(192): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(246): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(247): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(308): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(309): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(434): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(443): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(431): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(467): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(473): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(474): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(479): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(487): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(491): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(492): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(494): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(501): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\planarityUtils.c(495): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\stack.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\stack.obj
      stack.c
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt" /Tcplanarity/src\strbuf.c /Fobuild\temp.win-amd64-cpython-314\Release\planarity\src\strbuf.obj
      strbuf.c
      planarity/src\strbuf.c(132): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\strbuf.c(202): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\strbuf.c(208): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
      planarity/src\strbuf.c(186): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
      "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Users\wbkbo\git\planarity\.venv\libs /LIBPATH:C:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\libs /LIBPATH:C:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64 /LIBPATH:C:\Users\wbkbo\git\planarity\.venv\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.26100.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.26100.0\\um\x64" /EXPORT:PyInit_planarity build\temp.win-amd64-cpython-314\Release\planarity\planarity.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphDFSUtils.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphDrawPlanar.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphDrawPlanar_Extensions.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphEmbed.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphExtensions.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphIO.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphIsolator.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK23Search.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK23Search_Extensions.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK33Search.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK33Search_Extensions.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK4Search.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphK4Search_Extensions.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphNonplanar.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphOuterplanarObstruction.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphTests.obj build\temp.win-amd64-cpython-314\Release\planarity\src\graphUtils.obj build\temp.win-amd64-cpython-314\Release\planarity\src\listcoll.obj build\temp.win-amd64-cpython-314\Release\planarity\src\planarity.obj build\temp.win-amd64-cpython-314\Release\planarity\src\planarityRandomGraphs.obj build\temp.win-amd64-cpython-314\Release\planarity\src\planaritySpecificGraph.obj build\temp.win-amd64-cpython-314\Release\planarity\src\planarityUtils.obj build\temp.win-amd64-cpython-314\Release\planarity\src\stack.obj build\temp.win-amd64-cpython-314\Release\planarity\src\strbuf.obj /OUT:build\lib.win-amd64-cpython-314\planarity\planarity.cp314-win_amd64.pyd /IMPLIB:build\temp.win-amd64-cpython-314\Release\planarity\planarity.cp314-win_amd64.lib
         Creating library build\temp.win-amd64-cpython-314\Release\planarity\planarity.cp314-win_amd64.lib and object build\temp.win-amd64-cpython-314\Release\planarity\planarity.cp314-win_amd64.exp
      planarity.obj : error LNK2001: unresolved external symbol legacyCommandLine
      planarity.obj : error LNK2001: unresolved external symbol commandLine
      build\lib.win-amd64-cpython-314\planarity\planarity.cp314-win_amd64.pyd : fatal error LNK1120: 2 unresolved externals
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\18\\BuildTools\\VC\\Tools\\MSVC\\14.50.35717\\bin\\HostX86\\x64\\link.exe' failed with exit code 1120
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for planarity
Failed to build planarity

[notice] A new release of pip is available: 25.3 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> planarity

After fix:

(.venv) C:\Users\wbkbo\git\planarity>pip install .
Processing c:\users\wbkbo\git\planarity
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... done
  Created wheel for planarity: filename=planarity-0.6-cp314-cp314-win_amd64.whl size=61315 sha256=5dbbaa8df96276a11af955127bd36c92633e94efe8e3fff5895f708675e038c6
  Stored in directory: C:\Users\wbkbo\AppData\Local\Temp\pip-ephem-wheel-cache-tcvpxfp7\wheels\42\77\cc\104720b32e52c09b19cef843bd017de1d36eb517db3c1d0059
Successfully built planarity
Installing collected packages: planarity
Successfully installed planarity-0.6

[notice] A new release of pip is available: 25.3 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

(.venv) C:\Users\wbkbo\git\planarity>python examples\ascii.py
----1----
|  |    |
|  --3--|
|   || ||
--4--| ||
 ||  | ||
 |--2--||
 |    |||
 ---5----

Fix confirmed on Windows (overriding MSVC cl default compiler to use MSYS2 UCRT64 MinGW-w64 gcc)

Before fix:

C:\Users\wbkbo\git\planarity>python -m venv .venv

C:\Users\wbkbo\git\planarity>.venv\Scripts\activate.bat

(.venv) C:\Users\wbkbo\git\planarity>pip install --config-settings="--build-option=build_ext" --config-settings="--build-option=--compiler=mingw32" -r requirements.txt
...

(.venv) C:\Users\wbkbo\git\planarity>pip install --config-settings="--build-option=build_ext" --config-settings="--build-option=--compiler=mingw32" .
Processing c:\users\wbkbo\git\planarity
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for planarity (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      C:\Users\wbkbo\AppData\Local\Temp\pip-build-env-fcvx5fc5\overlay\Lib\site-packages\setuptools\dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: BSD License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-314\planarity
      copying planarity\planarity_functions.py -> build\lib.win-amd64-cpython-314\planarity
      copying planarity\planarity_networkx.py -> build\lib.win-amd64-cpython-314\planarity
      copying planarity\__init__.py -> build\lib.win-amd64-cpython-314\planarity
      running build_ext
      building 'planarity.planarity' extension
      creating build\temp.win-amd64-cpython-314\Release\planarity
      creating build\temp.win-amd64-cpython-314\Release\planarity\src
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/planarity.c -o build\temp.win-amd64-cpython-314\Release\planarity\planarity.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphDFSUtils.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdfsutils.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphDrawPlanar.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdrawplanar.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphDrawPlanar_Extensions.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdrawplanar_extensions.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphEmbed.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphembed.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphExtensions.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphextensions.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphIO.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphio.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphIsolator.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphisolator.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK23Search.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk23search.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK23Search_Extensions.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk23search_extensions.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK33Search.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk33search.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK33Search_Extensions.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk33search_extensions.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK4Search.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk4search.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphK4Search_Extensions.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk4search_extensions.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphNonplanar.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphnonplanar.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphOuterplanarObstruction.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphouterplanarobstruction.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphTests.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphtests.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\graphUtils.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\graphutils.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\listcoll.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\listcoll.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\planarity.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\planarity.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\planarityRandomGraphs.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityrandomgraphs.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\planaritySpecificGraph.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityspecificgraph.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\planarityUtils.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityutils.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\stack.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\stack.o
      gcc -shared -O -Wall -Iplanarity/src/ -IC:\Users\wbkbo\git\planarity\.venv\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\include -IC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\Include -c planarity/src\strbuf.c -o build\temp.win-amd64-cpython-314\Release\planarity\src\strbuf.o
      writing build\temp.win-amd64-cpython-314\Release\planarity\planarity.cp314-win_amd64.def
      gcc -shared -s build\temp.win-amd64-cpython-314\Release\planarity\planarity.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdfsutils.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdrawplanar.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphdrawplanar_extensions.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphembed.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphextensions.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphio.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphisolator.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk23search.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk23search_extensions.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk33search.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk33search_extensions.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk4search.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphk4search_extensions.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphnonplanar.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphouterplanarobstruction.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphtests.o build\temp.win-amd64-cpython-314\Release\planarity\src\graphutils.o build\temp.win-amd64-cpython-314\Release\planarity\src\listcoll.o build\temp.win-amd64-cpython-314\Release\planarity\src\planarity.o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityrandomgraphs.o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityspecificgraph.o build\temp.win-amd64-cpython-314\Release\planarity\src\planarityutils.o build\temp.win-amd64-cpython-314\Release\planarity\src\stack.o build\temp.win-amd64-cpython-314\Release\planarity\src\strbuf.o build\temp.win-amd64-cpython-314\Release\planarity\planarity.cp314-win_amd64.def -LC:\Users\wbkbo\git\planarity\.venv\libs -LC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64\libs -LC:\Users\wbkbo\AppData\Local\Python\pythoncore-3.14-64 -LC:\Users\wbkbo\git\planarity\.venv\PCbuild\amd64 -lpython314 -o build\lib.win-amd64-cpython-314\planarity\planarity.cp314-win_amd64.pyd
      C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build\temp.win-amd64-cpython-314\Release\planarity\src\planarity.o:planarity.c:(.text+0x365): undefined reference to `legacyCommandLine'
      C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build\temp.win-amd64-cpython-314\Release\planarity\src\planarity.o:planarity.c:(.text+0x37d): undefined reference to `commandLine'
      collect2.exe: error: ld returned 1 exit status
      error: command 'C:\\msys64\\ucrt64\\bin\\gcc.EXE' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for planarity
Failed to build planarity

[notice] A new release of pip is available: 25.3 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> planarity

After fix:

(.venv) C:\Users\wbkbo\git\planarity>pip install --config-settings="--build-option=build_ext" --config-settings="--build-option=--compiler=mingw32" .
Processing c:\users\wbkbo\git\planarity
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: planarity
  Building wheel for planarity (pyproject.toml) ... done
  Created wheel for planarity: filename=planarity-0.6-cp314-cp314-win_amd64.whl size=100195 sha256=8371d19359cc771ca59ed46b9bd3ec1b5dfcf71ed7d1c5f9137384969ffe820f
  Stored in directory: C:\Users\wbkbo\AppData\Local\Temp\pip-ephem-wheel-cache-f64uasxj\wheels\42\77\cc\104720b32e52c09b19cef843bd017de1d36eb517db3c1d0059
Successfully built planarity
Installing collected packages: planarity
Successfully installed planarity-0.6

[notice] A new release of pip is available: 25.3 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

(.venv) C:\Users\wbkbo\git\planarity>python examples\ascii.py
----1----
| | |   |
| | -5--|
| |  ||||
| -4--|||
|  |  |||
---2---||
 |     ||
 ---3----

Copy link
Copy Markdown
Member

@john-boyer-phd john-boyer-phd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is what we need to restore link-ability of the HEAD code for all OS's, and also fix the unistd problem if someone is using the Microsoft compiler (which is what python/cython use by default). Later, we can upgrade to the 4.x edge addition planarity code and at that time remove all planarityApp layer files, but best to get the HEAD code building and linking first. I have tested this from the branch, and it is all working for me too now.

@john-boyer-phd john-boyer-phd merged commit c26b2e6 into master Feb 22, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build fails on Windows because unistd.h is missing

2 participants