Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#58339 closed defect (fixed)

cmake 3.14.2 +docs build failure: missing sphinxcontrib-qthelp

Reported by: blair (Blair Zajac) Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: cmake

Description

Upgrading to cmake 3.14.2 today:

[  6%] Building CXX object Utilities/KWIML/test/CMakeFiles/kwiml_test.dir/test_int_CXX.cxx.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2/Utilities/KWIML/test && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++  -DKWIML_LANGUAGE_C -DKWIML_LANGUAGE_CXX -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2/Utilities  -pipe -Os -stdlib=libc++ -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14   -std=gnu++1z -o CMakeFiles/kwiml_test.dir/test_int_CXX.cxx.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2/Utilities/KWIML/test/test_int_CXX.cxx
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2'
Traceback (most recent call last):
  File "/opt/local/bin/sphinx-build-3.7", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'sphinxcontrib-qthelp' distribution was not found and is required by Sphinx

Installing py37-sphinxcontrib-qthelp appears to get past this one.

[  6%] Building C object Utilities/cmlibrhash/CMakeFiles/cmlibrhash.dir/librhash/rhash.c.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2/Utilities/cmlibrhash && /Applications/Xcode.app/Conten
ts/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmak
e-3.14.2/Utilities -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.14.2/Source  -pipe -Os -isysroot/Applicat
ions/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -arch x86_64 -w -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS
X10.14.sdk -mmacosx-version-min=10.14   -std=gnu11 -o CMakeFiles/cmlibrhash.dir/librhash/rhash.c.o   -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarb
alls_ports_devel_cmake/cmake/work/cmake-3.14.2/Utilities/cmlibrhash/librhash/rhash.c
Traceback (most recent call last):
  File "/opt/local/bin/sphinx-build-3.7", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'sphinxcontrib-serializinghtml' distribution was not found and is required by Sphinx

Then py37-sphinxcontrib-htmlhelp, py37-sphinxcontrib-jsmath, py37-sphinxcontrib-devhelp, and py37-sphinxcontrib-applehelp.

The build seems to work if these are installed, some of these may have been previously installed from other packages needing them:

$ port installed py37-sphinxcontrib-\*
The following ports are currently installed:
  py37-sphinxcontrib-applehelp @1.0.1_0 (active)
  py37-sphinxcontrib-devhelp @1.0.1_0 (active)
  py37-sphinxcontrib-htmlhelp @1.0.2_0 (active)
  py37-sphinxcontrib-jsmath @1.0.1_0 (active)
  py37-sphinxcontrib-qthelp @1.0.2_0 (active)
  py37-sphinxcontrib-serializinghtml @1.1.3_0 (active)
  py37-sphinxcontrib-websupport @1.1.0_0 (active)

Change History (15)

comment:1 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:2 Changed 6 years ago by jmroot (Joshua Root)

Summary: cmake 3.14.2 build failure: missing sphinxcontrib-qthelpcmake 3.14.2 +docs build failure: missing sphinxcontrib-qthelp

Presumably this only happens with +docs.

comment:3 Changed 6 years ago by michaelld (Michael Dickens)

Has duplicate #58344

comment:4 Changed 6 years ago by michaelld (Michael Dickens)

Presumably +docs, but also +qt5 or +qt4? Hmm ... I'll have to test / verify ...

comment:5 Changed 6 years ago by michaelld (Michael Dickens)

Nope ... no Qt required at all, regardless of the port name. OK so these should be pretty simple to add to CMake.

comment:6 Changed 6 years ago by michaelld (Michael Dickens)

OK we have a problem: the py-sphinxcontrib-* ports seem to be for mostly Py37, but CMake needs them regardless of the Py version (27, 34, 35, 36, 37) ... looking into adding those version of these ports; see if they work; maybe there's a reason why those versions aren't in place?

comment:7 Changed 6 years ago by michaelld (Michael Dickens)

OK not Py27. That version works without these additions.

comment:8 Changed 6 years ago by jmroot (Joshua Root)

The 2.0 version of sphinx split some of the contrib packages out. It no longer supports python < 3.5, so 2.7 and 3.4 are still on the old version and may not need the new deps.

comment:9 Changed 6 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: assignedclosed

In f850901e748132e6ae042d646afec2266ff4652b/macports-ports (master):

cmake: redo +pythonXY and add dependencies on py3Y-sphinxcontrib-[various]

Closes: #58339

comment:10 Changed 6 years ago by michaelld (Michael Dickens)

Just saw your note, @jmroot. I tested for Py27 & disabled these for that version. I don't have Py34 or Py35 installed, so I assumed they would need the changes. It's easy to disable those if they are not needed.

comment:11 Changed 6 years ago by michaelld (Michael Dickens)

I also added in the sphinx contrib for 27 & 34 35 36 since the ones I can test installed; I have no idea if they actually work. If they are not needed &/or won't work then they are easy to remove / deprecate.

comment:12 Changed 6 years ago by jmroot (Joshua Root)

Well, the jsmath, applehelp, devhelp, qthelp, serializinghtml, and htmlhelp contribs claim in their setup.py to require python >= 3.5.

comment:13 Changed 6 years ago by michaelld (Michael Dickens)

Hmm ... well they did install ... maybe they just provide a NOP under Py < 3.5?

comment:14 Changed 6 years ago by jmroot (Joshua Root)

I believe the python_requires option is only respected by pip currently. So you can install them by running setup.py, but they may or may not run correctly.

comment:15 Changed 6 years ago by michaelld (Michael Dickens)

The Py27 versions won't work. The code has programming that requires Py3+ ... maybe even 3.5+? Anyway I'll remove the Py27 version.

Note: See TracTickets for help on using tickets.