My notes on what packages I absolutely need to install to maintain this site.
2022 January 27

I recently got a new laptop and decided to move to Manjaro, an Arch Linux derivative. I had some frustration with setting it up, and getting the tools I need to maintain this website installed. Documented below are the steps I took to solve it.

This site is powered by Jekyll, and to maintain it I need to install a couple of ruby packages. I was having a great deal of difficulty figuring out what packages exactly what packages I needed.

Beginning with the first steps, I got ruby gems installed from the official repositories, and installed the bundler plugin via gem. I also added the local ruby gems stuff to my path.

sudo pacman -S rubygems
gem install bundler
export PATH=$PATH:~/.local/share/gem/ruby/3.0.0/bin

I then tried to install my needed jekyll packages via bundle install. However I got a lot of errors of the form:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /home/hschmale/myblog/_vendor/bundle/ruby/3.0.0/gems/sqlite3-1.4.2/ext/sqlite3
/usr/bin/ruby -I /usr/lib/ruby/site_ruby/3.0.0 -r ./siteconf20220127-16049-l414ny.rb extconf.rb
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for rb_integer_pack()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... yes
checking for sqlite3_load_extension()... yes
checking for sqlite3_open_v2()... yes
checking for sqlite3_prepare_v2()... yes
checking for sqlite3_int64 in sqlite3.h... yes
checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

current directory: /home/hschmale/myblog/_vendor/bundle/ruby/3.0.0/gems/sqlite3-1.4.2/ext/sqlite3
make DESTDIR\= clean
current directory: /home/hschmale/myblog/_vendor/bundle/ruby/3.0.0/gems/sqlite3-1.4.2/ext/sqlite3
make DESTDIR\=
make failedNo such file or directory - make

This error was caused by make not being installed, which I find a little weird because Arch has the AUR, and a lot of those things require make.

There were a couple of other errors but they were resolved via these package installations. I also needed libvips for some image resizing tasks.

sudo pacman -S make patch libvips fakeroot pkgconfig openssl-1.0

I also needed to install a couple other packages for some other parts my build like for the various typescript projects, and things that are deployed to aws. I also have some pytest tools that I use to test that my site hasn’t been broken by environment updates on my shared hosting.

sudo pacman -S nodejs npm python-pip aws-cli
npm install -g typescript 
pip3 install pytest boto3

A lot of the little python projects I have here don’t use virtualenvs cause they don’t have strict dependencies. This experience has also convinced me to use set -e at the top of my deploy scripts, so that the deploy script stops after the missing command.

Written by Henry J Schmale on 2022 January 27
Hit Counter

Remember you can also subscribe using RSS at the top of the page!

Share this on → Mastodon Twitter LinkedIn Reddit