SoQt / coin ?

Having trouble installing or compiling FreeCAD? Get help here.
User avatar
freman
Posts: 735
Joined: Tue Nov 27, 2018 10:30 pm

Re: SoQt / coin ?

Postby freman » Thu Nov 14, 2019 2:43 pm

thanks for pointing that out sgrogan. Building ( and maintaining ) an out of tree build is always PITA, especially one with the number of deps that FreeCAD has. The only thing that is surprising is that it is ( allegedly ) so simple on Ubuntu. If there is a key dev holding this all together that makes a lot of sense.

I'm not an evangelical fan of Fedora but I've been using it since I installed it about 6 or 7 back and have had very few problems. I just take unqualified comments about "inferior distros" with the degree of seriousness they deserve. Ubuntu may be a better choice if your main criterion is building FreeCAD, it certainly seems to benefit from some special care and attention in that respect.

now trying to build coin-4.0.0

several warnings about what looks like risky, unstable or exploitable code:

Code: Select all

/~/coin/src/xml/element.cpp:1148:15: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
 1148 |        strncpy(hereptr, str, strlength);                    \

seeing tons of errors like this:

Code: Select all

/~/coin/include/Inventor/misc/SoBase.h:113: warning: Member staticDataLock(void) (function) of class SoBase is not documented.
/~/coin/include/Inventor/misc/SoBase.h:114: warning: Member staticDataUnlock(void) (function) of class SoBase is not documented.
now these are "only warnings" but does this indicate a problem with SoQt ?

looks successful if you just come in at the end:

Code: Select all

[100%] Building CXX object testsuite/CMakeFiles/CoinTests.dir/soscxmlScXMLCoinEvaluatorTest.cpp.o
[100%] Building CXX object testsuite/CMakeFiles/CoinTests.dir/xmldocumentTest.cpp.o
[100%] Linking CXX executable ../bin/CoinTests
[100%] Built target CoinTests
Ah, here is the SoQt bit I was referring to ( from pivy python setup.py build) :

Code: Select all

checking for SOQT via cmake
SOQT_FOUND: false
SOQT_VERSION: 
SOQT_INCLUDE_DIR: 
SOQT_LIB_DIR: 

disable soqt, because cmake couldn't find it
vocx
Posts: 1852
Joined: Thu Oct 18, 2018 9:18 pm

Re: SoQt / coin ?

Postby vocx » Thu Nov 14, 2019 4:28 pm

freman wrote:
Thu Nov 14, 2019 2:43 pm
...
I'm not an evangelical fan of Fedora but I've been using it since I installed it about 6 or 7 back and have had very few problems....
You should share your findings with other Fedora users so that there is some common effort.

SEGFAULT/SIGABRT on Fedora 31
hobbes1069 wrote:
Wed Nov 13, 2019 8:05 pm
...

I've been working on getting FreeCAD up to snuff for some time now, recent activites:

PySide -> PySide2
Coin3 -> Coin4 (Rawhide only technically)
OCE -> OCC

Even the packages from my COPR[1] crash which has the whole Coin3D stack moved to Coin4...

Any help would be appreciated.

Thanks,
Richard

[1] https://copr.fedorainfracloud.org/coprs ... eCAD_NEXT/
OCC7.4 Released
hobbes1069 wrote:
Wed Nov 13, 2019 10:15 pm
Bah... Fedora is still pointing at the sourceforge project. Keeping up with forks of projects is getting difficult. :roll:

I'll ping the maintainer about the potential to switch. I only co-maintain that package.

Thanks,
Richard
User avatar
freman
Posts: 735
Joined: Tue Nov 27, 2018 10:30 pm

Re: SoQt / coin ?

Postby freman » Thu Nov 14, 2019 5:08 pm

I'm not an evangelical fan of Fedora but I've been using it since I installed it about 6 or 7 back and have had very few problems....
That was referring to using Fedora in general, not using FreeCAD on Fedora. Until this summer I was using Fed29 and a qt4/py2 build of FreeCAD. Building it went without too many issues but was a PITA due the amount of out of tree packages it called for.

It was as unstable as hell, possibly due to nouveau driver for NVidia , though FreeCAD is the ONLY program which displays these issues.

I'm still working through building py3/qt5 FreeCAD.

I've just completed coin4 and pivy but got the same thing about SoQt.

Code: Select all

checking for SOQT via cmake
SOQT_FOUND: false
SOQT_VERSION: 
SOQT_INCLUDE_DIR: 
SOQT_LIB_DIR: 

disable soqt, because cmake couldn't find it
Any advice on that issue? Does it matter?

back to the same old blocker I mentioned earlier:

Code: Select all

CMake Error at CMakeLists.txt:942 (find_package):
  By not providing "FindQt5UiTools.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5UiTools", but CMake did not find one.
  
   Could not find a package configuration file provided by "Qt5UiTools" with
  any of the following names:

    Qt5UiToolsConfig.cmake
    qt5uitools-config.cmake

Is there anyone who can tell me what package this is referring to ? I'd guess it's some header files I'm missing.
Last edited by freman on Thu Nov 14, 2019 5:40 pm, edited 2 times in total.
looo
Posts: 2950
Joined: Mon Nov 11, 2013 5:29 pm

Re: SoQt / coin ?

Postby looo » Thu Nov 14, 2019 5:22 pm

freman wrote:
Thu Nov 14, 2019 5:08 pm
Any advice on that issue? Does it matter?
It doesn't have any influence on freecad. Only the python-bindings for soqt are missing in pivy and therefor you cannot create a soqt-widget with pivy. So if pivy build succeeds without soqt, I would ignore soqt.

If you want to package pivy for ferora I would suggest to include the soqt-bindings. The important thing for pivy finding all soqt stuff is a recent version of soqt bbuild with cmake. Only problem: no release with cmake available yet. For conda we use latest commits from 9.AUg.2019 which you can find here:
https://github.com/conda-forge/soqt-fee ... aml#L17L27
please help with my conda-packaging efforts: https://liberapay.com/looooo/
User avatar
freman
Posts: 735
Joined: Tue Nov 27, 2018 10:30 pm

Re: SoQt / coin ?

Postby freman » Thu Nov 14, 2019 5:37 pm

thanks loooo, I'll ignore it for now and see what happens.

Qt5UiTools seems to relate to qt5-qttools qt5-qttools-devel and qt5-qttools-common on Fedora, all of which I already have installed. More digging needed.

or does this mean qt5-qttools-libs-designer qt5-qttools-libs-designercomponents ? Both of which I also have but no devel pkg it seems.
User avatar
freman
Posts: 735
Joined: Tue Nov 27, 2018 10:30 pm

Re: SoQt / coin ?

Postby freman » Fri Nov 15, 2019 10:53 am

hmm, it seems that qt5-qttools-static package on Fedora provides the cmake files. I was guessing from the name it was static linked version qt5-qttools but maybe not.


https://fedora.pkgs.org/29/fedora-updat ... 4.rpm.html

seems to be building at last, let's see what it gives ....
User avatar
freman
Posts: 735
Joined: Tue Nov 27, 2018 10:30 pm

Re: SoQt / coin ?

Postby freman » Fri Nov 15, 2019 4:43 pm

OK, looks pretty good, fires up opens existing projects but ...

Code: Select all

OpenCamLib is not working!
I rebuild ocl in a fresh build dir and installed but something still not quite lined up.

Ah just needed a fresh pull of opencamlib , which now handles both python and cxx builds at the same time.

Code: Select all

cmake -DBUILD_PY_LIB=ON -DBUILD_CXX_LIB=ON -DUSE_PY_3=ON ../opencamlib
I don't know how stable this is going to be up at least it's up. :)
hobbes1069
Posts: 219
Joined: Wed Nov 09, 2011 3:49 pm

Re: SoQt / coin ?

Postby hobbes1069 » Wed Nov 20, 2019 7:56 pm

Just some updates on the Fedora side...

Coin4 is in stable for F30 and up but was only rebuilt with the rest of the Coin3D stack (SoQt, SIMVoleon) in Rawhide (f32) as major upgrades within a release is highly discouraged.

OpenCASCADE 7.4.0 is in stable for F30 and up. The packaging guidelines encourage building the latest version and I was unaware of the issues with 7.4.0 while I was packaging it. It's possible to force a downgrade but it's a PITA.

SMESH is a mess right now between the various forks... I've started an attempt to package full Salome SMESH but that's going to take a while.

Also, FreeCAD doesn't seem to work well with Wayland which isn't helping, but strangely a user reported that it worked fine when using the Appimage.

So yeah, things are a mess right now and I'm having difficult untangling all the issues.

Now two more bug reports:
https://bugzilla.redhat.com/show_bug.cgi?id=1774705
https://bugzilla.redhat.com/show_bug.cgi?id=1773366

Thanks,
Richard
User avatar
Kunda1
Posts: 5915
Joined: Thu Jan 05, 2017 9:03 pm

Re: SoQt / coin ?

Postby Kunda1 » Fri Nov 22, 2019 10:12 pm

@hobbes1069 thank you very much for all your efforts!
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
ezzieyguywuf
Posts: 636
Joined: Tue May 19, 2015 1:11 am

Re: SoQt / coin ?

Postby ezzieyguywuf » Sat Nov 23, 2019 5:07 am

freman wrote:
Tue Nov 12, 2019 8:47 am
I ran cmake and saw output about "SoQt not so not using "<snip>
Right or wrong, I mostly ignore cmake output. In its current state, our cmake configs do a lot, and say a lot, and it mostly "just works". (this is my opinion, but I did spend some time digging into this recently).

I believe there is definite room for improvement on this front, but in general, if it compiles, I wouldn't worry about it...
freman wrote:
Thu Nov 14, 2019 2:43 pm
Building ( and maintaining ) an out of tree build is always PITA
If by "out of tree build" you mean "a cmake out-of-source build", then I'm not sure I understand what's such a PITA: the only difference between an "out-of-source" and "in-source" build is that the "out-of-source" build segregates all the build files from the source tree. This is, like, 99.9% of the time desirable, as it makes it simpler to do things like manage a git repository of the source files without having to worry about all the miscellaneous stuff that is generated during build.
freman wrote:
Thu Nov 14, 2019 5:37 pm
Qt5UiTools seems to relate to qt5-qttools qt5-qttools-devel and qt5-qttools-common on Fedora, all of which I already have installed. More digging needed.
It could be simply that your OS's package for these dependencies don't install the relevant cmake files in a place that cmake can find them. This is not atypical, as the whole "install your cmake config files with your package" paradigm is, as far as I can tell, rather spotty/hodge-podge. Some people do it. some people don't. And it doesn't seem exactly trivial to do it either.
freman wrote:
Fri Nov 15, 2019 10:53 am
hmm, it seems that qt5-qttools-static package on Fedora provides the cmake files. I was guessing from the name it was static linked version qt5-qttools but maybe not.
Could be installed in a location cmake doesn't recognize. You can either explicitly add the location CMAKE_MODULE_PATH (I think that's the variable) or explicitly add the necessary cmake variables - I'm guessing here, but probably something like Qt5UITools_HEADER_PATH and Qt5UITools_LIBRARIES.
hobbes1069 wrote:
Wed Nov 20, 2019 7:56 pm
Also, FreeCAD doesn't seem to work well with Wayland which isn't helping, but strangely a user reported that it worked fine when using the Appimage.
Can you provide more info on this? I'm curious as to what specifically within FreeCAD would make it not jive with wayland.