weil "case sensitiv": neu formatieren > altest system?

U

urlaubsreif

Mitglied
Thread Starter
Dabei seit
17.11.2005
Beiträge
42
Reaktionspunkte
1
Hallo,

könnt ihr mir helfen?
Möchte Adobe CS2 benutzen, ließ sich auch installieren, aber dann nicht starten. Hab hier: Adobe CS2 Installationsprobleme gelesen, dass es daran liegen kann, dass die Platte mit "journaling FS case sensitive" formatiert wurde. Hab das bei einem Festplattenwechsel irgendwie ohne nachzudenken gemacht :mad: .

Was kann ich tun?

Meine Idee:

System sichern mit einem Backup Programm (welches? CCC, Superduper, iBackup? Welche sichern das System, dass ich es auf ein anderes Dateisystem spielen kann?) Platte Formatieren. Backup draufspielen.

Hab aber leider nur eine USB Festplatte. Kann ich da drauf zugreifen, wenn ich mit der Inst.DVD starte?
Wenn ich mir einen IDE zu Firewire Adapter besorge müsste das gehen, oder? Kostet halt 35 und ich brauch den sonst nicht.

Für die Backupprog muss ich die externe Festplatte auch in HFS+ formatieren oder? Welche können das ohne (mit FAT, weil Datenasutausch mit PC vorkommt)? also welche sichern in einen Ordner, nicht Image und kann ich dann überhaupt ein bootfähiges Backup machen?

Oder muss ich in irgendeiner Form das System neu installieren?
Und dann womöglich mit target computer die Daten holen?

Viele Fragen, aber bitte sagt mir was geht! Ist dringend.

gruß
urlaubsreif
 
urlaubsreif schrieb:
Möchte Adobe CS2 benutzen [...] Hab [...] gelesen, dass es daran liegen kann, dass die Platte mit "journaling FS case sensitive" formatiert wurde.

Bin wohl spät dran, deswegen erstmal die Frage: Ist das Problem noch aktuell? Falls ja: Photoshop läuft entgegen anderslautender Meldungen unter case-sensitive HFS, man muß nur ein wenig fixen.

Problematisch ist die teilweise falsche Namensgebung unter /Applications/Adobe\ Photoshop\ CS2/Adobe\ Photoshop\ CS2.app/Contents/Frameworks/ sowie bei einigen Plug-Ins, die bei case-insensitive HFS nicht auffällt.

Auf die Schliche kommst Du der Sache, wenn Du Dir ansiehst, gegen welche Libraries PhotoShop gelinkt wurde:

Code:
cd /Applications/Adobe\ Photoshop\ CS2/Adobe\ Photoshop\ CS2.app/Contents/MacOS
otool -L Adobe\ Photoshop\ CS2

Das gibt dann u.a.

Code:
Adobe Photoshop CS2:
[...]
@executable_path/../Frameworks/AdobeAXE8SharedExpat.framework/Versions/A/AdobeAXE8SharedExpat (compatibility version 0.0.0, current version 0.0.0)        
@executable_path/../Frameworks/AdobeAXE16SharedExpat.framework/Versions/A/AdobeAXE16SharedExpat (compatibility version 0.0.0, current version 0.0.0)

Diese mußt Du nun mit dem vergleichen, was Du in dem bezeichneten Pfad auf Platte findest. Beispielsweise gibt es statt AdobeAXE16SharedExpat.framework ein adobeaxe16sharedexpat.framework, also umbenennen. Auch Unterverzeichnisse und Links müssen abgeglichen werden, z.B. heißt es MacOS statt macos, Resources statt resources usw. Richtig ist das, was PhotoShop erwartet. Teilweise muß auch Kleinschreibung stehenbleiben, etwa bei ...Frameworks/versioncue.framework/Versions/a. Wie gesagt, die Ausgabe von otool -L gibt das Ziel vor.

Bei Bedarf kann ich mal eine Liste der korrekten Datei- und Verzeichnisnamen erstellen, den Abgleich mußt Du dann dennoch manuell machen, es erspart nur das Heraussuchen der richtigen Schreibweise.
 
Problem schon gelöst

dpr schrieb:
Bin wohl spät dran, deswegen erstmal die Frage: Ist das Problem noch aktuell? Falls ja: Photoshop läuft entgegen anderslautender Meldungen unter case-sensitive HFS, man muß nur ein wenig fixen.

Hallo dpr, mein Problem hab ich mit Backup, formatieren und zurückspielen gelöst. War aufwendig und langwierig, aber hat funktioniert.

Ich würde also jedem diesen Weg empfehlen. Es gibt ja wahrscheinlich immer irgendwelche Programme, die dafür nicht ausgelegt sind. Fehler hatte ich auch bei einigen Widgets.

Oder gibt es zwingende Gründe, oder große Vorteile von case sensitive?

Danke auf jeden Fall für die Hinweise
urlaubsreif
 
urlaubsreif schrieb:
Es gibt ja wahrscheinlich immer irgendwelche Programme, die dafür nicht ausgelegt sind.
Ich habe, außer mit Photoshop, keine weiteren Probleme gehabt. Den Problemkindern kann man mit Bordmitteln (otool, strings auf das Binary, notfalls ktrace) auf die Schliche kommen, bis die jeweiligen Entwickler irgendwann auch erkennen, daß Mac nicht zwangsläufig case-insensitive impliziert.

Oder gibt es zwingende Gründe, oder große Vorteile von case sensitive?
Der Vorteil von case-sensitive HFS ist, daß es case-sensitive ist :) Ein zwingender Grund zum Umsetzen des Filesystems ist das wahrscheinlich nicht; ob es vorteilhaft ist, wird jeder selbst einschätzen müssen.

Ich für meinen Teil arbeite hier größtenteils auf Kommandozeile mit Mitteln die OS X mitbringt oder (hier per fink) portiert wurden. Die shell z.B. ist per se case-sensitive, d.h. z.B. LS (statt ls) funktioniert nicht. Ebenso ist die command completion case-sensitive, so daß es nur konsistent erscheint, wenn auch das Filesystem case-sensitive ist.

Eine andere Sache ist der Datenabgleich (oder -austausch) mit anderen UNIXen, deren gängige Filesysteme alle case-sensitive sind. Übernimmst Du z.B. ein Verzeichnis, in dem es MAKEFILE und Makefile gibt, wirst Du am Ende eines der beiden Files verloren haben: der letzte gewinnt.
 
Hat Adobe eigentlich mittlerweile ein Update raus gebracht welches diese Probleme mit "case sensitiv HFS" beseitigt? Weiss da jemand was? Die SuFu lässt mich leider im Stich.
 
wolf32 schrieb:
Hat Adobe eigentlich mittlerweile ein Update raus gebracht welches diese Probleme mit "case sensitiv HFS" beseitigt?

CS3 beta ist da, ob es allerdings zum Thema "case sensitive" Verbesserungen gibt habe ich bislang nicht ausprobiert. Freiwillige?
 
also bei mir tut werder die cs 3 noch die cs 2. habe ein macbook 2ghz dual core
Macbook:/Applications/Adobe2.app/Contents/MacOS Markus$ ./Adobe2
dyld: Library not loaded: @executable_path/../Frameworks/AdobeAGM.framework/Versions/A/AdobeAGM
Referenced from: /Applications/Adobe2.app/Contents/MacOS/./Adobe2
Reason: image not found
 
Das kann ich ebenfalls bestätigen: CS3-beta hat genau dieselben Probleme mit 'case sensitiv HFS' wie CS2. Nach umkopieren der Festplatte auf das 'normale' HFS ohne Groß/Kleinunterscheidung liefen sowohl CS2 als auch CS3-beta.
Ich finde das ganz schön peinlich für einen Konzern wie Adobe solch ein Anfängerproblem nicht in den Griff zu kriegen.
 
wolf32 schrieb:
Das kann ich ebenfalls bestätigen: CS3-beta hat genau dieselben Probleme mit 'case sensitiv HFS' wie CS2.
Danke fürs Ausprobieren. Also heißt es wieder fleißig umbenennen. So langsam weiß ich ja, wie es geht und wo der Hase läuft :)

Ich finde das ganz schön peinlich für einen Konzern wie Adobe solch ein Anfängerproblem nicht in den Griff zu kriegen.
Tja, da wird man wohl eine 0815-Installation von OS X machen, darauf testen und dann die Sache als "fertig" deklarieren. In dieselbe Kerbe schlagen Softwareentwicklungen, die nicht damit klarkommen, daß der geneigte Anwender eben nicht als admin unterwegs ist und damit auf die Nase fallen; Silkypix war auch so ein Kandidat.

Die Masse gibt wohl die Anforderungen vor und fährt case preserving HFS und ist als admin unterwegs...
 
dpr schrieb:
Problematisch ist die teilweise falsche Namensgebung unter /Applications/Adobe\ Photoshop\ CS2/Adobe\ Photoshop\ CS2.app/Contents/Frameworks/ sowie bei einigen Plug-Ins, die bei case-insensitive HFS nicht auffällt.

Auf die Schliche kommst Du der Sache, wenn Du Dir ansiehst, gegen welche Libraries PhotoShop gelinkt wurde:

Code:
cd /Applications/Adobe\ Photoshop\ CS2/Adobe\ Photoshop\ CS2.app/Contents/MacOS
otool -L Adobe\ Photoshop\ CS2

Das gibt dann u.a.

Code:
Adobe Photoshop CS2:
[...]
@executable_path/../Frameworks/AdobeAXE8SharedExpat.framework/Versions/A/AdobeAXE8SharedExpat (compatibility version 0.0.0, current version 0.0.0)        
@executable_path/../Frameworks/AdobeAXE16SharedExpat.framework/Versions/A/AdobeAXE16SharedExpat (compatibility version 0.0.0, current version 0.0.0)

Diese mußt Du nun mit dem vergleichen, was Du in dem bezeichneten Pfad auf Platte findest. Beispielsweise gibt es statt AdobeAXE16SharedExpat.framework ein adobeaxe16sharedexpat.framework, also umbenennen. Auch Unterverzeichnisse und Links müssen abgeglichen werden, z.B. heißt es MacOS statt macos, Resources statt resources usw. Richtig ist das, was PhotoShop erwartet. Teilweise muß auch Kleinschreibung stehenbleiben, etwa bei ...Frameworks/versioncue.framework/Versions/a. Wie gesagt, die Ausgabe von otool -L gibt das Ziel vor.

könnte das jemand für einen normalsterblichen übersetzen bzw. den vorgang für cs3 erklären? ich versteh kein wort davon.
vor allem, was ist otool??
 
MaddraX schrieb:
könnte das jemand für einen normalsterblichen übersetzen bzw. den vorgang für cs3 erklären? ich versteh kein wort davon.
Der Vorgang ist für jede Software identisch: Du siehst nach, ob die Schreibweise dessen, was die Software z.B. an shared libraries erwartet, mit dem übereinstimmt, was auf Platte vorliegt. Bei PS CS2 ist das u.a. bei den Frameworks nicht der Fall.

Wenn Du davon kein Wort verstehst, würde ich Dir raten, bei case preserving HFS zu bleiben. Hier ist Handarbeit gefragt; eine Automatisierung mit bunter Oberfläche gibt es nicht. Dazu kommt, daß Dir auch der Adobe Support nicht helfen wird, wenn Du denen erklärst, Du hättest ihr CS2 auf case sensitive HFS installiert; denn das ist offiziell eben nicht unterstützt.

vor allem, was ist otool??
Damit ermittelt man in diesem Fall, gegen welche shared libraries eine Software gelinkt ist. "man otool" sagt Dir auch
Code:
NAME
       otool - object file displaying tool

SYNOPSIS
       otool [ option ...  ] [ file ...  ]

DESCRIPTION
       The   otool  command  displays  specified  parts  of  object  files  or
       libraries.  If the, -m option is not used, the file arguments may be of
       the  form  libx.a(foo.o), to request information about only that object
       file and not the entire library.   (Typically  this  argument  must  be
       quoted,  ``libx.a(foo.o)'',  to  get  it past the shell.)  Otool under-
       stands both Mach-O (Mach object)  files  and  universal  file  formats.
       Otool can display the specified information in either its raw (numeric)
       form (without the -v flag), or in a symbolic form using macro names  of
       constants, etc. (with the -v or -V flag).
 
Zuletzt bearbeitet:
Mal was anderes: Eigentlich ist das doch totaler Pfusch, was Adobe da veranstaltet hat. Und nun sind sie anscheinend nicht mal in der Lage das auszubügeln.
 
maceis schrieb:
Eigentlich ist das doch totaler Pfusch, was Adobe da veranstaltet hat. Und nun sind sie anscheinend nicht mal in der Lage das auszubügeln.
Du sagst es.

http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=72&catid=626&threadid=1225524
http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=72&catid=626&threadid=1224402
http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=72&catid=626&threadid=1224141

"Ripe for The Programmer's Hall of Shame: still don't work, after many years!" Nur scheinbar interessiert es bei Adobe niemanden...
 
@dpr
das es dafür kein klicky-buntes-macosx fensterchen gibt was alles automisch ändert hätt ich jetzt fast selber vermutet

ich bin durchaus bereit handarbeit anzulegen nur kann ich deinen lösungsansatz in keinster weise nachvollziehen da auf meinem system kein otool existiert

Code:
-bash: otool: command not found
 
Vermutlich wir das nur mit den Developer Tools installiert, da das eigentlich nur Programmierer brauchen.

Toll nicht. Eben mal gut 1GB Software installieren, nur damit Photoshop läuft :ächz:
 
ah danke maceis, es waren sogar 1,5 GB ;)

aber eins versteh ich immer noch nicht
wo auf der platte finde ich diese sachen?
Code:
@executable_path/../Frameworks/AdobeAGM.framework/Versions/A/AdobeAGM (compatibility version 1.0.0, current version 1.0.0)
        @executable_path/../Frameworks/AdobeJP2K.framework/Versions/A/AdobeJP2K (compatibility version 0.0.0, current version 0.0.0
 
puh *schwitz*, so langsam steig ich dahinter. Nochmal danke für Deine Hilfe (hab Geduld mit mir, ich bin kein Unixer ;) ).
Also Dein otool in Ehren, aber ich verstehe noch nicht, wie das alle Verknüfungsfehler anzeigen soll. Bei mir zeigt das nur einen Bruchteil der Verlinkungsfehler an, die ich händisch gefunden habe. Ich bin da jetzt ein wenig anders rangegangen.
Hab mir im Paketinhalt von CS3 den Ordner 'Framework' zur Brust genommen. Dort in jeden Unterordner geschaut und schon mal den Ordnernamen mit dem ersten Link verglichen und bei Bedarf abgeglichen. Dann den Link Resources (weil der am tiefsten geht) angeklickt und geschaut ob er linkt ;). Falls nicht, meistens die Ordner 'a'='A', 'resources'='Resources' und manchmal auch 'versions'='Versions' umbenannt. Ich glaub es war nur bei einem Unterordner wo 'a' kleinbleiben musste.
Was mir jetzt noch fehlt und ich nicht weiss wie ich's prüfen soll, sind einige '.bundle' und '.plugin' Dateien in anderen Unterordnern. Diese haben auch die Ordnerstrucktur ala 'contens/macos/resources'. Allerdings verwirrt mich hier das macos und resources klein geschrieben sind. Weiß nicht woran ich sehen kann, wie die heissen müssen.

Gruß
MaddraX
 
MaddraX schrieb:
aber ich verstehe noch nicht, wie das alle Verknüfungsfehler anzeigen soll.
Damit findest Du nur die shared libraries, die falsch benannt sind; das stimmt natürlich. Also z.B. will Deine Applikation gegen libFoo.dylib linken, auf Platte gibt es aber nur libfoo.dylib.

Was auch hilfreich ist: starte Photoshop aus dem Terminal, etwa mit
Code:
/Applications/Adobe\ Photoshop\ CS2/Adobe\ Photoshop\ CS2.app/Contents/MacOS/Adobe\ Photoshop\ CS2
Dann kannst Du Fehlermeldungen lesen, die beim blanken Draufklichen nicht kommen.

Was mir jetzt noch fehlt und ich nicht weiss wie ich's prüfen soll, sind einige '.bundle' und '.plugin' Dateien in anderen Unterordnern. Diese haben auch die Ordnerstrucktur ala 'contens/macos/resources'. Allerdings verwirrt mich hier das macos und resources klein geschrieben sind. Weiß nicht woran ich sehen kann, wie die heissen müssen.

An einige bin ich per otool herangekommen, an andere per strings auf das ladende Binary. Aber auch damit findest Du nicht alle :)

Also in die Trickkiste gegriffen: Photoshop läßt sich nicht tracen (ktrace, kdump), denn dummerweise kann unter OS X eine Applikation tracing erkennen. Adobe will das wohl nicht (probiers einfach mal aus).

Plan B: Photoshop aus dem Terminal gestartet und per vorgelagertem shared object verschiedene Systemcalls mitschneiden, mal als Beispiel für open(2):

Code:
#include <stdio.h>
#include <dlfcn.h>

static int (*real_open)(const char *, int, int) = NULL;
      
int open(const char *path, int flags, int mode) 
{
  if (!real_open) 
  {
    real_open = dlsym(RTLD_NEXT, "open");
  }
                        
  fprintf(stderr, "-- open (%s) --\n", path);
  return real_open(path, flags, mode);
}

Daraus machst Du eine shared library (die Warnung kannst Du ignorieren, dagegen gibt es einen Schalter, ist mir gerade entfallen...):

Code:
gcc -dynamiclib foobar.c -o libfoobar.dylib

Dann setzt Du DYLD_INSERT_LIBRARIES auf libfoobar.dylib und außerdem DYLD_FORCE_FLAT_NAMESPACE auf 1:

Code:
setenv DYLD_INSERT_LIBRARIES ~/libfoobar.dylib
setenv DYLD_FORCE_FLAT_NAMESPACE 1
und startest Photoshop wie oben aus dem Terminal (aus der Shell, die die beiden Variablen gesetzt hat, versteht sich). Und siehe da, am Output erkennst Du, was Photoshop so alles laden will (CS2 läuft dann nur bis zu einer illegal instruction, aber das reicht für die ersten wichtigen Informationen). So erkennst Du dann z.B. auch, daß es .../asn/PS.sif statt .../PS.SIF heißen muß.

BTW: open(2) war jetzt eine Möglichkeit. Wenn Du es komplett haben willst, nimmst Du Dir auch noch access und stat vor.

Viel Spaß beim Ausprobieren :)
 
ok ok, du hast mich überzeugt, ich geb's auf... :faint:
 
Zurück
Oben Unten