Re: Accounting for SHELL in ./configure

Mohammad Akhlaghi <[email protected]> Thu, 2 May 2024 15:57:09 +0200
Newsgroups gmane.comp.fonts.freetype.devel
Message-ID <[email protected]>
Dear Alexei, Werner and Hin-Tak,

Thank you for the comments; I appreciate the prompt replies :-).

> There is this peculiar autogen.sh to be run initially... Still fails? How?

I had indeed read the README, but it had only instructed using 
'autogen.sh' when "... building a git snapshot or checkout, *not* if you 
grabbed the sources of an official release."

Since I had got the tarball as an official release (not from a Git 
snapshot), I followed the instructions and ignored this step.

> Please describe your setup carefully before jumping to quick solutions.

The problem occurred on an Arch GNU/Linux, and the '/bin/sh --version' 
is GNU Bash 5.2.26 and I installed FreeType 2.11.0. After checking the 
Git repository and noticing that my particular problem occurred there 
also, I linked the Git repository instead of the details of the tarball 
I downloaded. But you are right, I should have given more details on the 
circumstances; sorry about that.

> ... nor have you shown any output of the failure. And what do you 
> mean with a 'faulty shell', mentioned in a previous e-mail?

The libraries in '/usr/lib' have conflicts with some of my other 
software, so I have replaced that with my custom environment in 
'LD_LIBRARY_PATH'. However, '/bin/sh' needs to link with the readline 
library in '/usr/lib' to run. As a result, any time '/bin/sh' is run, it 
will fail with a linking error.

Because of this, I need to set the 'SHELL' environment variable so the 
programs do not build with '/bin/sh', but use my custom shell (that I 
have also built from source in my custom directory: I do not have root 
permissions on this computer).

To avoid hard-coded statements like '#!/bin/sh', before 
'./configure'-ing the source codes, I first run a 'sed' and replace it 
with my custom shell. This process has worked on +100 of software 
packages that I am building from source for my project (which uses 
https://maneage.org). Only a handful of packages needed some special 
tweaking/hacks like this one with GNUMAKE in FreeType.

I am very sorry again for not being too clear in my first comment and 
thanks again for the prompt replies :-).

Cheers,
Mohammad