edit(2022-01-03):I’m an idiot. My problem may not even have anything to do with OP’s problem. I solved the issue without necessarily having to fix the missing stdio.h
error; not having stdio.h
is probably for CGI features I don’t use in my blog. (in any case, I resolved this particular error by running # apt install libc6-dev
as described here).
The root cause of my blog post not appearing was that I saved the blog post text file in /var/ikiwiki/blog/posts/
as a .org
file (org mode) instead of exporting and saving a .md
file (markdown); I didn’t notice the missing step because I use org mode for drafting before publishing. Once I properly exported, committed, pushed, and pulled the file for rebuilding, the post appeared as I expected. Yay!
:: :: :: ::
original(2021-01-02):
I also noticed that I couldn’t create a new blog post. I haven’t created one in about 6 months so perhaps an update since then has caused a problem.
My usual method is to login and run the following command as root:
# ikiwiki --setup /var/lib/ikiwiki/blog.setup --rebuild --verbose --gettime
Instead of the usual stream of notifications ending with the static files in /var/www/ikiwiki/blog/
being updated, I am notified of an error via stderr:
Use of uninitialized value in string eq at /usr/share/perl5/IkiWiki.pm line 669.
Use of uninitialized value in string ne at /usr/share/perl5/IkiWiki.pm line 688.
Use of uninitialized value in string eq at /usr/share/perl5/IkiWiki.pm line 669.
Use of uninitialized value in string ne at /usr/share/perl5/IkiWiki.pm line 688.
/var/www/ikiwiki/blog/ikiwiki.cgi.c:2:10: fatal error: stdio.h: No such file or directory
2 | #include <stdio.h>
| ^~~~~~~~~
compilation terminated.
failed to compile /var/www/ikiwiki/blog/ikiwiki.cgi.c
The fatal error:
and <stdio.h>
are rendered in bold red.
I am inclined to follow this recommendation to run $ sudo apt install --reinstall build-essential
to restore a missing stdio.h
file that the meta-package build-essential
apparently includes. However, I hesitate since a dry run indicates that gcc-8
and libgcc-8-dev
will be removed (they sound important).
# apt install build-essential --dry-run
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
cpp-8 libasan5 libisl19
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
g++ g++-10 libc-dev-bin libc-devtools libc6-dev libcrypt-dev libgd3 libnsl-dev libstdc++-10-dev libtirpc-dev
linux-libc-dev
Suggested packages:
gcc-10-doc glibc-doc libgd-tools libstdc++-10-doc
The following packages will be REMOVED:
gcc-8 libgcc-8-dev
The following NEW packages will be installed:
build-essential g++ g++-10 libc-dev-bin libc-devtools libc6-dev libcrypt-dev libgd3 libnsl-dev libstdc++-10-dev
libtirpc-dev linux-libc-dev
0 upgraded, 12 newly installed, 2 to remove and 1 not upgraded.
Remv gcc-8 [8.3.0-6]
Remv libgcc-8-dev [8.3.0-6]
Inst libc-dev-bin (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Inst linux-libc-dev (5.10.84-1 Debian:11.2/stable [armhf])
Inst libcrypt-dev (1:4.4.18-4 Debian:11.2/stable [armhf])
Inst libtirpc-dev (1.3.1-1 Debian:11.2/stable [armhf])
Inst libnsl-dev (1.3.0-2 Debian:11.2/stable [armhf])
Inst libc6-dev (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Inst libstdc++-10-dev (10.2.1-6 Debian:11.2/stable [armhf])
Inst g++-10 (10.2.1-6 Debian:11.2/stable [armhf])
Inst g++ (4:10.2.1-1 Debian:11.2/stable [armhf])
Inst build-essential (12.9 Debian:11.2/stable [armhf])
Inst libgd3 (2.3.0-2 Debian:11.2/stable [armhf])
Inst libc-devtools (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Conf libc-dev-bin (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Conf linux-libc-dev (5.10.84-1 Debian:11.2/stable [armhf])
Conf libcrypt-dev (1:4.4.18-4 Debian:11.2/stable [armhf])
Conf libtirpc-dev (1.3.1-1 Debian:11.2/stable [armhf])
Conf libnsl-dev (1.3.0-2 Debian:11.2/stable [armhf])
Conf libc6-dev (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Conf libstdc++-10-dev (10.2.1-6 Debian:11.2/stable [armhf])
Conf g++-10 (10.2.1-6 Debian:11.2/stable [armhf])
Conf g++ (4:10.2.1-1 Debian:11.2/stable [armhf])
Conf build-essential (12.9 Debian:11.2/stable [armhf])
Conf libgd3 (2.3.0-2 Debian:11.2/stable [armhf])
Conf libc-devtools (2.31-13+deb11u2 Debian:11.2/stable [armhf])
Although my ikiwiki blog is backed up via git
(so I could restore the blog if I nuked the Freedombox), I’d like some reassurance that running the commands @nbenedek won’t wipe the contents of /var/lib/ikiwiki
.
Any ideas?
Information
-
FreedomBox version: Debian GNU/Linux 11 (bullseye) and FreedomBox version 21.16.
-
Hardware: Pioneer-Freedombox-HSK
-
How did you install FreedomBox?: Probably installing the Freedombox Stable iso from here onto an SD card several years ago.