-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Are you willing to continue maintenance? Can't build normally. #101
Comments
hi @ovo-Tim . although i wish i could, it's been difficult to find much time to work on this project, so i can't commit to continued maintenance or any levels of support at this time. If you haven't already, check out pythonocc. It has a pretty stable build system and I think is readily available on conda. if you're wondering why i made pyOCCT, i answered that here on stackoverflow just fyi |
@trelau Thanks for your reply. In fact, I have used pythonocc for a long time. But I'm trying to switch to pyOCCT. Compared with pythonocc, I think pyOCCT provide interface that closer to native and support more module.
If I made some updates, should I create a pull request? |
If you're on linux you can try https://github.com/frmdstryr/pyOCCT/tree/v7.8.0, I haven't been maintaining CI or windows builds. |
@frmdstryr Thanks a lot. |
@frmdstryr I have built successfully! |
I have built a new conda package. https://anaconda.org/ovo-tim/pyocct |
@frmdstryr Hi, I found that the conda_build can't output the right package. |
I think we should set python ver at 'meta.yaml', like: host:
- python {{ python }}
- pybind11
- occt ==7.8.0
- tbb-devel
run:
- python {{ python }}.*
- occt ==7.8.0 |
https://anaconda.org/ovo-tim/pyocct/files |
@frmdstryr How do you think if we create a new repository called pyOCCT2, and continue to maintain it.😉 |
@frmdstryr Hi, I found that I couldn't run pyOCCT-7.8.0:
By the way, can you enable issues in your repository? |
Oh sorry, it looks like I forgot to commit a few changes I had locally. I updated the branch and binder repo. I don't want to create a fork or separate issue tracker. Perhaps someone can contribute updates to fix CI & windows builds. |
@frmdstryr Hi, I found a strange bug. You have changed directly |
I guess committing a submodule doesn't update the branch. Anyways I merged the binder branch I was on to my master branch, does it work now? |
@frmdstryr I don't know why, but it still happened on the conda package that I built. If I try to build locally, it outputs:
|
I use some custom occt patches so my occt and pyocct are always built with the exact same compiler version. Can you try building occt locally and then pyocct to make sure there is no difference in compiler versions? |
@frmdstryr Thanks for your help again, I will try that tomorrow. (I hope you don't mind me asking, but may I know which country you are from? This way, I can better coordinate our communication considering the time zones. I'm based in China, and it's quite late for me to continue working now.😉) |
I'm in the eastern timezone. I got CI to actually build and test but it appears the bindings are not being generated correctly for some reason (it is not doing some +before_type lines that should fix the errors). |
I'm trying to make CI build the latest VTK and OCCT. I hope that can help. - name: "Build VTK"
run: |
cd ~
sudo apt install -y build-essential cmake git unzip libqt5opengl5-dev libqt5x11extras5-dev libeigen3-dev libboost-all-dev libglew-dev libglvnd-dev
git clone https://gitlab.kitware.com/vtk/vtk.git
cd vtk
mkdir build
cd build
cmake ..
make
sudo make install
- name: "Build OCCT"
run: |
cd ~
sudo apt-get install software-properties-common
sudo apt-get install libtool autoconf automake gfortran gdebi
sudo apt-get install gcc-multilib libxi-dev libxmu-dev libxmu-headers
sudo apt-get install libx11-dev mesa-common-dev libglu1-mesa-dev
sudo apt-get install libfontconfig1-dev
sudo apt-get install libfreetype6 libfreetype6-dev
sudo apt-get install tcl tcl-dev tk tk-dev
wget https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_8_0.tar.gz
tar -xzf V7_8_0.tar.gz
cd OCCT-V7_8_0
mkdir build
cd build
sudo cmake .. -DUSE_VTK=ON -D3RDPARTY_VTK_INCLUDE_DIR=/usr/include/vtk/
sudo make install |
Since the bindings are not correct, I think rebuilding occt is not necessary (not sure what I was thinking the other day). |
Look forward to your work. 😉 |
Looks like the |
@frmdstryr It looks like the error message has changed, but it still doesn't work.
|
I'm trying to build OCCT 7.8.0 (so that I can build pyOCCT locally). But I met a problem: https://dev.opencascade.org/content/build-failed-vtk-addlibrary-cannot-create-target-tkernel-because-imported-target-same-name |
@frmdstryr Hey, it's work! |
as far as i know, OCP uses pybind11 to generate python bindings, clang to parse the headers, and some sort of templating system to actually write the pybind11 bindings. so, i think, very similar to pyOCCT except I use clang to parse the headers and a "hand rolled" binding generator written in python. in my view, the destination is the same (python bindings of OCCT via pybind11), but the mechanisms to get there are different. if OCP is somehow easier to keep up to date and does a better job of handling all of the OCCT C++ nuances, then it might be worth a look, i guess. |
@trelau, how did the isinstance checks work on the HArray's before? I had to disable that check frmdstryr@a143524 to get the linux builds to pass the tests. IDK how it ever worked since the second base class is missing in the Edit: more strangely the HSequence isinstance check passes but the HArray one doesnt. |
@frmdstryr i don't remember the details, but looks like I had to do some special tricks here if that gives you any clues. Looks like I added methods to the type from the base class but didn't have the inheritance for some reason. why the isinstance worked (or didn't) i can't think of off the top of my head... |
Current Behavior
Steps to Reproduce (for bugs)
Just follow the steps that were written in readme.
Your Environment
The text was updated successfully, but these errors were encountered: