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

Blake Graham-Henderson blake at mobiusconsortium.org
Sun Nov 3 13:36:45 EST 2024


Dashamir,

We do have the PostgreSQL standalone setup in our install server 
documentation:

https://evergreen-ils.org/documentation/install/README_3_14.html#creating_the_evergreen_database

That command will install all of the stuff needed for a standalone 
PostgreSQL server. Keep in mind that PostreSQL 13 is the minimum version 
required for Evergreen 3.14.

Let us know if you encounter a specific error, and maybe we can 
troubleshoot that. I hope you get it setup and working! We're a fun 
community of developers and librarians alike, and your suggestions and 
improvements are very much welcome!

P.S. I updated our docker build repo yesterday to include that git 
cherry pick, in case you were confused to find it already there. I plan 
on removing it once the issue is resolved either in our Evergreen 
install process or by the Module::Pluggable Perl project.

-Blake-
Conducting Magic
Will consume any data format
MOBIUS



On 11/3/2024 11:08 AM, Dashamir Hoxha wrote:
> Dear Blake, thanks a lot for sharing this detailed information.
> Whichever path I take, I will find some part of it useful. For 
> example, using a cherry-pick to patch the code is something that I 
> would have never been able to find by myself, and it would have been a 
> source of frustration.
>
> I will certainly give a try to the demo docker image. However, using 
> an external PostgreSQL is not that simple. I have already tried it. I 
> have a PostgreSQL container that I use as an external DB for the apps 
> that I install. It tried to use it as an external DB for EG, and I 
> noticed that it required some additional packages or modules that I 
> had not installed. I don't remember right now what they were. It is 
> not a big deal, but it is something that needs to be documented and 
> people should be told about it.
>
> I managed to find your Antora based documentation. I am a big fan of 
> Antora and I use it myself for documentation purposes. My suggestion 
> would be to get rid of the wiki pages and migrate all the doc pages to 
> Antora. Antora can also function as a kind of wiki, if it is set up 
> properly. For example I use it with GitLab pages, as described here: 
> https://docker-scripts.gitlab.io/howto/working-with-docs.html
>
> Best regards,
> Dashamir
>
>
> On Sat, Nov 2, 2024 at 10:07 PM Blake Graham-Henderson 
> <blake at mobiusconsortium.org> wrote:
>
>     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 <http://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/20241103/606cf461/attachment-0001.htm>


More information about the Evergreen-general mailing list