Package Details: freecad-git 0.22.0.36999.ged77603af9-1

Git Clone URL: https://aur.archlinux.org/freecad-git.git (read-only, click to copy)
Package Base: freecad-git
Description: A general purpose 3D CAD modeler - git checkout
Upstream URL: https://www.freecad.org/
Licenses: LGPL
Conflicts: freecad, freecad-appimage, freecad-appimage-git
Provides: freecad
Submitter: gborzi
Maintainer: greyltc (adrianinsaval)
Last Packager: adrianinsaval
Votes: 104
Popularity: 0.015237
First Submitted: 2012-03-03 13:46 (UTC)
Last Updated: 2024-04-30 00:29 (UTC)

Required by (4)

Sources (1)

Pinned Comments

adrianinsaval commented on 2023-03-12 14:50 (UTC)

If the check fails there is little I can do about it as it most likely needs to be fixed upstream, in such cases report those upstream (maybe wait a day or two as sometimes it's quickly solved upstream) or skip the check with makepkg --nocheck if you don't care about the functionality that is being reported as failing in the check.

Latest Comments

« First ‹ Previous 1 .. 13 14 15 16 17 18 19 20 21 22 23 .. 57 Next › Last »

alhirzel commented on 2020-12-26 17:49 (UTC) (edited on 2020-12-26 17:51 (UTC) by alhirzel)

I'm seeing a few issues in check() right now, which could be upstream. I am building on a PC where FreeCAD is not installed, and the first set of errors are like the following:

  File "/home/alhirzel/build_freecad/freecad-git/src/build/Mod/Arch/ArchIFCSchema.py", line 34, in <module>
    with open(os.path.join(FreeCAD.getResourceDir(), "Mod", "Arch", "Presets",
FileNotFoundError: [Errno 2] No such file or directory: '/usr/share/freecad/Mod/Arch/Presets/ifc_contexts_IFC4.json'

I think it's because FreeCAD.getResourceDir() follows Application::getResourceDir which depends on RESOURCEDIR at build-time. Perhaps the tests should not use this directory or something. I'm reporting this here just in case it is due to our packaging or our invocation of the test suite. (I did not see any mention of RESOURCEDIR in the PKGBUILD.)

Second set of issues are as follows, which are filesystem-related though I struggle to see how they could be due to the PKGBULID:

======================================================================
ERROR: testHatchCase (TestTechDrawApp.TechDrawTestCases)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/alhirzel/build_freecad/freecad-git/src/build/Mod/TechDraw/TestTechDrawApp.py", line 53, in testHatchCase
    rc = DHatchTest()
  File "/home/alhirzel/build_freecad/freecad-git/src/build/Mod/TechDraw/TDTest/DHatchTest.py", line 45, in DHatchTest
    hatch = FreeCAD.ActiveDocument.addObject('TechDraw::DrawHatch','Hatch')
Base.FreeCADError: {'sclassname': 'N4Base15FileSystemErrorE', 'sErrMsg': 'File /tmp/FreeCAD_Doc_6a76e492-caf2-464f-af89-d311de155634_da39a3_47564/FreeCAD_Doc_6a76e492-caf2-464f-af89-d311de155634_da39a3_47564HatchSvgHatch.svgpg7I9M does not exist.', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'File /tmp/FreeCAD_Doc_6a76e492-caf2-464f-af89-d311de155634_da39a3_47564/FreeCAD_Doc_6a76e492-caf2-464f-af89-d311de155634_da39a3_47564HatchSvgHatch.svgpg7I9M does not exist.', 'btranslatable': False, 'breported': True}

======================================================================
ERROR: testSectionCase (TestTechDrawApp.TechDrawTestCases)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/alhirzel/build_freecad/freecad-git/src/build/Mod/TechDraw/TestTechDrawApp.py", line 85, in testSectionCase
    rc = DVSectionTest()
  File "/home/alhirzel/build_freecad/freecad-git/src/build/Mod/TechDraw/TDTest/DVSectionTest.py", line 42, in DVSectionTest
    section = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewSection','Section')
Base.FreeCADError: {'sclassname': 'N4Base15FileSystemErrorE', 'sErrMsg': 'File /tmp/FreeCAD_Doc_9ddf8b87-511a-47e5-a564-d1935042ba5b_da39a3_47564/FreeCAD_Doc_9ddf8b87-511a-47e5-a564-d1935042ba5b_da39a3_47564SectionSvgHatch.svgD7AOwM does not exist.', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'File /tmp/FreeCAD_Doc_9ddf8b87-511a-47e5-a564-d1935042ba5b_da39a3_47564/FreeCAD_Doc_9ddf8b87-511a-47e5-a564-d1935042ba5b_da39a3_47564SectionSvgHatch.svgD7AOwM does not exist.', 'btranslatable': False, 'breported': True}

Deewiant commented on 2020-12-23 08:22 (UTC)

Doesn't build with both ccache and distcc enabled. The CMakeLists.txt has some custom logic to use ccache in front of every compilation command if it's found, which combined with makepkg's logic to set up the PATH for ccache results in invocations like /usr/bin/ccache /usr/lib/ccache/bin/c++. With distcc also enabled, both the "outer" and "inner" ccache programs trigger distcc which causes it to bail out with "CRITICAL! distcc seems to have invoked itself recursively!".

This seems like FreeCAD's bug, but here's a patch:

diff --git CMakeLists.txt CMakeLists.txt
index f4dabf7657..ded1023532 100644
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -8,11 +8,6 @@ if (POLICY CMP0072)
     cmake_policy(SET CMP0072 OLD)
 endif(POLICY CMP0072)

-find_program(CCACHE_PROGRAM ccache)  #This check should occur before project()
-if(CCACHE_PROGRAM)
-    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
-endif()
-
 project(FreeCAD)

 set(PACKAGE_VERSION_NAME "Vulcan")

moham_96 commented on 2020-12-22 07:37 (UTC)

I'm getting the following error while compiling https://0x0.st/iCeH.txt

greyltc commented on 2020-12-20 17:24 (UTC)

@bartus Thanks very much for the tips!

  • I've added the python-ply dep
  • I never knew the environment was manipulated differently between prepare() and build() with respect to how rules in the options array are handled! (this honestly feels like a build system design flaw to me) I've moved the build preparation stuff from prepare() to build() now. Seems like I've been wrong to do that kind of preparation in prepare().
  • Yeah, I should put my patches in the source array and not fetch anything in prepare(), sometimes I'm just too lazy to do it correctly
  • Not sure I agree with what you've done with MAKEFLAGS and ninja there. I think I won't do that.

vipqualitypost commented on 2020-12-20 08:39 (UTC) (edited on 2020-12-20 08:48 (UTC) by vipqualitypost)

I patched my PKGBUILD with the patch posted by @bartus; it helped with building (set makeflags correctly, much slower build because of this I assume) but it still was failing the self tests so I think maybe this is an issue with FreeCAD. I commented out check() and then it just skips to package() which runs fine and the program is installed. I can open it and there are no obvious issues (I checked for the features that were failing test, all related to helix patterning). Maybe we should remove the self test until it's known to pass? Otherwise it's impossible to install, unless it's just a problem with my machine. Also, during check() we should remove the directory change; it enters the correct one at the end of Ninja build anyway.

To patch the makefile you can do like this, for anyone reading before it gets pushed:
curl http://ix.io/2IKZ >> freecad.patch
patch -ruN < freecad.patch

bartus commented on 2020-12-19 19:38 (UTC) (edited on 2020-12-19 22:18 (UTC) by bartus)

@greyltc; few things:

  • missing python-ply dependency ##

  • cmake should be called form build() function as prepare() is called in sanitized environment (no flags defined in /etc/makepkg.conf present) ##

  • to recreate make behaviour with options=(!makeflags) using ninja you should add ${MAKEFLAGS:--j1} to ninja call ##

  • since cmake:3.12 you can used cmake -S source_dir -B build_dir call creplacing all mkdir build, cd build, cmake ../ ##

  • and as bonus, instead of calling curl to get patch you can add one to source list with filename::url syntax ## also you can combine multiple python packages using bash bracket expansions ##

patch

# merge with:
git am -s < <(curl -s http://ix.io/2IKZ)

btw. gendesktop is pretty neat - will try to use it in my PKGBUILDs (ღ˘⌣˘ღ)

alex.forencich commented on 2020-12-17 22:44 (UTC)

I think python-yaml needs to be a dependency of some sort

kvkoskin commented on 2020-12-17 13:20 (UTC)

From Arch freecad package: Adding -D BUILD_ENABLE_CXX_STD=C++14 to cmake changes the std as needed.

devilholk commented on 2020-12-16 05:53 (UTC)

@khumarahn, I was able to make it build by replacing all occurrences of -std=gnu++11 in build/build.ninja with -std=gnu++14 after prepare() have been run. I could not figure out how to get CMake to spit out a correct build.ninja.