opnsense / docs

OPNsense documentation
Other
115 stars 182 forks source link

cannot build doc on android #446

Closed realSConway closed 1 year ago

realSConway commented 1 year ago

Dear experts,

I'm trying to build documentation in epup format for offline reading on my old android tablet. Currently using termux, with python3.

After got clone, I cd in to doc Dir,then run:

$ make epub
sphinx-build -b epub -d build/doctrees   source build/epub                     Running Sphinx v5.3.0
WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English).
                                                                               Extension error:
Could not import extension sphinx_sitemap (exception: No module named 'sphinx_sitemap')
make: *** [Makefile:125: epub] Error 2

At first I needed to pip install sphinx_rtd_theme, then it complained about missing sphinx_sitemap. and finally about missing 'sphinxcontrib.blockdiag'. Is this expected?

pip install -r requirements.txt --upgrade

Collecting blockdiag>=2.0.0
  Using cached blockdiag-3.0.0-py3-none-any.whl (2.7 MB)
Collecting nwdiag>=2.0.0
  Using cached nwdiag-3.0.0-py3-none-any.whl (7.7 MB)
Collecting seqdiag>=2.0.0
  Using cached seqdiag-3.0.0-py3-none-any.whl (2.6 MB)
Collecting actdiag>=2.0.0
  Using cached actdiag-3.0.0-py3-none-any.whl (2.6 MB)
Requirement already satisfied: sphinx in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from -r requirements.txt (line 5)) (5.3.0)
Requirement already satisfied: sphinx-sitemap in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from -r requirements.txt (line 6)) (2.2.1)
Collecting sphinx_rtd_theme==0.5.2
  Using cached sphinx_rtd_theme-0.5.2-py2.py3-none-any.whl (9.1 MB)
Collecting sphinxcontrib-blockdiag
  Using cached sphinxcontrib_blockdiag-3.0.0-py2.py3-none-any.whl (6.8 kB)
Collecting sphinxcontrib-nwdiag
  Using cached sphinxcontrib_nwdiag-2.0.0-py2.py3-none-any.whl (13 kB)
Collecting sphinxcontrib-seqdiag
  Using cached sphinxcontrib_seqdiag-3.0.0-py2.py3-none-any.whl (6.9 kB)
Collecting sphinxcontrib-actdiag
  Using cached sphinxcontrib_actdiag-3.0.0-py2.py3-none-any.whl (6.9 kB)
Collecting blockdiagcontrib-cisco
  Using cached blockdiagcontrib-cisco-0.1.8.tar.gz (5.8 MB)
  Preparing metadata (setup.py) ... done
Collecting Pillow
  Using cached Pillow-9.3.0.tar.gz (50.4 MB)
  Preparing metadata (setup.py) ... done
Collecting docutils<0.17
  Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
Requirement already satisfied: setuptools in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from blockdiag>=2.0.0->-r requirements.txt (line 1)) (65.5.0)
Collecting funcparserlib>=1.0.0a0
  Using cached funcparserlib-1.0.1-py2.py3-none-any.whl (17 kB)
Requirement already satisfied: webcolors in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from blockdiag>=2.0.0->-r requirements.txt (line 1)) (1.12)
Requirement already satisfied: sphinxcontrib-applehelp in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.0.2)
Requirement already satisfied: sphinxcontrib-devhelp in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.0.2)
Requirement already satisfied: sphinxcontrib-jsmath in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.0.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (2.0.0)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.5 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.1.5)
Requirement already satisfied: sphinxcontrib-qthelp in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.0.3)
Requirement already satisfied: Jinja2>=3.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (3.1.2)
Requirement already satisfied: Pygments>=2.12 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (2.13.0)
Requirement already satisfied: snowballstemmer>=2.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (2.2.0)
Requirement already satisfied: babel>=2.9 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (2.11.0)
Requirement already satisfied: alabaster<0.8,>=0.7 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (0.7.12)
Requirement already satisfied: imagesize>=1.3 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (1.4.1)
Requirement already satisfied: requests>=2.5.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (2.28.1)
Requirement already satisfied: packaging>=21.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx->-r requirements.txt (line 5)) (22.0)
Requirement already satisfied: six in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from sphinx-sitemap->-r requirements.txt (line 6)) (1.16.0)
Requirement already satisfied: pytz>=2015.7 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from babel>=2.9->sphinx->-r requirements.txt (line 5)) (2022.7)
Requirement already satisfied: MarkupSafe>=2.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from Jinja2>=3.0->sphinx->-r requirements.txt (line 5)) (2.1.1)
Requirement already satisfied: charset-normalizer<3,>=2 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from requests>=2.5.0->sphinx->-r requirements.txt (line 5)) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from requests>=2.5.0->sphinx->-r requirements.txt (line 5)) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from requests>=2.5.0->sphinx->-r requirements.txt (line 5)) (1.26.13)
Requirement already satisfied: certifi>=2017.4.17 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from requests>=2.5.0->sphinx->-r requirements.txt (line 5)) (2022.12.7)
Installing collected packages: Pillow, funcparserlib, docutils, blockdiag, sphinxcontrib-blockdiag, sphinx_rtd_theme, seqdiag, nwdiag, blockdiagcontrib-cisco, actdiag, sphinxcontrib-seqdiag, sphinxcontrib-nwdiag, sphinxcontrib-actdiag
  DEPRECATION: Pillow is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for Pillow ... error
  error: subprocess-exited-with-error

  × Running setup.py install for Pillow did not run successfully.
  │ exit code: 1
  ╰─> [195 lines of output]
      running install
      /data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-311
      creating build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/BdfFontFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/BlpImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ContainerIO.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/CurImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/DdsImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ExifTags.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FitsImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FliImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FontFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/FtexImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GdImageFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GifImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GimpGradientFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/Image.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageChops.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageColor.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageDraw.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageDraw2.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageEnhance.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageFilter.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageFont.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageGrab.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageMath.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageMode.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageMorph.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageOps.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImagePalette.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImagePath.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageQt.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageSequence.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageShow.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageStat.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageTk.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageTransform.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImageWin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/JpegPresets.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/MicImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/MspImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PSDraw.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PaletteFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PcfFontFile.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PdfParser.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PngImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/PyAccess.py -> build/lib.linux-armv7l-cpython-311/PIL          copying src/PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL                                                                                   copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/SunImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL                                                                                   copying src/PIL/TarIO.py -> build/lib.linux-armv7l-cpython-311/PIL             copying src/PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL                                                                                  copying src/PIL/TiffTags.py -> build/lib.linux-armv7l-cpython-311/PIL          copying src/PIL/WalImageFile.py -> build/lib.linux-armv7l-cpython-311/PIL      copying src/PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL                                                                                  copying src/PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/__init__.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/__main__.py -> build/lib.linux-armv7l-cpython-311/PIL          copying src/PIL/_binary.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/_deprecate.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/_tkinter_finder.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/_util.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/_version.py -> build/lib.linux-armv7l-cpython-311/PIL
      copying src/PIL/features.py -> build/lib.linux-armv7l-cpython-311/PIL
      running egg_info
      writing src/Pillow.egg-info/PKG-INFO
      writing dependency_links to src/Pillow.egg-info/dependency_links.txt
      writing requirements to src/Pillow.egg-info/requires.txt
      writing top-level names to src/Pillow.egg-info/top_level.txt
      reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.c'
      warning: no files found matching '*.h'
      warning: no files found matching '*.sh'
      warning: no files found matching '*.txt'
      warning: no previously-included files found matching '.appveyor.yml'
      warning: no previously-included files found matching '.clang-format'
      warning: no previously-included files found matching '.coveragerc'
      warning: no previously-included files found matching '.editorconfig'
      warning: no previously-included files found matching '.readthedocs.yml'
      warning: no previously-included files found matching 'codecov.yml'
      warning: no previously-included files found matching 'renovate.json'
      warning: no previously-included files matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution                                                                          no previously-included directories found matching '.ci'
      adding license file 'LICENSE'
      writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
      running build_ext

                                                                                     The headers or library files could not be found for jpeg,
      a required dependency when compiling Pillow from source.

      Please see the install instructions at:
         https://pillow.readthedocs.io/en/latest/installation.html

      Traceback (most recent call last):
        File "/data/data/com.termux/files/usr/tmp/pip-install-g2elmug3/pillow_2c263168816148a3a5854e46c835cfa7/setup.py", line 995, in <module>
          setup(
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
          self.run_command(cmd)
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
          super().run_command(command)
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
          cmd_obj.run()
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/command/install.py", line 68, in run
          return orig.install.run(self)
                 ^^^^^^^^^^^^^^^^^^^^^^
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/command/install.py", line 698, in run
          self.run_command('build')
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
          self.distribution.run_command(command)
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command                                               super().run_command(command)                                                 File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
          cmd_obj.run()
        File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 132, in run
          self.run_command(cmd_name)                                                   File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
          self.distribution.run_command(command)                                       File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
          super().run_command(command)                                                 File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
          cmd_obj.run()                                                                File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 84, in run
          _build_ext.run(self)                                                         File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
          self.build_extensions()                                                      File "/data/data/com.termux/files/usr/tmp/pip-install-g2elmug3/pillow_2c263168816148a3a5854e46c835cfa7/setup.py", line 810, in build_extensions
          raise RequiredDependencyException(f)                                       RequiredDependencyException: jpeg
                                                                                     During handling of the above exception, another exception occurred:      
      Traceback (most recent call last):                                               File "<string>", line 2, in <module>                                           File "<pip-setuptools-caller>", line 34, in <module>
        File "/data/data/com.termux/files/usr/tmp/pip-install-g2elmug3/pillow_2c263168816148a3a5854e46c835cfa7/setup.py", line 1012, in <module>
          raise RequiredDependencyException(msg)                                     RequiredDependencyException:                                             
      The headers or library files could not be found for jpeg,                      a required dependency when compiling Pillow from source.                 
      Please see the install instructions at:                                           https://pillow.readthedocs.io/en/latest/installation.html             
                                                                                     [end of output]                                                          
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure                                                                                                                                 × Encountered error while trying to install package.
╰─> Pillow                                                                                                                                                    note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

I'm quite new to building with 'read the docs', is this recommended method for reading manual offline?

realSConway commented 1 year ago

Was able to build documentation on my desktop, issue can be closed