FreeCAD.getHomePath() not correct on Arch linux

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by sgrogan »

Travis-CI Image
On Windows I get

Code: Select all

CMake Error at src/Base/CMakeLists.txt:321 (message):
  Using external zipios++ was specified but was not found.
even though FREECAD_USE_EXTERNAL_ZIPIOS is unchecked in the Cmake Gui.
"fight the good fight"
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by cox »

sgrogan wrote:On Windows I get

Code: Select all
CMake Error at src/Base/CMakeLists.txt:321 (message):
Using external zipios++ was specified but was not found.

even though FREECAD_USE_EXTERNAL_ZIPIOS is unchecked in the Cmake Gui.
This does not make any sens to me at all,
Is there any out put regarding zipios prior to the error message?

Only thing I could imagine being the problem, is that since I have added CMAKE_INSTALL_HOMEDIR. that all cmake flags gets ofset compared to their values because of CMAKE_INSTALL_HOMEDIR having no value and build is not clean?

cmake is suposed to print the contents of CMAKE_INSTALL_HOMEDIR, could you check if it is emty?

Did you make clean?

I am very new to this so please take my ramblings with a kg salt :)
Need help? Feel free to ask, but please read the guidelines first
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by cox »

If you have accidentaly goten FREECAD_BUILD_DEBIAN set to on then
FREECAD_USE_EXTERNAL_ZIPIOS is forced to on even if it is set to off in cmake-gui(i think)

from /src/CMakeLists.txt line 202

Code: Select all

if (FREECAD_BUILD_DEBIAN)
    set(FREECAD_USE_EXTERNAL_ZIPIOS ON)
    # A Debian package for SMESH doesn't exist
    #set(FREECAD_USE_EXTERNAL_SMESH ON)
endif (FREECAD_BUILD_DEBIAN)
Need help? Feel free to ask, but please read the guidelines first
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by sgrogan »

cox wrote:If you have accidentaly goten FREECAD_BUILD_DEBIAN set to on then
:oops:
Deleting cmake chache and re-running cmake fixes it. Everything compiles fine and Unit-tests pass.
Sorry for the confusion.
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.5888 +4 (Git)
Build type: Release
Branch: arch01
Hash: 0fd16337dbaf888dea82c5b39174b5d81d5078a8
Python version: 2.7.8
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
"fight the good fight"
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by cox »

Thanks a lot for testing this ,sgrogan

I know this is a hack, to shoehorn current FreeCAD to be installed in Arch consistent way.
But I would be very happy, if there was any interest in implementing this into master?

My other approach would be to apply patches or some sed commands in the PKGBUILD and get them into AUR.

The reason I have for wanting the change in master, is that any change in affected files(CMakelists.txt, /App/CMakelists.txt and /App/Application.cpp) would trigger the maintainer of the PKGBULD in AUR to have to update it. If applied to master, no change anywhere until make system/folderstructure is changed/reorganised in FreeCAD.

I have not tried this in Fedora or Open Suse etc. but I would imagine that this change would make it easier to install FreeCAD in more distribution native way there as well.
Need help? Feel free to ask, but please read the guidelines first
nokian
Posts: 40
Joined: Wed Sep 14, 2016 8:22 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by nokian »

Could you please give an update on the present state?
I think the AUR maintainer won't update the PKGBUILD anymore.

Would you mind posting the version you use at present?
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by cox »

nokian wrote:Could you please give an update on the present state?
I think the AUR maintainer won't update the PKGBUILD anymore.

Would you mind posting the version you use at present?
I am using freecad-netgen-git from AUR for 0.17 development. some issues

Make shure you use vtk-qt4
build netgen-gui before installing freecad-netgen-git
start freecad with command "LD_LIBRARY_PATH=/opt/vtk-qt4/lib/ FreeCAD"

I did this a week ago, and I found the maintainer drhooves most exelent and helpfull :D, he was trying to figure out a nicer way to solve this, and he might have fixed it at this point.

EDIT:I have not tested the issues this post originally set out to figure out, I am currently accepting that there is a issue. Searching for a pragmatic solution I think I am of the opinion that the PKGBUILB should install FreeCAD in /opt with the same folder structure as is done on UBUNTU. This would in some way probably keep the FreeCAD installation consistent with the developers that work in UBUNTU. This is not the Arch way, and I understand fully that it might not be something an Arch maintainer would like to do.
Need help? Feel free to ask, but please read the guidelines first
nokian
Posts: 40
Joined: Wed Sep 14, 2016 8:22 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by nokian »

Okay so why is there a special netgen version of freecad?
I thought netgen is just an addon the FEM workbench needs...

Maybe I will dive into making a PKGBUILD for the install in /opt.
I don't know about the arch way but having a similar environment on different linux systems is convenient.
If I'm successfull I will let you know.
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by cox »

nokian wrote:Okay so why is there a special netgen version of freecad?
I thought netgen is just an addon the FEM workbench needs...
You are correct, it is not a version it is a build, the reason is probably someone scratching their own itch or helping man kind in general.
My guess is that a lot of development is happening fast these days, and not all Arch maintainers is interested in tracking FEM development that closely. What has been complicating this a bit more than usual, is that a lot of the libraries have been changing versions at the same time. This has complicated the building of FreeCAD with all features on different platforms and distributions for some time, It looks like it is starting to calm down a bit now.
nokian wrote: Maybe I will dive into making a PKGBUILD for the install in /opt.
I don't know about the arch way but having a similar environment on different linux systems is convenient.
If I'm successfull I will let you know.
:D
Need help? Feel free to ask, but please read the guidelines first
m42kus
Posts: 159
Joined: Tue Sep 02, 2014 9:41 am

Re: FreeCAD.getHomePath() not correct on Arch linux

Post by m42kus »

Hi, freecad-netgen-git maintainer here (drhooves).
nokian wrote:Okay so why is there a special netgen version of freecad?
I thought netgen is just an addon the FEM workbench needs...
The netgen plugin must be enabled at compile time because it depends on SMESH from salome.
FreeCAD ships with it's own version of SMESH because it's not in the Ubuntu repositories (as far as I know),
which is only included into the build if the netgen plugin is activated. It's disabled in other PKGBUILDs to
avoid some troubles I guess.
nokian wrote:Maybe I will dive into making a PKGBUILD for the install in /opt.
After I've read this thread I decided to move the installation of freecad-netgen-git
to /opt/freecad.
My GSoC Devlog: ceeli.github.io/gsoc
Post Reply