Probleme beim linken

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von weinford, 21.03.2004.

  1. weinford

    weinford Thread Starter MacUser Mitglied

    Beiträge:
    390
    Zustimmungen:
    0
    MacUser seit:
    24.01.2004
    Moin, früher hatte ich immer mit den Rechten Probleme (wegen meiner langen Haare), heute klappts nicht mit dem Linken (von Programmen) ;)

    Aaaalso,
    ich versuche schon seit geraumer Zeit, das Programm SIM unter OSX zum Laufen zu bringen. Das ist ein Multiprotocol ICQ/AIM/MSN-Clone, den ich mit großer Freude schon unter Linux und Windows benutzt habe. Das Ding benutzt QT als GUI-Bibliothek. Auf ihrer Homepage http://sim-icq.sf.net behaupten die Enbtwickler auch, daß das Programm unter OSX läuft, allein ich schaffe es nicht, es zum Laufen zu bekommen (weder den 0.9.2er release, noch das aktuelle CVS).

    Nach einigem Tweaken (eines der plugins aus dem makefile entfernt, weil das nicht richtig kompilierte, und das hinzufügen von .dylib als extension für dynamische Libraries in ./libtool, siehe sim-Foren) habe ich es geschafft, daß make durchläuft, aber wenn ich das Programm dann starten will, behauptet es:


    baier@pubber:~/cvs/sim $ sim
    17:40:09 [ERR] Can't access /usr/local/lib/sim or directory contains no plugins!
    baier@pubber:~/cvs/sim $


    Das Verzeichnis gibt es aber, und lesbar ist es auch, und lauter *.a Dateien sind auch drin, mit namen der plugins. Allerdings gibts sowohl bei make als auch bei make install schon Fehlermeldungen und Warnungen:


    *** Warning: This system can not link to static lib archive ../../sim/api/libsimapi.la.
    *** I have the capability to make that library automatically link in when
    *** you link to this library. But I can only do this if you have a
    *** shared version of the library, which you do not appear to have.
    *** But as you try to build a module library, libtool will still create
    *** a static module, that should work as long as the dlopening application
    *** is linked with the -dlopen flag to resolve symbols at runtime.


    und dann


    ranlib: file: .libs/__homedir.a(__homedir_la_meta_unload.o) has no symbols

    , die ranlib Meldung gitbs bei make install dann wieder.

    Ich werd da leider nicht schlau draus. Unter Linux hatte ich solche Probleme nie.

    Fragen:
    Was ist die dlopening application, und wie kann ich sie mit -dlopen linken? Wie kann ich ../../sim/api/libsimapi.la dynamisch erstellen, wenn ich ./configure --enable-shared angebe, passiert auch nichts anderes. Hat das ganze was mit prebinding zu tun, muß ich da noch irgendeinen Prozeß anschmeissen?

    Jede Hilfe ist willkommen =)

    Grüße,
    Toby

    EDIT: Die warnings gibt es bei jedem Plugin, das kompiliert wird, nicht nur bei __homedir.
     
    Zuletzt bearbeitet: 21.03.2004
  2. YoEddi

    YoEddi MacUser Mitglied

    Beiträge:
    907
    Zustimmungen:
    0
    MacUser seit:
    19.03.2003
    servus!

    ganz blöde frage..... hast du fink und dann mit fink qt instaliert? die pfadangaben in deiner fehlermeldung passen nämlich nicht zu fink...

    cheers
     
  3. weinford

    weinford Thread Starter MacUser Mitglied

    Beiträge:
    390
    Zustimmungen:
    0
    MacUser seit:
    24.01.2004
    ach ja, das hab ich noch vergessen zu schreiben: ich hab schon verschiedene konfigurationen gehabt: qt aus dem kde.opendarwin.org Projekt, libxslt aus fink... letztendlich hat mir das alles nicht gefallen, und nun habe ich sowohl QT als auch alle anderen libs (expat, asblot, xslt und so weiter) selbst runtergeladen und in /usr installiert.
     
  4. YoEddi

    YoEddi MacUser Mitglied

    Beiträge:
    907
    Zustimmungen:
    0
    MacUser seit:
    19.03.2003
    ich habe SIM selber nie probiert, ich bin nur deshalb drauf gekommen, weil auf der homepage fink explizit erwähnt wird.
    das einzig, ganz triviale, was mir noch einfällt, ist das du das x11 terminal benutzen musst und nicht das "normale" aber ich vermute mal, das hast du :).
    sonst bin ich leider vollkommen überfragt.

    cheers
     
  5. weinford

    weinford Thread Starter MacUser Mitglied

    Beiträge:
    390
    Zustimmungen:
    0
    MacUser seit:
    24.01.2004
    Neee, ich hab kein X11 benutzt, will ich auch nicht. X11 braucht man für grafische Fink-Programme (gimp und so), aber ich benutze ja eben nicht QT aus Fink (welches dann X11 bräuchte), sondern das native Qt/mac, welches dann nicht X11 sondern Cocoa nutzen würde. Sieht dann ja auch besser aus =)
     
  6. YoEddi

    YoEddi MacUser Mitglied

    Beiträge:
    907
    Zustimmungen:
    0
    MacUser seit:
    19.03.2003
    sicher das das geht? wenn ich die homepage richtig verstehe braucht es x11. x11 braucht man für alle x11 programme, nicht nur für die fink pakete.
    hast du schon mal versucht, ob es mit fink und x11 läuft?

    cheers
     
  7. weinford

    weinford Thread Starter MacUser Mitglied

    Beiträge:
    390
    Zustimmungen:
    0
    MacUser seit:
    24.01.2004
    Klar braucht man X11 für alle X11-Programme, aber in diesem Fall ist SIM kein X11 Programm sondern ein reines QT-Programm. Und bei QT/mac sind weitere QT-Programme dabei, kleine Demos, die gehen auch ohne X11.
    Klar hab ichs mit X11 probiert, und ja, ich hatte auch schon diverse Fink libs eingebunden, ändert aber an der Problematik nichts (die linkt ja beim linken / binden, nicht bei der grafischen Ausgabe)

    Trotzdem Danke für die Hilfe =)
     
Die Seite wird geladen...