Opened 5 years ago

Closed 2 years ago

#60039 closed defect (fixed)

freecad @0.18.4_0+gcc9: Could NOT find Boost (missing: python)

Reported by: informatimago (Pascal J. Bourguignon) Owned by: mbrethen
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: abiggerdogg
Port: freecad

Description (last modified by jmroot (Joshua Root))

--->  Configuring freecad
Error: Failed to configure freecad: configure failure: command execution failed

see main.log

Attachments (2)

main.log (1.9 MB) - added by informatimago (Pascal J. Bourguignon) 5 years ago.
main.log
main.2.log (7.9 MB) - added by informatimago (Pascal J. Bourguignon) 5 years ago.
new main.log

Change History (15)

Changed 5 years ago by informatimago (Pascal J. Bourguignon)

Attachment: main.log added

main.log

comment:1 Changed 5 years ago by jmroot (Joshua Root)

Cc: mbrethen added
Description: modified (diff)
Owner: set to Schamschula
Status: newassigned
Summary: freecad-0.18.4_0+gcc9.darwin_19.x86_64 can't find boostfreecad @0.18.4_0+gcc9: configure failure, can't find boost

Looks like it's specifically not finding boost-python. What variants do you have boost installed with?

comment:2 Changed 5 years ago by informatimago (Pascal J. Bourguignon)

[pjb@despina org.macports:0 ~ 568Gi]$ port list boost
boost                          @1.71.0         devel/boost
[pjb@despina org.macports:0 ~ 568Gi]$ port variants boost
boost has the variants:
   clang33: Build using the MacPorts clang 3.3 compiler
     * conflicts with clang34 clang37 clang50 clang60 clang70 clang80 clang90
   clang34: Build using the MacPorts clang 3.4 compiler
     * conflicts with clang33 clang37 clang50 clang60 clang70 clang80 clang90
   clang37: Build using the MacPorts clang 3.7 compiler
     * conflicts with clang33 clang34 clang50 clang60 clang70 clang80 clang90
   clang50: Build using the MacPorts clang 5.0 compiler
     * conflicts with clang33 clang34 clang37 clang60 clang70 clang80 clang90
   clang60: Build using the MacPorts clang 6.0 compiler
     * conflicts with clang33 clang34 clang37 clang50 clang70 clang80 clang90
   clang70: Build using the MacPorts clang 7.0 compiler
     * conflicts with clang33 clang34 clang37 clang50 clang60 clang80 clang90
   clang80: Build using the MacPorts clang 8.0 compiler
     * conflicts with clang33 clang34 clang37 clang50 clang60 clang70 clang90
   clang90: Build using the MacPorts clang 9.0 compiler
     * conflicts with clang33 clang34 clang37 clang50 clang60 clang70 clang80
   cmake_scripts: Install Boost CMake find scripts
   debug: Builds debug versions of the libraries as well
   mpich: Build using the MPICH compiler
     * conflicts with mpich_devel openmpi openmpi_devel
   mpich_devel: Build using the MPICH-devel compiler
     * conflicts with mpich openmpi openmpi_devel
[+]no_single: Disable building single-threaded libraries
[+]no_static: Disable building static libraries
   openmpi: Build using the OpenMPI compiler
     * conflicts with mpich mpich_devel openmpi_devel
   openmpi_devel: Build using the OpenMPI-devel compiler
     * conflicts with mpich mpich_devel openmpi
   python27: Build Boost.Python for Python 2.7
     * conflicts with debug python35 python36 python37 python38
   python35: Build Boost.Python for Python 3.5
     * conflicts with debug python27 python36 python37 python38
   python36: Build Boost.Python for Python 3.6
     * conflicts with debug python27 python35 python37 python38
[+]python37: Build Boost.Python for Python 3.7
     * conflicts with debug python27 python35 python36 python38
   python38: Build Boost.Python for Python 3.8
     * conflicts with debug python27 python35 python36 python37
   regex_match_extra: Enable access to extended capture information of submatches in Boost.Regex
   universal: Build for multiple architectures
[pjb@despina org.macports:0 ~ 568Gi]$ 

comment:3 Changed 5 years ago by Schamschula (Marius Schamschula)

Currently freecad still requires Python 2.7. If your machine defaults to any version of Python 3.x you expect to get this error.

comment:4 Changed 5 years ago by informatimago (Pascal J. Bourguignon)

Yes, but I have Python 2.7:

[pjb@despina org.macports:0 ~ 566Gi]$ port select --show python
The currently selected version for 'python' is 'python27'.
[pjb@despina org.macports:0 ~ 566Gi]$ port select --show python2
The currently selected version for 'python2' is 'python27'.
[pjb@despina org.macports:0 ~ 566Gi]$ 

comment:5 Changed 5 years ago by Schamschula (Marius Schamschula)

Your previous post actually shows a possible answer: you need the +python27 variant for boost enabled.

I my case, I have boost @1.71.0_1+no_single+no_static+python27 installed and active.

You didn't show which version (if any) of boost was installed on your machine, only which versions are available.

Changed 5 years ago by informatimago (Pascal J. Bourguignon)

Attachment: main.2.log added

new main.log

comment:6 Changed 5 years ago by informatimago (Pascal J. Bourguignon)

Ok, after installing boost +python27, things go farther. But now it seems that there are two errors in the sources of FreeCAD:

:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/build/src/Mod/Mesh/App && /usr/bin/clang++  -DBOOST_PP_VARIADICS=1 -DHAVE_CONFIG_H -DHAVE_FREEIMAGE -DHAVE_RAPIDJSON -DHAVE_TBB -DMesh_EXPORTS -DOCC_CONVERT_SIGNALS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WEBKIT_LIB -DQT_XML_LIB -D_OCC64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/build -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/build/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/build/src/Mod/Mesh/App -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src/Mod/Mesh/App -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src/3rdParty/libkdtree -I/opt/local/include -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Headers -I/opt/local/include/eigen3 -isystem /opt/local/libexec/qt4/include -isystem /opt/local/libexec/qt4/include/QtOpenGL -isystem /opt/local/libexec/qt4/include/QtSvg -isystem /opt/local/libexec/qt4/include/QtUiTools -isystem /opt/local/libexec/qt4/include/QtWebKit -isystem /opt/local/libexec/qt4/include/QtGui -isystem /opt/local/libexec/qt4/include/QtXml -isystem /opt/local/libexec/qt4/include/QtNetwork -isystem /opt/local/libexec/qt4/include/QtCore  -Wall -Wextra -Wno-write-strings -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -std=c++11 -Wno-undefined-var-template -D_OCC64 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.15 -fPIC   -o CMakeFiles/Mesh.dir/WildMagic4/Wm4Distance.cpp.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src/Mod/Mesh/App/WildMagic4/Wm4Distance.cpp
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src/Mod/Part/App/PropertyTopoShape.cpp:284:3: error: unknown type name 'ofstream'
:info:build   ofstream os;
:info:build   ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cad_freecad/freecad/work/FreeCAD-0.18.4/src/Mod/Part/App/PropertyTopoShape.cpp:286:28: error: use of undeclared identifier 'ios'; did you mean 'std::ios'?
:info:build   OSD_OpenStream(os, File, ios::out);
:info:build                            ^~~
:info:build                            std::ios
:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:156:38: note: 'std::ios' declared here
:info:build typedef basic_ios<char>              ios;
:info:build                                      ^

Full new main.log attached.

comment:7 Changed 5 years ago by Schamschula (Marius Schamschula)

Both errors are related. Somehow ofstream can't be found on your system. I'm assuming you have the command line tools installed, but it seems that the required headers aren't being found - they should be there.

comment:8 in reply to:  3 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to Schamschula:

Currently freecad still requires Python 2.7.

freecad 0.18.4 fails to build on the buildbot on all versions of macOS with this error:

-- Could NOT find Boost (missing: python27) (found version "1.71.0")
-- Could NOT find Boost (missing: python2) (found version "1.71.0")
CMake Error at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
  Could NOT find Boost (missing: python) (found version "1.71.0")

Note that boost's default python variant was changed from python27 to python37 last year and then to python38 this month. If freecad requires that boost be installed with the python27 variant, use the require_active_variants procedure from the active_variants 1.1 portgroup to indicate that. That won't enable the buildbot to build the port, but it will at least provide the user with a better error message that shows them how to work around the problem.

comment:9 in reply to:  2 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

And for future reference:

Replying to informatimago:

[pjb@despina org.macports:0 ~ 568Gi]$ port list boost
boost                          @1.71.0         devel/boost

port list shows you what port version is available, not what is installed. See wiki:FAQ#portlist.

[pjb@despina org.macports:0 ~ 568Gi]$ port variants boost
boost has the variants:
[...]

port variants shows you what port variants are available, not which one(s) are installed.

To see what version and variants of boost are installed, you wanted to run port installed boost.

comment:10 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: abiggerdogg added
Summary: freecad @0.18.4_0+gcc9: configure failure, can't find boostfreecad @0.18.4_0+gcc9: Could NOT find Boost (missing: python)

Has duplicate #60416.

comment:11 Changed 4 years ago by mf2k (Frank Schima)

Cc: mbrethen removed
Owner: changed from Schamschula to mbrethen

comment:12 Changed 2 years ago by petrrr

FreeCAD in Macports is now at 0.18.5. Given the port was bumped and in the meantime other changes on the dependencies occured, this ticket might has become obsolete?

I also observe a build issue with freecad @0.18.5_1, but the problem looks unrelated to me.

comment:13 Changed 2 years ago by catap (Kirill A. Korinsky)

Resolution: fixed
Status: assignedclosed

In 8ad869a0ee7843e63bc8926ea63b430dd08f2375/macports-ports (master):

freecad: fix build

Closes: #66227
Closes: #60039

Note: See TracTickets for help on using tickets.