[Evergreen-general] libdbi PostgreSQL driver not found in shared library path

Blake Graham-Henderson blake at mobiusconsortium.org
Sat Nov 2 17:07:35 EDT 2024


Dashamir,

I sympathize with you. Evergreen isn't the easiest thing to install. 
It's a tall stack of cards starting with Linux at the bottom, then an 
ecosystem of Perl modules, then PostgreSQL, then Ejabberd, then a thing 
called OpenSRF, and finally Evergreen atop all of that. Then sprinkle 
Apache over that and reverse proxy NGINX around Apache. The install 
steps will get you there but you have to pay close attention to which 
user you're running each command as. Some are root, some are opensrf and 
some are "user". Each step is important.

If you're just curious about how Evergreen operates and you want to get 
a test server up and running, you can enable easy mode and start the 
pre-built docker container like this:

docker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 5433:5432 
-h app.evergreen.com mobiusoffice/evergreen-ils

Wait 7 minutes, and it's ready for you to connect.

Yes: it supports the latest version of Evergreen. We have published a 
container that comes with 3.14.0.

If you're interested in the build process, and you would like to build 
your own docker container, then you can clone the git repository that we 
use to build the containers and play with the build. If you would like 
to build a different version of Evergreen, you'll want to edit the 
vars.yml file and set the version number. Some versions of Evergreen 
require different operating systems. If you go too far back, you'll want 
to change the operating system that is used to build the container by 
editing the Dockerfile.

Unfortunately, you've arrived at a moment when this bug is plaguing our 
docker builds:

https://bugs.launchpad.net/evergreen/+bug/2086480

Luckily, it's easy to fix, but if you are going to build your own 
container, you'll need to know about that issue, because your resulting 
container will be broken without the fix. You can edit vars.yml and 
introduce the patch like this:

change this line:
Evergreen_cherry_picks: []

to this:
Evergreen_cherry_picks: ['0311de0825084499642407f09e08f63a93b46e6f']


Of course, these containers aren't for production use. Mostly because 
the PostgreSQL database is embedded. For production, you're going to 
need to have a PostgreSQL server setup separate from your application 
server(s) or at the very least, not in the docker container. Because of 
longevity and backup reasons, you'll want that database to be preserved 
and not lost when the container stops.

Building a container that connects to an external PostgreSQL server 
require some small tweaks to the "generic-dockerhub" build.

These variables:

   database_host: localhost
   database_database: evergreen
   database_port: 5432
   database_user: evergreen
   database_password: databasepassword

will need to be changed to fit your external PostgreSQL server.

And, you're going to need to manually edit the install_evergreen.yml 
ansible playbook so that it doesn't* install PostgreSQL and* it doesn't 
install the Evergreen database. This is important because If you forget 
to delete portion of the install playbook that installs the Evergreen 
database, it's possible that the container will delete and recreate your 
database on your PostgreSQL server.

All of the above is docker-specific information. I only went into such 
detail because it seemed like you were interested in that path.

Aside from using docker, you can install Evergreen onto a VM using other 
methods: 
https://wiki.evergreen-ils.org/doku.php?id=server_installation:semi_automated 


Specifically this one: 
https://github.com/berick/evergreen-ansible-installer/tree/ubuntu-22.04

That repository should get a bare Linux OS setup for you without much 
fuss. Though, you'll need to switch to Ubuntu instead of Debian 
Bookworm, because Ubuntu 22.04 is one of the assumptions of that setup.


Another thing I'd like to mention: community demo servers are available 
here:

https://wiki.evergreen-ils.org/doku.php?id=community_servers


Hopefully someday soon, we can make more of these things obvious from 
our website. I understand that our wiki makes some of these important 
pieces of information hard to find!

And in case you didn't find our documentation, it's here: 
https://docs.evergreen-ils.org

-Blake-
Conducting Magic
Will consume any data format
MOBIUS



On 11/2/2024 10:24 AM, Dashamir Hoxha wrote:
> On Sat, Nov 2, 2024 at 1:01 AM Blake Graham-Henderson via 
> Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>
>     Dashamir,
>
>     Responding to your IRC comments. Have you taken a look at the
>     docker build stuff that we have on github?
>
>
> Dear Blake, thanks for your reply. And also thanks for responding by 
> email (I prefer email communication versus IRC).
>
>     https://github.com/mcoia/eg-docker
>
>     And the docker images that are pre-built available on dockerhub:
>
>     https://hub.docker.com/r/mobiusoffice/evergreen-ils
>
>
>     This might also be of interest:
>
>     https://wiki.evergreen-ils.org/doku.php?id=newdevs:testserver
>
>     Feel free to copy anything from these repos and plug it into your
>     repo.
>
>
> I didn't know about this stuff. If I knew, I could have tried to use 
> your docker images instead of trying to build mine. Does it support 
> the latest stable release of EG (have you tried it)?
>
> Anyway, I had a quick look at the GitHub repo, and it is difficult for 
> me to figure out from it what is wrong in my installation. It is 
> basically bash code, embedded into ansible yaml code, executed inside 
> a docker container (3 levels of complexity). I also have to admit that 
> I am not quite familiar with ansible.
>
> In any case, the installation instructions of EG (long and complex as 
> they are) are easier for me to understand.
> So, if I follow them but I am still not able to make it work, it means 
> that:
> - they are not as clear and precise and they should be
> - there is some issue (maybe very small) with the latest stable 
> release (I have not tried the previous releases)
> - I am missing something or I am doing something wrong
>
> If someone could help me (in an online meeting, in an interactive 
> session) to debug my installation and figure out what I am doing 
> wrong, this would be the easiest thing for me.
>
> Anyway, for the time being I am looking at Koha, which seems to be 
> easier to install and has less instructions. If I fail, I will look 
> maybe at some thind option (I don't know yet what this might be), or 
> come back and give another try to EG.
>
> In any case, thanks for your help.
>
> Sincerely,
> Dashamir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/evergreen-general/attachments/20241102/3bfa0e4c/attachment.htm>


More information about the Evergreen-general mailing list