Ultimaker / cura-build

Build scripts for Cura
GNU Affero General Public License v3.0
75 stars 115 forks source link

Cura.exe is not working #215

Closed JithuPG closed 5 years ago

JithuPG commented 5 years ago

After Successful build of cura Application and installed cura.exe is not opening and no log dir is creating in user/Appdata/Roaming/cura/

when try to open curaCli.exe Application opens .when trying to load meshes such as cube.obj the mesh loadded but can't move with mouse selection .

My building Environment are Win 10 cura 64 bit [build]

JithuPG commented 5 years ago

have any solution? i wondering why cura.exe is not creating error log dir ! :-(

@Ghostkeeper any debugging solution ?

JithuPG commented 5 years ago

i cant't find way to debug it no error or warnning where found ! @Ghostkeeper does it related to any version problem currently iam to set any version and the program is build with version 0.0.0 .

JithuPG commented 5 years ago

These are stderr.log cura.log

the previous log generated when running curacli.exe

JithuPG commented 5 years ago

any help will be appreciated

Ghostkeeper commented 5 years ago

The log file looks normal.

Maybe try running cura.exe via gdb?

JithuPG commented 5 years ago

The debug log seems to be . debug

Ghostkeeper commented 5 years ago

Uh, so CPython itself is crashing when initialising the file system codec? I have no idea what's causing that.

JithuPG commented 5 years ago

how about curacli.exe it loads the application but when loading meshes it exit immediately .

JithuPG commented 5 years ago

if dependencies are build with nmake so do i need to compile the cura-build with same tool...?

Ghostkeeper commented 5 years ago

if dependencies are build with nmake so do i need to compile the cura-build with same tool...?

That shouldn't be necessary. The README shows the instructions for Windows using mingw32-make.

JithuPG commented 5 years ago

k i'll try to build with another machine....

JithuPG commented 5 years ago

what was the purpose of curacli.exe ?

JithuPG commented 5 years ago

Now building on new machine getting error on cx_freeze module as " No module Name cura " error

JithuPG commented 5 years ago

What was the cause of this error??...tyring to build on new machine also fails with the same error.is cura module said to be directory? there where a Dir exitst on %cura-build-dir% /inst/lib & %cura-build-dir% /inst/share Is that looking for ?

Ghostkeeper commented 5 years ago

what was the purpose of curacli.exe ?

Running Cura's front-end headless. In the future we'd be able to run queries against this to automatically slice with a certain configuration. For now it only responds to all the same command line options that Cura.exe has (such as a parameter of the model file to load).

JithuPG commented 5 years ago

what was the purpose of curacli.exe ?

Running Cura's front-end headless. In the future we'd be able to run queries against this to automatically slice with a certain configuration. For now it only responds to all the same command line options that Cura.exe has (such as a parameter of the model file to load).

Thanks ...for your clarification ...now my new build fails with cx_freeze no module name cura...

Ghostkeeper commented 5 years ago

What was the cause of this error??...tyring to build on new machine also fails with the same error.is cura module said to be directory? there where a Dir exitst on %cura-build-dir% /inst/lib & %cura-build-dir% /inst/share Is that looking for ?

It is looking for this folder: https://github.com/Ultimaker/Cura/tree/master/cura. That is, the actual source code of Cura. Why it's not able to find that, I don't know. It's also a bit weird to me that your site-packages folder is directly in lib instead of in a python3 subfolder.

JithuPG commented 5 years ago

What was the cause of this error??...tyring to build on new machine also fails with the same error.is cura module said to be directory? there where a Dir exitst on %cura-build-dir% /inst/lib & %cura-build-dir% /inst/share Is that looking for ?

It is looking for this folder: https://github.com/Ultimaker/Cura/tree/master/cura. That is, the actual source code of Cura. Why it's not able to find that, I don't know. It's also a bit weird to me that your site-packages folder is directly in lib instead of in a python3 subfolder. is there any way i can hardcode the the path ??

Ghostkeeper commented 5 years ago

is there any way i can hardcode the the path ??

Not really. The desire to import this package comes from this line here:

https://github.com/Ultimaker/cura-build/blob/01de1c6e7f777db0a812379bc24f4bc7ef299c29/packaging/setup_win32.py.in#L137

Cx_freeze is expecting to be able to import the cura package. Perhaps it should be in the PYTHONPATH upon executing that python file?

JithuPG commented 5 years ago

k from my previous build (success but cura.exe not working ) i do slightly change the parameter CMAKE_PREFIX_PATH to the cura-build dir the only thing changed was it is.rest of the things unchaged.

JithuPG commented 5 years ago

is there any way i can hardcode the the path ??

Not really. The desire to import this package comes from this line here:

cura-build/packaging/setup_win32.py.in

Line 137 in 01de1c6

"cura", Cx_freeze is expecting to be able to import the cura package. Perhaps it should be in the PYTHONPATH upon executing that python file?

i belive the python path is set by env_x64.bat at the begining.

JithuPG commented 5 years ago

CMAKE_PREFIX_PATH which dir need to be set ?

Ghostkeeper commented 5 years ago

Usually CMAKE_PREFIX_PATH is set to something like C:\Program Files or /usr/local. It's a good idea to keep using the same prefix path for all of these projects.

JithuPG commented 5 years ago

Could you plz check it out the crash of cx_freeze...as mention above . https://github.com/Ultimaker/cura-build/issues/215#issuecomment-485387581

From the previous builds everything goes smoothly without errors . The dependencies are build with cura-build-environment .

Ghostkeeper commented 5 years ago

Since I'm not getting this error, all I can do is guess at possible causes of that cx_freeze error.

i belive the python path is set by env_x64.bat at the begining.

Yeah looks like it. You could try adding an echo %PYTHONPATH% to that file to see what it ends up at. And then you need to look if there is a cura subfolder in any of those directories.

JithuPG commented 5 years ago

What was the cause of this error??...tyring to build on new machine also fails with the same error.is cura module said to be directory? there where a Dir exitst on %cura-build-dir% /inst/lib & %cura-build-dir% /inst/share Is that looking for ?

It is looking for this folder: https://github.com/Ultimaker/Cura/tree/master/cura. That is, the actual source code of Cura. Why it's not able to find that, I don't know. It's also a bit weird to me that your site-packages folder is directly in lib instead of in a python3 subfolder. is there any way i can hardcode the the path ??

JithuPG commented 5 years ago

Clone the repo https://github.com/Ultimaker/Cura/tree/master/cura in %PYTHONPATH% dir and now the error seems with Savitar which repo is it looking for ?

JithuPG commented 5 years ago

Since I'm not getting this error, all I can do is guess at possible causes of that cx_freeze error.

i belive the python path is set by env_x64.bat at the begining.

Yeah looks like it. You could try adding an echo %PYTHONPATH% to that file to see what it ends up at. And then you need to look if there is a cura subfolder in any of those directories.

It seems the cura is written into %build-dir%/inst/lib/python3.6/sitepackage dir instead of %build-dir%/inst/lib/python3.6/sitepackage Ddirpython3.5/sitepackage my %PYTHONPATH% is set as python3.5 dir , But when copy the cura dir from python3.6 to python3.5 the error has been changed and now it looking for Savitar but i'cant find any dir named with Savitar neither in python3.6 or python 3.5 !

Ghostkeeper commented 5 years ago

Clone the repo https://github.com/Ultimaker/Cura/tree/master/cura in %PYTHONPATH% dir and now the error seems with Savitar which repo is it looking for ?

This one: https://github.com/Ultimaker/libSavitar

Be aware that FindPythonInterp will find the newest Python version on your system. So that is apparently 3.6. If that is wrong, you should find a Python3_EXECUTABLE variable and similar variables for the library and headers and change it to be the correct ones.

Handy trick: This repository's CMake script will generate a bunch of *-prefix folders in your build directory which contain checkouts of the code including new build directories. You can go into those directories and open them up with CMake and change the variables that it builds with there too.

JithuPG commented 5 years ago

Clone the repo https://github.com/Ultimaker/Cura/tree/master/cura in %PYTHONPATH% dir and now the error seems with Savitar which repo is it looking for ?

This one: https://github.com/Ultimaker/libSavitar

Be aware that FindPythonInterp will find the newest Python version on your system. So that is apparently 3.6. If that is wrong, you should find a Python3_EXECUTABLE variable and similar variables for the library and headers and change it to be the correct ones.

Handy trick: This repository's CMake script will generate a bunch of *-prefix folders in your build directory which contain checkouts of the code including new build directories. You can go into those directories and open them up with CMake and change the variables that it builds with there too.

The cause of python3.6 is due to the fact of installed the python 3.6.6 as a part of msv2017 python build components now i'm just remove the python build support tools and for now the cura is written to python3.5 dir as normal and build package is created but still the cura Application can't execute and the debugger log seems to be . error3

Still wondering why the curaCLI.exe can load the application atleast it's inetrface [ still crashes while loading meshes ]

Ghostkeeper commented 5 years ago

Something is seriously wrong with your CPython installation if it can't initialize the system standard streams (stdcout and stdcerr) without getting a buffer overflow! I have no idea how we could address this.

Alternative is to install CPython from python.org and let cura-build find that instead of building it in cura-build-environment.

I don't know about curaCLI either. It was made as a way to use Cura on servers but we never got that to work and I have the feeling that there is some code rot going on in that area.

JithuPG commented 5 years ago

Something is seriously wrong with your CPython installation if it can't initialize the system standard streams (stdcout and stdcerr) without getting a buffer overflow! I have no idea how we could address this.

Alternative is to install CPython from python.org and let cura-build find that instead of building it in cura-build-environment.

I don't know about curaCLI either. It was made as a way to use Cura on servers but we never got that to work and I have the feeling that there is some code rot going on in that area.

what version do i need to install 3.5 or higher ?

Ghostkeeper commented 5 years ago

Cura's official builds use 3.5.2. But we've also run 3.6 and 3.7 successfully (from source). As long as you're consistent in the version that you use, I'd expect it to work fine.

JithuPG commented 5 years ago

Cura's official builds use 3.5.2. But we've also run 3.6 and 3.7 successfully (from source). As long as you're consistent in the version that you use, I'd expect it to work fine.

i'cant find the python 3.6 compatible version for pyqt-5.7 as per the doc but pyqt-5.7.1 is ok but cmake generate an error which said to be least 5.6 ? pyqterror

Ghostkeeper commented 5 years ago

Ah, ha, no, that is way outdated. I've updated it to the correct version: https://github.com/Ultimaker/cura-build/commit/88a24dea3b18d58f4c7d0d87a21c00d00450f280

We currently require 5.10 or higher. With the caveat that 5.12 has 2 small bugs in its appearance if you look closely.

JithuPG commented 5 years ago

Something is seriously wrong with your CPython installation if it can't initialize the system standard streams (stdcout and stdcerr) without getting a buffer overflow! I have no idea how we could address this.

Alternative is to install CPython from python.org and let cura-build find that instead of building it in cura-build-environment.

I don't know about curaCLI either. It was made as a way to use Cura on servers but we never got that to work and I have the feeling that there is some code rot going on in that area.

I found the issue on previous build [python 3.5 ] you are right it's related to python and the problem seems with the two dll' s [ python3.dll , python35.dll ] when i replace these dll's with the official build installed [offical build installed ] dll everything works smoothly .... @Ghostkeeper Thank you sir it's been kind and helpful for your valuable support and Time .