SamsungDS / Spex

lint- and extract figures from NVMe specification documents.
https://samsungds.github.io/Spex/
3 stars 2 forks source link

Building documentation breaks #31

Open safl opened 1 month ago

safl commented 1 month ago
(nix:default-env) safl@book3:~/git/spex$ make docs
./scripts/mkdocs.sh
+ cd /home/safl/git/spex/scripts/../docs
+ BUILDDIR=/home/safl/git/spex/scripts/../docs/build
+ make html
make[1]: Entering directory '/home/safl/git/spex/docs'
Traceback (most recent call last):
  File "/nix/store/bahvxy0rjr50v03rwkkwqi28c2jrf9x4-python3.11-sphinx-7.2.6/bin/.sphinx-build-wrapped", line 9, in <module>
    sys.exit(main())
             ^^^^^^
  File "/nix/store/bahvxy0rjr50v03rwkkwqi28c2jrf9x4-python3.11-sphinx-7.2.6/lib/python3.11/site-packages/sphinx/cmd/build.py", line 326, in main
    locale.setlocale(locale.LC_ALL, '')
  File "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/lib/python3.11/locale.py", line 627, in setlocale
    return _setlocale(category, locale)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
locale.Error: unsupported locale setting
make[1]: *** [Makefile:34: html] Error 1
make[1]: Leaving directory '/home/safl/git/spex/docs'
++ on_err
++ set +x
make: *** [Makefile:40: docs] Error 2
(nix:default-env) safl@book3:~/git/spex$
jwdevantier commented 3 days ago

For me, I can build using nix develop .# --command make docs.

I see some references to locale and it crashes on "unsupported locale settings".

It seems like it's trying to set LC_ALL and that this is not supported on your system..? If I run locale in the shell, LC_ALL is indeed present among other options.

safl commented 3 days ago

I think answers to all those questions are in the option above? I was on Debian Bookworm and in the nix development shell. I no longer have access to the system in question. So, I tried again on my current system (Fedora 40), but when installing Nix (as described here: https://samsungds.github.io/Spex/setup/nix.html#sec-setup-nix-install) then I end up with:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
info: downloading installer (https://install.determinate.systems/nix/tag/v0.19.0/nix-installer-x86_64-linux)
`nix-installer` needs to run as `root`, attempting to escalate now via `sudo`...
[sudo] password for safl:
Nix install plan (v0.19.0)
Planner: linux (with default settings)

Planned actions:
* Create directory `/nix`
* Extract the bundled Nix (originally from /nix/store/k51vv8b59cbjgf61l1klx6lqsa8mb0s1-nix-binary-tarball-2.21.2/nix-2.21.2-x86_64-linux.tar.xz)
* Create a directory tree in `/nix`
* Move the downloaded Nix into `/nix`
* Create build users (UID 30001-30032) and group (GID 30000)
* Setup the default Nix profile
* Place the Nix configuration in `/etc/nix/nix.conf`
* Configure the shell profiles
* Install an SELinux Policy for Nix
* Configure Nix daemon related settings with systemd
* Remove directory `/nix/temp-install-dir`

Proceed? ([Y]es/[n]o/[e]xplain): y
 INFO Step: Create directory `/nix`
 INFO Step: Provision Nix
 INFO Step: Create build users (UID 30001-30032) and group (GID 30000)
 INFO Step: Configure Nix
 INFO Step: Install an SELinux Policy for Nix
 INFO Step: Create directory `/etc/tmpfiles.d`
 INFO Step: Configure Nix daemon related settings with systemd
ERROR
   0: Install failure
   1: Error executing action
   2: Action `configure_init_service` errored
   3: Failed to execute command with status 1 `"systemctl" "enable" "/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.socket" "--now"`, stdout:
      stderr: Failed to enable unit: Access denied

   3:

Location:
   src/cli/subcommand/install.rs:250

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

Consider reporting this error using this URL: https://github.com/DeterminateSystems/nix-installer/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+Install+failure%0A+++1%3A+Error+executing+action%0A+++2%3A+Action+%60configure_init_service%60+errored%0A+++3%3A+Failed+to+execute+command+with+status+1+%60%22systemctl%22+%22enable%22+%22%2Fnix%2Fvar%2Fnix%2Fprofiles%2Fdefault%2Flib%2Fsystemd%2Fsystem%2Fnix-daemon.socket%22+%22--now%22%60%2C+stdout%3A+%0A++++++stderr%3A+Failed+to+enable+unit%3A+Access+denied%0A%0A%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**version**%7C0.19.0%7C%0A%7C**os**%7Clinux%7C%0A%7C**arch**%7Cx86_64%7C%0A
Installation failure, offering to revert...
Nix uninstall plan (v0.19.0)

Planner: linux (with default settings)

Planned actions:
* Unconfigure Nix daemon related settings with systemd
* Remove the directory `/etc/tmpfiles.d` if no other contents exists
* Remove the SELinux policy for Nix
* Unconfigure the shell profiles
* Remove the Nix configuration in `/etc/nix/nix.conf`
* Unset the default Nix profile
* Remove Nix users and group
* Remove the directory tree in `/nix`
* Remove the directory `/nix`

Proceed? ([Y]es/[n]o/[e]xplain): y
 INFO Revert: Remove directory `/nix/temp-install-dir`
 INFO Revert: Configure Nix daemon related settings with systemd
 INFO Revert: Create directory `/etc/tmpfiles.d`
 INFO Revert: Install an SELinux Policy for Nix
 INFO Revert: Configure Nix
 INFO Revert: Create build users (UID 30001-30032) and group (GID 30000)
 INFO Revert: Provision Nix
 INFO Revert: Create directory `/nix`
Partial Nix install was uninstalled successfully!