Compile on Manjaro guidance

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
drmacro
Veteran
Posts: 8979
Joined: Sun Mar 02, 2014 4:35 pm

Compile on Manjaro guidance

Post by drmacro »

I'm looking at compiling 0.20 on Manjaro and was wondering if there are any recommendations, caveats, etc. that will minimize my hair loss. :mrgreen:

Can I use git clone?
Is the Debian/Ubuntu deps list the same on Manjaro?
Can I get the deps with pacman?

(Sorry, this is my first atempt at Manjaro. :roll: )


Kunda1 I saw some posts that you were compiling on Manjaro...hence the ping.
Kunda1 wrote: pinged by pinger macro
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
Chris_G
Veteran
Posts: 2598
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Compile on Manjaro guidance

Post by Chris_G »

When I first compiled FC on Manjaro, I think I had to compile also a couple of dependencies from AUR (imagemagick, med, python-pivy, coin, soqt), but when I check them in pamac, they now seem to be available from community repo.
To get a list of dependencies, you can have a look at the PKGBUILD file of freecad-git in AUR.

EDIT: However I choosed to use the most simple cmake possible :

Code: Select all

cmake -DCMAKE_BUILD_TYPE=Release -DFREECAD_USE_OCC_VARIANT="Official Version" -DBUILD_QT5=ON
drmacro
Veteran
Posts: 8979
Joined: Sun Mar 02, 2014 4:35 pm

Re: Compile on Manjaro guidance

Post by drmacro »

Hmm...checked the list in PKGBUILD and it looks like all are installed.

Installed the community version of OCC and cmake produces the following error:

Code: Select all

CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (OCC) does
  not match the name of the calling package (OpenCasCade).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cMake/FindOpenCasCade.cmake:120 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  cMake/FreeCAD_Helpers/SetupOpenCasCade.cmake:4 (find_package)
  CMakeLists.txt:51 (SetupOpenCasCade)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OCC: /usr/include/opencascade (found version "7.5.0") 
-- -- Found OCE/OpenCASCADE version: 7.5.0
-- -- OCE/OpenCASCADE include directory: /usr/include/opencascade
-- -- OCE/OpenCASCADE shared libraries directory: /usr/lib
-- Found OpenGL: /usr/lib/libOpenGL.so   
-- Found OpenGLU: /usr/lib/libGLU.so
-- VTK components: vtkCommonCore;vtkCommonDataModel;vtkFiltersVerdict;vtkIOXML;vtkFiltersCore;vtkFiltersGeneral;vtkIOLegacy;vtkFiltersExtraction;vtkFiltersSources;vtkFiltersGeometry;vtkIOMPIParallel;vtkParallelMPI;vtkhdf5;vtkFiltersParallelDIY2;vtkRenderingCore;vtkInteractionStyle;vtkRenderingFreeType;vtkRenderingOpenGL2
-- Check for medfile (libmed and libmedc) ...
CMake Error at cMake/FindMEDFile.cmake:47 (MESSAGE):
  med.h not found, please install development header-files for libmedc
Call Stack (most recent call first):
  cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake:76 (find_package)
  CMakeLists.txt:58 (SetupSalomeSMESH)


And it also complains about:

Code: Select all

CMake Error at cMake/FreeCAD_Helpers/SetupQt.cmake:12 (find_package):
  By not providing "FindQt5XmlPatterns.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "Qt5XmlPatterns", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5XmlPatterns"
  with any of the following names:

    Qt5XmlPatternsConfig.cmake
    qt5xmlpatterns-config.cmake

  Add the installation prefix of "Qt5XmlPatterns" to CMAKE_PREFIX_PATH or set
  "Qt5XmlPatterns_DIR" to a directory containing one of the above files.  If
  "Qt5XmlPatterns" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:69 (include)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
adrianinsaval
Veteran
Posts: 5548
Joined: Thu Apr 05, 2018 5:15 pm

Re: Compile on Manjaro guidance

Post by adrianinsaval »

have you tried

Code: Select all

git clone https://aur.archlinux.org/freecad-git.git
cd freecad-git
makepkg -si
if that works you can then play around with the source mentioned in the PKGBUILD and compile whatever version you want of freecad
drmacro
Veteran
Posts: 8979
Joined: Sun Mar 02, 2014 4:35 pm

Re: Compile on Manjaro guidance

Post by drmacro »

adrianinsaval wrote: Mon Oct 11, 2021 5:04 pm have you tried

Code: Select all

git clone https://aur.archlinux.org/freecad-git.git
cd freecad-git
makepkg -si
if that works you can then play around with the source mentioned in the PKGBUILD and compile whatever version you want of freecad
I assume this is essentially what I did with the software install gui (having selected freecad-git), since I now have FreeCAD 0.20 and OCCT 7.5.

I have yet to grok the intricacies of the PKBUILD, so have not messed with it...haven't even figured out where it lives on my local machine. :roll:
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
marioalexis
Posts: 124
Joined: Wed Jun 19, 2019 7:44 pm

Re: Compile on Manjaro guidance

Post by marioalexis »

Did you try this list of packages (I guess there should be no major difference compared to the Manjaro packages) and directly using the FreeCAD repository instead of the AUR repository?
I use Archlinux, if I remember correctly, I didn't have to add any other dependencies to that list to do the compilation.
drmacro
Veteran
Posts: 8979
Joined: Sun Mar 02, 2014 4:35 pm

Re: Compile on Manjaro guidance

Post by drmacro »

marioalexis wrote: Tue Oct 12, 2021 5:13 pm Did you try this list of packages (I guess there should be no major difference compared to the Manjaro packages) and directly using the FreeCAD repository instead of the AUR repository?
I use Archlinux, if I remember correctly, I didn't have to add any other dependencies to that list to do the compilation.
My initial attempt was before I learned the connection between Arch and Manjaro.

That said, that is the list I used pacman to install and the cmake resulted in the errors shown previously in this thread.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
marioalexis
Posts: 124
Joined: Wed Jun 19, 2019 7:44 pm

Re: Compile on Manjaro guidance

Post by marioalexis »

Are med and qt5-xmlpatterns packages already installed?
The med.h header file claimed in the first error should be in /usr/include
User avatar
adrianinsaval
Veteran
Posts: 5548
Joined: Thu Apr 05, 2018 5:15 pm

Re: Compile on Manjaro guidance

Post by adrianinsaval »

The list in the wiki seems outdated, it doesn't match the dependencies listed in the PKGBUILD, now that you've installed the aur package you shuld truly have all the dependencies installed so a regular build should work too
Post Reply