*g*, den Fehler hatte ich auch als ich via GLUT den Accumulation buffer testen wollte .
Bin Kein Linux Guru, so wie ich das verstehe ist "libglut.so" die eigentliche lib das ".3" ist dann eine Unterversion.
Ich würde erwarten dass das System immer die neueste auf "libglut.so" linkt, wenn ein User wissen will ob das mindestens .3 ist würde ich erwarten, dass es ne "get Version" funktion gibt die er dann prüfen kann.
=> aus meiner Sicht also ein Bug, ich würde es melden. Wenn der Bearbeiter das anders sieht, wird er dir den Bug dann schon entsprechend ablehnen
Das ist kein Bug, sondern die Versionierungsstrategie von Linux Systemen um die DLL-Hell die es z.B. unter Windows gibt zu umgehen. Anstelle einfach unversionierte Bibliotheken zu linken und dann in der Softwaredistribution die richtige Version mitzuliefern (was unter Windows dazu führt das jedes Program mehrere DLLs im installationsordner hat, und jede Bibliothek 15 mal installiert wird), werden alle Bibliotheken Zentral installiert und über den Namen versioniert.
Neben den Versionierten installationen gibt es dann auch noch die Developer Packages, sowas wie libglut-devel oder so. Diese installationen enthalten die C/C++ header für die *neuste* verfügbare version, und erstellen einen Symlink von dieser Version auf eine unversionierten namen, also libglut.so.
D.h. diese "libglut.so" sollte nur auf Entwicklungssystemen vorhanden sein, und sollte nur für Entwicklungszwecke benutzt werden. Sobald man seine Software entwickelt hat, sollte man die Version festsetzen und dann die Versionierten Bibliotheken laden.
Deshalb ist in dem Lazarus package eine Versionierte bibliothek referenziert. Es ist die Version für die das Package entwickelt wurde, wo die Entwickler des Packages praktisch für sagen "das läuft im Rahmen meiner Entwicklung so wie erwartet" (modulo bugs und Fehler natürlich).
Wenn diese Version fehlt ist die Lösung nicht die Versionsnummer im Package anzupassen, sondern die Version der Bibliothek zu installieren.
Bei dem .3 handelt es sich aber um die Major version, die neuste GLUT version ist glaube ich 3.2 was eine Unterversion von 3 ist. D.h. der einfachste weg das zu fixen ist ein Symlink in /usr/local/lib zu erzeugen von libglut.so.3.2 auf libglut.so.3. Alternativ könntest du in dem Lazarus package die Versionsnummer auf 3.2 einschränken. Das geht wiederum weil du hierbei eine Einschränkung vornimmst. Während wenn dus auf libglut.so änderst es theoretisch gegen jede version binden könnte (e.g. libglut.so.2 oder wenns irgendwann rauskommt libglut.so.4) für die das package nie entwickelt wurde, ist auf 3.2 runter zu gehen eine Einschränkung, da das package sagt "ich funktioniere mit jeder major Version 3", was 3.2 einschließt. Das hat aber den Nachteil das die Minor versionen schneller out of date laufen.
Long story short, am besten ists einfach bei der Installation deiner Software den Symlink von libglut.so.3.x auf libglut.so.3 zu erstellen und an den Pascal sources nix zu ändern