Problem mit _func_name $UNIX2003

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit _func_name $UNIX2003

    Hallo,

    ich bin Entwickler eines cross platform tools.
    Die Mac Version entwickel ich auf nem 10.5.2er MacOS.

    Nun bekam ich eine Mail von einem user mit MacOS 10.4.11 mit folgendem crash-report:

    Link (dyld) error:
    Symbol not found: _pthread_rwlock_init$UNIX2003
    Referenced from: /Applications/butt.app/Contents/MacOS/butt
    Expected in: /usr/lib/libSystem.B.dylib

    Nach ein wenig Suchen im internet, habe ich erfahren,
    dass es die Funktionen mit $UNIX2003 Anhang auch noch ohne gibt.

    Bei jemand anderem mit MacOS 10.4.11 läufts aber ohne Probleme.
    Es sieht also so aus, als würde beim 1. Fall das System die Funktionen
    mit dem $UNIX2003 Anhang nicht kennen.

    Da wären nun zwei Möglichkeiten.
    Man müsste entweder dem System wo das Problem auftritt beibringen,
    wo es die $UNIX2003 Funktionen findet, oder ich ich muss dafür sorgen,
    dass mein Programm die "normalen" Funktionen verwendet.

    Nun soll man angeblich mit #define _NONSTD_SOURCE 1 bewirken können,
    dass er nicht die $UNIX2003 Funktionen sondern die normalen nimmt.
    Ich habe es mit dem #define versucht und ebenfalls dem gcc
    über die Befehlszeile -D_NOSTD_SOURCE mit übergeben.
    Jedoch kann ich mit "nm ./butt |grep pthread_rwlock_init" immernoch
    die $UNIX2003er version sehen :(

    Hat von euch vielleicht jemand eine Idee wie man das lösen könnte?

    Danke und Grüße,
    bip