If you are using a VM just for Kicad then why Windows 10?
But then again, I don’t see how this announcement generated so much feedback. The development decision is made. Technical issues that aren’t worth trying to get around. Move on.
If you are using a VM just for Kicad then why Windows 10?
But then again, I don’t see how this announcement generated so much feedback. The development decision is made. Technical issues that aren’t worth trying to get around. Move on.
Sarcasm really doesn’t work on the internet
Windows7 is EOL and python37 is EOL this december. Dropping support for both is sensible.
Those still using windows7 really should consider Linux
I had a fairly cushy networking contract job because some VP at a major corporation didn’t want to pay a vendor to port an application off of XP. They spent more on the mitigation than it would have cost for the port until an in house solution was ready. What may sound bizarre to some is ‘bread and butter’ to someone else. Hence, sarcasm is hard sometimes.
Python team wanted to migrate to V3 many years ago, but large numbers of V2 developers could not be bothered to port over and the users pleaded for extension after extension.
@marekr could you update docs in https://dev-docs.kicad.org/build/windows-msvc/ to make sure they cover all dependencies?
I tried following them and cmake gets stuck on not being able to find a swig executable. There is no swig package in vcpkg so I just downloaded one from swig.org and put it on PATH for vcpkg environment in CmakeSettings.json
Then it couldn’t find python from vcpkg so I added ...\vcpkg\installed\x64-windows\tools\python3
to PATH.
Now it finds python but can’t detect wxpython because importing wx is broken. Even if I simply run python.exe from vcpkg and do import wx
I get
Python 3.9.0 (default, Jan 22 2021, 08:15:16) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\devtools\vcpkg\installed\x64-windows\tools\python3\lib\site-packages\wx\__init__.py", line 17, in <module>
from wx.core import *
File "D:\devtools\vcpkg\installed\x64-windows\tools\python3\lib\site-packages\wx\core.py", line 12, in <module>
from ._core import *
ImportError: DLL load failed while importing _core: The specified module could not be found.
Even though _core.pyd
is right there in D:\devtools\vcpkg\installed\x64-windows\tools\python3\Lib\site-packages\wx
next to core.py
.
I got wxpython by doing vcpkg install wxpython
and my vcpkg is from kicad fork, as per instructions. What am I doing wrong?
I did set VCPKG_DEFAULT_TRIPLET to x64-windows and verified that installed packages are all 64 bit.
UPDATE: I pulled in your vcpkg fix and now build is working. My other points about swig and path still valid.
UPDATE2: spoke too soon about working build. Cmake configuration passes but build fails with a bunch of linker errors unable to find wxString allocators and such.
LINK: command "C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\eeschema_kiface.rsp /out:eeschema\_eeschema.kiface /implib:eeschema\eeschema.lib /pdb:eeschema\_eeschema.pdb /dll /version:0.0 /machine:x64 /DEBUG /MANIFEST:NO /debug /INCREMENTAL" failed (exit code 1120) with the following output:
Creating library eeschema\eeschema.lib and object eeschema\eeschema.exp
D:\Microcontrollers\Kicad-src\common.lib(project_file.cpp.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::allocator<class wxString> & __cdecl std::vector<class wxString,class std::allocator<class wxString> >::_Getal(void)" (__imp_?_Getal@?$vector@VwxString@@V?$allocator@VwxString@@@std@@@std@@AEAAAEAV?$allocator@VwxString@@@2@XZ)
...
UPDATE3: I got build to work by reinstalling wxwidgets package. I think I needed it to be recompiled with msvs2019 toolchain (I had vs2017 build tools before).
Now it builds but doesn’t start because it needs a bunch of dlls. I copied the usual suspects and everything I could find using dependency walker but .kiface libs still fail to load and I’m not sure why.
UPDATE4: (last one ) looks like dependency walker lied to me, when I just copied all .dll files from vcpkg/bin to kicad/bin everything started working. I now have a kicad build with python3 on windows
Yes, this is currently expected. For info there is a work-in-progres-almost-complete-more-or-less-complete powershell script in https://gitlab.com/kicad/packaging/kicad-win-builder/-/tree/powershell to help you along, it will package the installer as well.
Does the newest Win nightly use Python3?
If not, there are at least a couple of bugs that might warrant attention…
We have not yet cut over to the MSVC/Python3 builds (this was a “heads up, change coming soon” kind of announcement)
Well, then, there are least 3 significant bugs I have found in the first 15 minutes of tinkering.
Bugs with what? I’m confused about you asking about Python3 vs Python2, but if you have found bugs that relate to Python2, the answer is to just wait for a bit for us to release the Python3 version
I have no way of knowing if the issues/bugs are in any way related to Python at all.
Then why would you start by asking this?
Just report your bugs on gitlab or in a separate topic here and someone will be able to confirm if they are bugs or if they are reported already.
If you have to work on a PC that has to run windows 7, and you need to run KiCad 6, then I would suggest to run linux with KiCad 6 on virtualbox with shared folders.
This is not efficient at all, but it doesn’t require any changes on the windows 7 side.
Having said that, it’s long overdue to migrate away from windows 7. (I’m intentionally not stating where to migrate to)
Any business that forces the use of Windows 7, should have those PCs isolated from the Internet and no way a user should be able to install KiCad 6 or a VM
Anything else is reckless
Home users not wanting to buy a new PC can try dual booting the Linux distribution of their choice, a VM on an old PC is going to be slow.
What really reckless is in having Windows 7 PC connected to net and used for communication only?
Probably over a dozen of exploits and vulnerabilities that are never to be fixed.
An unmaintained, network-connected OS will be an easy target for intruders.
Old OS also mean old verions of key applications like web Browsers, which make the issue even greater.
you never heard of a botnet?
also, I hope you never “communicate” anything like a credit card number, or type in the password to your email account.
I have heard, but…
I have BOSCH 25+ years old fridge with freezer. I am really surprised it is still working. The only problem is the hinges made of plastic and a bit worked. I see no idea in replacing it with new one (probably not so durable).
Why should it be different with computers if their efficiency is enough for me?
Soon all fridges will also be computers and connected to net. Do you suggest people should throw out it only because it has old OS in it?
If there are possibilities for exploits and vulnerabilities then I think something was wrongly decided at the far beginning. If someone puts convenience above safety, it is his responsibility to lead to this situation. Why should I care about it.
I care about the planet thinking about the future of mankind. From my point of view, any piece of equipment should be used as long as possible and repaired rather than thrown away.
Using this computer we “communicate” (only between us) critical files but I crypt them at computer not connected to net. Even the system I use for it is based on symmetrical cryptology after crypting file at my side I am not able to decrypt it. The only one who can do it is the recipient, but he can get the right key only once.
When was the last time you used your fridge to log into your bank account?
And when was the last time you used your pc to do that?
Difference is in the attack surface. If the fridge for whatever reason is connected to the internet and a hacker manages to get control of it, the worst he can do is make your eggs go bad.
On the other hand if they get control of your computer they can do a whole lot more damage.
Using an insecure OS is same as leaving your house door wide open. You are taking a gamble that nobody will try to rob you or sneak in and slowly steal your food or just move your furniture a tiny bit every night to make you go crazy. And yes, all of those things happen in information security world. Well, not literally, but their equivalent.