BlackBoard » Computerecke » Betriebssysteme » Linux library mit configure bauen - version für abhängigkeiten übergeben » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen library mit configure bauen - version für abhängigkeiten übergeben
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

library mit configure bauen - version für abhängigkeiten übergeben       Zum Anfang der Seite springen

Hi,

ich hab gerade folgendes Problem:
Ich habe ein Programm geschrieben, welches nun auch läuft.
Allerdings ist auf dem Server nur die libstdc++.so.5, auf meinem
System allerdings die version 6 schon installiert, da es ein knoppix
ist, kann ich da nicht viel ändern. Ich würde auch ungern auf dem Server
die Sache kompilieren, das ist die letzte Möglichkeit die ich in betracht ziehe.

das eigentliche Programm konnte ich schon gegen die 5er version linken,
allerdings linkt die lib immer noch gegen 6. Nun stelle ich mir die Frage,
ob wenn ich die lib neu baue, ich über configure irgendwie sagen kann,
das er die 5er nehmen soll und nicht die 6er.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
16.05.2006 09:35 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

      Zum Anfang der Seite springen

Du kannst beim Linken auch den kompletten Namen angeben.
Also -l/usr/lib/..../libstdc++.so.5 statt einfach -llibstdc++.
Evtl. auch ohne -l. Vielleicht hast du sogar statische (.a) stdc++ libs da, dann kannst du sie wie eine Objekt-Datei mit reinschreiben.

Habs selbst wohl noch nie probiert.

Ein entsprechender configure.ac-code saehe dann wohl so aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
AC_ARG_WITH([stdc++],
                        AC_HELP_STRING([--with-stdc++=/path/to/libstdc++],
                            [force linking against this libstdc++]),
             [STDCCLINK="$withval"],
             [STDCCLINK="-lstdc++"]
                        )
AC_SUBST(STDCCLINK)


Und in der Makefile.am:
code:
1:
targetname_LDADD = $(STDCCLINK)

Mit targetname = Name des Ziels beim Linken.

UPS - hab grad gemerkt, dass ich deine Frage nicht ganz richtig verstanden habe Augen rollen
Was spricht denn dagegen auf dem Server zu kompilieren?

Ansonsten probier mal LDFLAGS="/usr/lib/..../libstdc++.so.5" ./configure && make

__________________
vescere bracis meis

16.05.2006 11:24 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Also was dagegen spricht ist z.b. das es einfach nicht so gut ist,
auf Production servern zu kompilieren bzw. zu entwickeln.
Von daher die Idee es anders zu bauen, und dann auszurollen.
Ich werd mal in das entsprechende configute script schauen,
und es gegebenenfalls anpassen, aber evtl. bau ich es auch
einfach auf dem Productionserver, die Sache soll möglichst schnell gehen...

was statisches Linken angeht, das geht mit C++ leider bei dieser Library
nicht so gut: http://www.trilithium.com/johan/2005/06/static-libstdc/

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
16.05.2006 13:07 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Also die Sache läuft immer noch nicht, aber ich bin schon mal was weiter gekommen...
Mittlerweile hab ich ein knoppix mit einer entsprechenden Umgebung (also nur vers.5)
aber auch dort habe ich bisher probleme die anwendung zu kompilieren...

Jetzt hatte ich noch eine Idee, welche ich unter Windows z.b. wohl machen könnte:
Einfach die .so datei ins Programmverzeichnis. Findet linux die dann?

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
17.05.2006 19:25 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

      Zum Anfang der Seite springen

Mit -L. vielleicht.
Das andere Problem ist, dass die Anwendung beim Starten die so-Datei auch finden muss.
Dafuer muss sie im ld.so.cache erfasst sein. Dazu muss das Verzeichnis in der /etc/ld.so.conf stehen und zum Updaten muss ldconfig ausgefuehrt werden.

__________________
vescere bracis meis

17.05.2006 22:52 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

naja, ich hab jetzt ein paar tage probiert, und es kompiliert nicht
wirklich unter Knoppix 3.8.2 (Linker Fehler)

Da aber nicht mehr allzu viel Zeit im Projekt ist, werd ich jetzt einfach
die 6 er version erstmal auf den Server tun, ist ja kein Beinbruch.
Die läuft dann hoffentlich... großes Grinsen

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
18.05.2006 08:53 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Computerecke » Betriebssysteme » Linux library mit configure bauen - version für abhängigkeiten übergeben

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH