[fixed] Compile errors on Win10: No module named 'PartDesignGui'

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Hayatail
Posts: 6
Joined: Wed Jan 05, 2022 12:56 am

[fixed] Compile errors on Win10: No module named 'PartDesignGui'

Post by Hayatail »

Hi all,

Good evening, I am a newbie to compiling process. It is my first time compiling software, and I need some help in the compiling.

I follow the instruction and compile FreeCAD from "https://wiki.freecad.org/Compile_on_Windows" to my best knowledge.

I used cmake, VS 2019, and FreeCADLibs_12.5.3_x64_VC17 to compile and build Freecad 0.20 and I get these errors from Visual Studio:

Severity Code Description Project File Line Suppression State
Error LNK1104 cannot open file 'C:\Strawberry\c\lib\libfreetype.a' MEFISTO2 C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file 'C:\Strawberry\c\lib\libfreetype.a' Driver C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file 'C:\Strawberry\c\lib\libfreetype.a' SMDS C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\SMDS_d.lib' SMESHDS C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\Driver_d.lib' DriverSTL C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\SMESHDS_d.lib' DriverUNV C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\SMDS_d.lib' DriverDAT C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file 'C:\Strawberry\c\lib\libfreetype.a' Import C:\CompileFile\Build\src\Mod\Import\App\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\DriverSTL_d.lib' SMESH C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\App\Debug\Import_d.lib' ImportGui C:\CompileFile\Build\src\Mod\Import\Gui\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\SMESH_d.lib' StdMeshers C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\..\Import\App\Debug\Import_d.lib' TechDraw C:\CompileFile\Build\src\Mod\TechDraw\App\LINK 1
Error LNK1104 cannot open file '..\..\..\lib\Debug\StdMeshers_d.lib' NETGENPlugin C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK 1
Error LNK1104 cannot open file '..\App\Debug\TechDraw_d.lib' TechDrawGui C:\CompileFile\Build\src\Mod\TechDraw\Gui\LINK 1
Error LNK1104 cannot open file '..\..\..\..\lib\Debug\NETGENPlugin_d.lib' MeshPart C:\CompileFile\Build\src\Mod\MeshPart\App\LINK 1
Error LNK1104 cannot open file '..\..\..\..\lib\Debug\NETGENPlugin_d.lib' Fem C:\CompileFile\Build\src\Mod\Fem\App\LINK 1
Error C2001 newline in constant PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2203
Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found
PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2143 syntax error: missing ')' before 'std::string' PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2143 syntax error: missing ';' before 'std::string' PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2001 newline in constant PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2216
Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found
PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C2146 syntax error: missing ')' before identifier 't' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C2146 syntax error: missing ';' before identifier 't' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C3688 invalid literal suffix '鈥with'; literal operator or literal operator template 'operator ""鈥with' not found PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2143 syntax error: missing ';' before ':' PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2059 syntax error: ':' PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2017 illegal escape sequence PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2001 newline in constant PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error LNK1104 cannot open file '..\App\Debug\Fem_d.lib' FemGui C:\CompileFile\Build\src\Mod\Fem\Gui\LINK 1
Error LNK1104 cannot open file '..\App\Debug\MeshPart_d.lib' MeshPartGui C:\CompileFile\Build\src\Mod\MeshPart\Gui\LINK 1
Error LNK1104 cannot open file '..\App\Debug\_PartDesign_d.lib' PartDesignGui C:\CompileFile\Build\src\Mod\PartDesign\Gui\LINK 1

After I finished all the processes and run the 'FreeCAD_d.exe', I found that I could not use the "Part Design" function in Workbench, and got an alert "No module named 'PartDesignGui'", and the Report View says:
20:11:31 No module named 'PartDesignGui'
20:11:31 Traceback (most recent call last):
File "<string>", line 53, in Initialize
File "C:\CompileFile\Build\bin\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py", line 142, in _import
return original_import(name, *args, **kwargs)

My computer is Windows 10 Home, 21H2 version.

Compiled FreeCAD: FreeCAD 0.20, Libs: 0.20R26864 (Git)

Information from Cmake 3.21.4:
Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe (19.29.30138.0)
Flags: /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MP
Standard: Requires C++17
Python: 3.8.6 [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/bin/python.exe] [.cp38-win_amd64]
PCL: not enabled
pybind11: not enabled
Boost: 1.67.0 (106700)
XercesC: 3.2.2 [optimized;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/xerces-c_3.lib;debug;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/xerces-c_3D.lib] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include]
ZLIB: 1.2.11
PyCXX: 6.2.8 [C:/CompileFile/FreeCAD/src]
OCC: 7.5.2 [TKFillet;TKMesh;TKernel;TKG2d;TKG3d;TKMath;TKIGES;TKSTL;TKShHealing;TKXSBase;TKBool;TKBO;TKBRep;TKTopAlgo;TKGeomAlgo;TKGeomBase;TKOffset;TKPrim;TKSTEPBase;TKSTEPAttr;TKSTEP209;TKSTEP;TKHLR;TKFeat] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/inc]
SMESH: build internal
MEDFile: 4.0.0 [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/medC.lib] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include]
HDF5:
VTK: 8.2.0
NETGEN: 6.2.2006 (6.2.2006-19-gb37a3e6c) [-DNO_PARALLEL_THREADS;-DOCCGEOMETRY;-DNETGEN_VERSION=395734] [] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include/include;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include] [nglib] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include/include;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include]
SWIG: 4.0.2
Eigen3 3.3.90
Qt5Core: 5.15.1
Qt5Network: 5.15.1
Qt5Xml: 5.15.1
Qt5XmlPatterns: 5.15.1
Qt5Widgets: 5.15.1
Qt5PrintSupport: 5.15.1
Qt5OpenGL: 5.15.1
Qt5Svg: 5.15.1
Qt5UiTools: 5.15.1
Qt5Concurrent: 5.15.1
Qt5WebEngineWidgets: 5.15.1
Qt5WinExtras: 5.15.1
Shiboken2: 5.15.0 [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/cmake/Shiboken2-5.15.0] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include/shiboken2;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/bin/include]
PySide2: 5.15.0 [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include/PySide2]
PySide2Tools: [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/bin/uic.exe] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/bin/rcc.exe]
Freetype: 2.10.1
OpenGL: opengl32
OpenGLU: [glu32][]
Coin3D: 4.0.1 [optimized;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/Coin4.lib;debug;C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/lib/Coin4d.lib] [C:/CompileFile/FreeCADLibs_12.5.3_x64_VC17/include]
Pivy: 0.6.6
Matplotlib: 3.3.3
Rift: not enabled (BUILD_VR)
Doxygen: not found

Thanks for your help!

Hayatail
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by uwestoehr »

Hayatail wrote: Wed Jan 05, 2022 1:24 am I follow the instruction and compile FreeCAD from "https://wiki.freecad.org/Compile_on_Windows" to my best knowledge.
...
I used cmake, VS 2019, and FreeCADLibs_12.5.3_x64_VC17
What you see are mistakes in the LibPack 12.5.3. You don't use the latest version where these are fixed. The Wiki page correctly links the latest LibPack:
https://github.com/apeltauer/FreeCAD/re ... ack_12.5.4

You must now setup your build setup again, meaning deleting all LibPack files and clean the CMake cache (the CMake UI has not too many menu entries, so you will find it).
Than setup a new build system using the correct LibPack 12.5.4.

If you are stuck, I recommend to start from scratch, so delete everything and follow the steps of the Wiki page again. (I am the author of that page, so you can blame and ask me ;) ).
Hayatail
Posts: 6
Joined: Wed Jan 05, 2022 12:56 am

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by Hayatail »

Hi Uwestoehr,

Thanks for your help, you did a great job on that website! I fail just because I need more knowledge. Thanks for your suggestion, the errors have now decreased to 14, but I cannot use the 'partdesign' workbench yet.

The errors in VS are:
Severity Code Description Project File Line Suppression State
Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found
PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2001 newline in constant PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2203
Error C2143 syntax error: missing ')' before 'std::string' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2143 syntax error: missing ';' before 'std::string' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2001 newline in constant PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2216
Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C2146 syntax error: missing ')' before identifier 't' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C2146 syntax error: missing ';' before identifier 't' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2218
Error C3688 invalid literal suffix '鈥with'; literal operator or literal operator template 'operator ""鈥with' not found PartDesign
C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2143 syntax error: missing ';' before ':' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2059 syntax error: ':' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2017 illegal escape sequence PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error C2001 newline in constant PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2244
Error LNK1104 cannot open file '..\App\Debug\_PartDesign_d.lib' PartDesignGui C:\CompileFile\Build\src\Mod\PartDesign\Gui\LINK 1

Actually, I used the latest version at the beginning, but it doesn't work (No module named 'PartDesignGui'). and I had suffered from this problem for a whole weekend. I thought it was because of the mismatching of different packages and tools, so I tried many versions including VS 2022, VS 2019 professional, and old versions of LibPack.

The tools and packages I method at the beginning can successfully build FreeCAD with "Part Design" working on my laptop while it doesn't work on my desktop. The versions of Python are the same now between laptop and desktop. There are some errors when I compile on my laptop, but I didn't meet the error 'cannot open file '..\App\Debug\_PartDesign_d.lib'.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by uwestoehr »

Hayatail wrote: Wed Jan 05, 2022 3:28 am The errors in VS are:
Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found
PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
Error C2001 newline in constant PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2203
Error C2143 syntax error: missing ')' before 'std::string' PartDesign C:\CompileFile\FreeCAD\src\Mod\PartDesign\App\FeatureHole.cpp 2205
You are very close. Now it compiles, so your setup is fine. The question is why MSVC fails.

What is the content of line 2203 - 2205 of FeatureHole.cpp ?
mine is:

Code: Select all

    throw Base::IndexError(std::string("Thread type ‘") + thread_type_string + "’ unsupported");

    std::string  cut_type_string = j["cut_type"].get<std::string>();
If you have something different, you have not the current GIT master and first need to checkout.
Hayatail
Posts: 6
Joined: Wed Jan 05, 2022 12:56 am

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by Hayatail »

I think mine is the same as yours. Here is mine:

throw Base::IndexError(std::string("Thread type ‘") + thread_type_string + "’ unsupported");

std::string cut_type_string = j["cut_type"].get<std::string>();

I used the command with Git: git clone https://github.com/FreeCAD/FreeCAD.git

Is there some ways to check the source code?
chrisb
Veteran
Posts: 54201
Joined: Tue Mar 17, 2015 9:14 am

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by chrisb »

Hayatail wrote: Wed Jan 05, 2022 1:24 am ...
Please put for future posts the log output in code tags for improved readability.

Example:

Code: Select all

Severity	        Code	Description	                                                Project	File	Line	Suppression State
Error	LNK1104	cannot open file 'C:\Strawberry\c\lib\libfreetype.a'	MEFISTO2	C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK	1	
Error	LNK1104	cannot open file 'C:\Strawberry\c\lib\libfreetype.a'	Driver	C:\CompileFile\Build\src\3rdParty\salomesmesh\LINK	1	
Error	LNK1104	cannot open file 'C:\Strawberry\c\lib\libfreetype.a'	SMDS	C:\CompileFile\Build\src\3rdParty
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by uwestoehr »

Hayatail wrote: Wed Jan 05, 2022 3:56 am I think mine is the same as yours.
OK, the the compiler settings can cause what you get as first error:

Code: Select all

Error C3688 invalid literal suffix '鈥unsupported'; literal operator or literal operator template 'operator ""鈥unsupported' not found 
What version have you set for C++ in CMake, C++14, or C++17? You need C++17.
(It is the CMake option "BUILD_ENABLE_CXX_STD".)
wmayer
Founder
Posts: 20308
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by wmayer »

In the string literals unicode characters are used. For the quote this (ordinal number is 8217) is used instead of the character you have on the keyboard ' (ordinal number is 39).

According to https://stackoverflow.com/questions/331 ... ource-code unicode character needs a special treatment and the way it's done in FeatureHole.cpp is actually undefined.

What happens if you add u8 in front of all string literals that the compiler has trouble with?

Example:
Change

Code: Select all

throw Base::IndexError(std::string("Thread type ‘") + thread_type_string + "’ unsupported");
to

Code: Select all

throw Base::IndexError(std::string(u8"Thread type ‘") + thread_type_string + u8"’ unsupported");
In case it still doesn't fix the problem we should use the ASCII character '.
Hayatail
Posts: 6
Joined: Wed Jan 05, 2022 12:56 am

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by Hayatail »

Hi guys,

I succeed to compile FreeCAD on my laptop computer with the latest version tools and packages on the website: https://wiki.freecad.org/Compile_on_Windows

But I could not have the same result on my desktop computer. I think it is because I use the Chinese version Windows on my desktop (while the laptop uses the original English Windows). But I cannot verify my speculation because my desktop contains much important software.

Hi Uwestoehr, C++17 is the lowest C++ standard I can select in Cmake, so it is not the reason.

Hi Wmayer, the errors increase to 1217 (from 32) when I open VS today, and I do not clearly understand your instruction for my poor knowledge and it doesn't work with your code. I think it may be because of some issues with my desktop computer.

The errors have:

Code: Select all

Error (active)	E0020	identifier "va_list" is undefined	PartDesign	C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\WinBase.h	2480	
Severity	Code	Description	Project	File	Line	Suppression State
Error (active)	E0020	identifier "va_list" is undefined	PartDesign	C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h	1023	
It is okay since I have one to use. I can use my laptop to learn something for now. Hoping I can understand the problems better in the future.

Again, thanks guys!
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Compile errors on Win10: No module named 'PartDesignGui'

Post by uwestoehr »

wmayer wrote: Wed Jan 05, 2022 11:05 am In the string literals unicode characters are used. For the quote this (ordinal number is 8217) is used instead of the character you have on the keyboard ' (ordinal number is 39).
Good catch, thanks! These Unicode characters are unnecessary, especially since they are used in error messages. I will have too work on the PD hole later today anyway and I will remove them.
Post Reply