Package Details: freecad-git 0.19_pre.r4995.g1851ddd933-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.freecadweb.org/
Licenses: LGPL
Conflicts: freecad, freecad-appimage, freecad-appimage-git
Provides: freecad
Submitter: gborzi
Maintainer: greyltc
Last Packager: greyltc
Votes: 97
Popularity: 2.63
First Submitted: 2012-03-03 13:46
Last Updated: 2021-01-31 13:59

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 ... Next › Last »

greyltc commented on 2020-12-20 17:24

@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

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

@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

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

kvkoskin commented on 2020-12-17 13:20

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

@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.

khumarahn commented on 2020-12-15 23:15

Installing python-netcdf4 I could start the compilation, but it fails with

[2379/3992] Building CXX object src/Mod/Path/App/CMakeFiles/Path.dir/Area.cpp.o
FAILED: src/Mod/Path/App/CMakeFiles/Path.dir/Area.cpp.o 
/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DHAVE_CONFIG_H -DHAVE_FFMPEG -DHAVE_FREEIMAGE -DHAVE_LIMITS_H -DHAVE_RAPIDJSON -DHAVE_TBB -DHAVE_VTK -DOCC_CONVERT_SIGNALS -DPath_EXPORTS -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_XML_LIB -DVTK_OPENGL2_BACKEND -D_OCC64 -DvtkDomainsChemistry_AUTOINIT="2(vtkDomainsChemistryOpenGL2,vtkDomainsParallelChemistry)" -DvtkFiltersCore_AUTOINIT="1(vtkFiltersParallelDIY2)" -DvtkFiltersFlowPaths_AUTOINIT="1(vtkFiltersParallelFlowPaths)" -DvtkFiltersParallel_AUTOINIT="2(vtkFiltersParallelDIY2,vtkFiltersParallelGeometry)" -DvtkIOExodus_AUTOINIT="1(vtkIOParallelExodus)" -DvtkIOExport_AUTOINIT="2(vtkIOExportOpenGL2,vtkIOExportPDF)" -DvtkIOGeometry_AUTOINIT="1(vtkIOMPIParallel)" -DvtkIOImage_AUTOINIT="1(vtkIOMPIImage)" -DvtkIOParallel_AUTOINIT="1(vtkIOMPIParallel)" -DvtkIOSQL_AUTOINIT="2(vtkIOMySQL,vtkIOPostgreSQL)" -DvtkIOXdmf3_AUTOINIT="1(vtkIOParallelXdmf3)" -DvtkRenderingContext2D_AUTOINIT="1(vtkRenderingContextOpenGL2)" -DvtkRenderingCore_AUTOINIT="3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2)" -DvtkRenderingFreeType_AUTOINIT="2(vtkRenderingFreeTypeFontConfig,vtkRenderingMatplotlib)" -DvtkRenderingLICOpenGL2_AUTOINIT="1(vtkRenderingParallelLIC)" -DvtkRenderingOpenGL2_AUTOINIT="1(vtkRenderingGL2PSOpenGL2)" -DvtkRenderingVolume_AUTOINIT="1(vtkRenderingVolumeOpenGL2)" -I. -Isrc -I../src -Isrc/Mod/Path/App -I/usr/include/opencascade -I/usr/include/eigen3 -I/usr/include/python3.9 -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtXml -Wall -Wextra -Wno-write-strings -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -w -O3 -DNDEBUG -fPIC   -fext-numeric-literals -pthread -fPIC -std=gnu++11 -MD -MT src/Mod/Path/App/CMakeFiles/Path.dir/Area.cpp.o -MF src/Mod/Path/App/CMakeFiles/Path.dir/Area.cpp.o.d -o src/Mod/Path/App/CMakeFiles/Path.dir/Area.cpp.o -c ../src/Mod/Path/App/Area.cpp
In file included from /usr/include/boost/geometry/core/tag.hpp:23,
                 from /usr/include/boost/geometry/core/ring_type.hpp:28,
                 from /usr/include/boost/geometry/core/closure.hpp:24,
                 from /usr/include/boost/geometry/geometry.hpp:34,
                 from /usr/include/boost/geometry.hpp:17,
                 from ../src/Mod/Path/App/Area.cpp:38:
/usr/include/boost/geometry/util/type_traits_std.hpp:54:25: error: expected template-name before ‘<’ token
   54 |     : std::conditional_t<Trait::value, conjunction<Traits...>, Trait>
      |                         ^

khumarahn commented on 2020-12-15 22:38

It seems, the dependency python-netcdf4 is missing.

greyltc commented on 2020-12-05 16:14

It might just be a bug in the Summary report printer?
Above I can see that Coin is found and has the expected version:

-- Found OpenGLU: /usr/lib/libGLU.so
-- Checking for module 'Coin'
--   Found Coin, version 4.0.1
-- Coin3D libraries found
-- Found Spnav: /usr/lib/libspnav.so  

Kunda commented on 2020-12-05 15:25

@greyltc, opened a thread on the FreeCAD forum: https://forum.freecadweb.org/viewtopic.php?f=4&t=52921 to see if we can glean any insight from the packagers there.