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.

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

Share this on → Mastodon Twitter LinkedIn Reddit

A selected list of related posts that you might enjoy:

Written by Henry J Schmale on 2022 January 27
Hit Counter