Author: drfugazi

BerkeleyDB upgrade

During switching LDAP directory to new environment with newer version of OpenLDAP (2.4.25) and new BerkeleyDB (5.1.25), I received following error message:


Program version 5.1 doesn't match environment version 4.7
database ... cannot be opened, err -30969. Restore from backup!
bdb(...): txn_checkpoint interface requires an environment configured for the transaction subsystem
bdb_db_close: database "...": txn_checkpoint failed: Invalid argument (22).
backend_startup_one (type=hdb, suffix="..."): bi_db_open failed! (-30969)
bdb_db_close: database "...": alock_close failed

This means that you need to upgrade BerkeleyDB. Because this is not OpenLDAP specific, but rather BerkeleyDB specific, I decided to describe how to fix this issue. First of all let’s make a backup:

syslog-ng-3.1.2

Syslog-NG to ulepszony system zbierania i zarządzania logami systemowymi. Potrafi zbierać logi z różnych źródeł, przez udp i tcp i zapisywać je w różnych formatach i miejscach (pliki, bazy danych itp.).

glib-2.28.7

GLib jest mi potrzebne do kompilacji i uruchomienia oprogramowania Syslog-ng.

Poniżej zapis sesji konfiguracji i kompilacji GLib 2.28.7. Skrypt w załączniku.

syslog-ng-3.2.4

Syslog-NG to ulepszony system zbierania i zarządzania logami systemowymi. Potrafi zbierać logi z różnych źródeł, przez udp i tcp i zapisywać je w różnych formatach i miejscach (pliki, bazy danych itp.).

Poniżej zapis sesji konfiguracji i kompilacji Syslog-ng 3.2.4. Skrypt w załączeniu.

eventlog-0.2.12

Eventlog jest potrzebny do instalacji Syslog-ng. Poniżej znajduje się zapis sesji kompilacji Eventlog 0.2.12. Skrypt w załączeniu.

OpenLDAP-2.4.25

OpenLDAP jest implementacją open source protokołu Lightweight Directory Access Protocol.


soft@wega:~/openldap% ./drf_openldap-2.4.25_conf 
cc: Sun C 5.10 SunOS_sparc 2009/06/03
usage: cc [ options] files.  Use 'cc -flags' for details
MANPATH=/usr/local/share/man:/usr/local/man:/usr/share/man
PATH=/usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin
CFLAGS=-fast -xautopar
CPPFLAGS=-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.5.1/include -I/usr/local/include
CXXFLAGS=-fast -xautopar
LDFLAGS=-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/BerkeleyDB.5.1/lib -R/usr/local/BerkeleyDB.5.1/lib -L/usr/local/lib -R/usr/local/lib
=============================================
dmake clean [y|n] ?
n

pkg-config-0.25

pkg-config jest narzędziem wspomagającym kompilowanie aplikacji i bibliotek. Pomaga wstawić odpowiednie opcje kompilatora do linii poleceń, więc aplikacja może użyć np. gcc -o test test.c `pkg-config --libs --cflags glib-2.0` zamiast sztywno wstawiać ścieżkę do lokalizacji gdzie można znaleźć glib (lub inne biblioteki). Program jest elastyczny, więc może również służyć do definiowania lokalizacji dokumentacji na przykład.

mysql-5.1.57

MySQL Community Edition jest bezpłatną wersją najpopularniejszego na świecie serwera baz danych, wspieraną przez aktywną społeczność developerów i entuzjastów open source.

Kompiluję najnowszą wersję z gałęzi 5.1, pomimo że dostępna jest już stabilna wersja 5.5 i rozwojowa 5.6. Wynika to z tego, że obecnie używamy wersji z gałęzi 5.0, a instrukcja upgradeu przewiduje stopniowe podnoszenie wersji, czyli najpierw do 5.1 a dopiero później do 5.5.

BerkeleyDB-5.1.25

Oracle Berkeley DB jest wiodącym, osadzalnym silnikiem przestrzeni, która zapewnia developerom szybką, niezawodną, lokalną bazę danych bez potrzeby administracji. Oracle Berkeley DB jest biblioteką, którą można włączyć bezpośrednio do aplikacji. Aplikacja tworzy proste wywołania funkcji zamiast wysyłać zapytania do zdalnego serwera, eliminując narzuty wydajnościowe architektur klient-serwer.

coreutils-8.12

GNU Core Utilities jest pakietem podstawowych narzędzi manipulacji plikami, powłoką i tekstem dla systemów operacyjnych GNU. W Solarisie też się przydają.

Zapis sesji konfiguracji i kompilacji poniżej, skrypt w załączniku.