# RCP von der Console mit buckminster - localfile_1_0_0.dll



## rarup (27. Jan 2011)

Hallo Zusammen,

wenn ich versuche von der Konsole buckminster aufzurufen um mein RCP-Projekt bauen + paketieren zu lassen bekomme ich nur die Meldung: "Could not load library: localfile_1_0_0.dll [....]" mit einem schönen Stackbacktrace, sonst nichts. 
Wegen dem "sonst nichts" nehme ich an, dass das Kommando abgebrochen hat.

Da dies meine ersten Gehversuche mit Buckminster + Konsole (also Headless) sind bin ich gerade etwas hilflos: mache ich was falsches oder habe ich da ein Bug in Buckminster?

Durchgearbeitet habe ich : Headless Eclipse RCP builds with Buckminster and Hudson und habe es auch bis zu Hudson Build fast erfolgreich geschaft. Fast bedeutet: meine Anwendung wird zwar deployed, allerdings fehlt alles was zum Starten noch dazugehört hätte: der Launcher (samt Plugins) und die config.ini. kopiere ich dies manuell hinzu läufts. 

Wenn ich von meiner .product Datei aus deploye gehts bestens.

Kurz: vom Prinzip her habe ich ein lauffähiges Beispielprojekt.

Da ich keinen Hudson einsetzen kann (warum auch immer) möchte ich das jetzt rein von der Konsole aus weitermachen. Dazu wiederum habe ich kein einziges Tutorial gefunden und stocher also ein wenig im Nebel. Auch das BuckyBook habe ich offen. Sehr Einsteigerfreundlich finde ich es jedoch nicht: im Moment geht es mir vor allem darum herauszufinden ob Buckminster für mich geeignet ist - da möchte ich nicht das ganze Buch studieren :-( .


Meine Fragen:

Kennt jemand noch ein Tutorial wie man ein RCP-Projekt mit Buckminster von der Konsole baut. 

Und:

Handelt es sich bei der folgenden Meldung um einen Fehler oder darf ich das ignorieren?

c:\home\eclipse_workspace\de.test.mail.site>c:\opt\buckminster_headless\buckminster make 
INFO:  Could not load library: localfile_1_0_0.dll.  This library provides platform-specific optimizations for certain file system operations.  This l
ibrary is not present on all platforms, so this may not be an error.  The resources plug-in will safely fall back to using java.io.File functionality.

java.lang.UnsatisfiedLinkError: no localfile_1_0_0 in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.eclipse.core.internal.filesystem.local.LocalFileNatives.<clinit>(LocalFileNatives.java:32)
        at org.eclipse.core.internal.filesystem.local.LocalFile.fetchInfo(LocalFile.java:143)
        at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:277)
        at org.eclipse.core.internal.localstore.BlobStore.<init>(BlobStore.java:45)
        at org.eclipse.core.internal.localstore.HistoryStore2.<init>(HistoryStore2.java:77)
        at org.eclipse.core.internal.resources.ResourcesCompatibilityHelper.createHistoryStore(ResourcesCompatibilityHelper.java:67)
        at org.eclipse.core.internal.localstore.FileSystemResourceManager.getHistoryStore(FileSystemResourceManager.java:383)
        at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1038)
        at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:1831)
        at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:1820)
        at org.eclipse.buckminster.core.commands.WorkspaceCommand.saveWorkspace(WorkspaceCommand.java:71)
        at org.eclipse.buckminster.core.commands.WorkspaceCommand.initWorkspace(WorkspaceCommand.java:161)
        at org.eclipse.buckminster.core.commands.WorkspaceCommand.run(WorkspaceCommand.java:182)
        at org.eclipse.buckminster.cmdline.AbstractCommand.basicRun(AbstractCommand.java:155)
        at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:341)
        at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:135)
        at org.eclipse.buckminster.cmdline.Headless.start(Headless.java:189)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

c:\home\eclipse_workspace\de.test.mail.site>java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)

(Das ganze auf Windows 7 mit eclipse 3.5)

Vielen Dank für die Hilfe schon mal!


----------



## Wildcard (27. Jan 2011)

Tutorials die Hudson + Buckminster behandeln sind 1:1 auf die Konsole übertragbar, da das Buckminster Plugin auch nur einen Konsolenaufruf generiert.
Wie die Meldung schon sagt darfst du diese Fehlermeldung ignorieren. Dort steht nur das ein optionales Fragment nicht verfügbar ist.
Übrigens verhält sich Buckminster Headless genauso wie in der IDE, du solltest also erstmal alles in der IDE zum Laufen bringen und danach das gleiche Headless aufrufen.


----------



## rarup (28. Jan 2011)

Ok, danke Wildcard. Damit kann ich ein paar Fehlerquellen schon mal ausschliessen.
Die Meldung hat mich so verunsichert, da ausser dieser Meldung überhauptnichts passiert ist! Kein "Parameter fehlt". Kein "hab nicht gefunden wonach ich gesucht habe". Das irritiert - zumal auch nichts erwünschtes passiert ist.


<EDIT>
Ok, Hudson installiert und wie im Tutorial beschrieben weiter gemacht und schon habe ich es endlich gefunden, wie das Script für den Consolen build aussehen muß. 
Manchmal braucht man halt ein wenig Abstand und einen Hinweis aus nem Forum ;-)

Danke nochmal.
</EDIT>


-> In der IDE zum Laufen bringen ... wie oben geschrieben: über eclipse läufts in jeder Schattierung (ich kann es starten, ich kann es exportieren, ich kann es über buckminster per "invoke Action/site.p2 bzw create.product" exportieren und per director installieren, ...). 
Oder meintest Du "im Hudson"? 

-> Vielleicht bin ich blind und/oder sollte die Sache mal übers Wochenende ruhen lassen: aber das Tutorial läßt sich nicht übertragen! Da steht drinnen was ich im Hudson "zusammenklicken" und "starten" soll, aber kein Consolenaufruf. 
Meintest Du: ich soll mir den Hudson Output ansehen, und da stehts drinnen? Tja, dann werde ich wohl doch einen Hudson installieren müssen . 

Ist Buckminster eigentlich auch in Cruise Control integriert? Darüber finde ich nur sehr unbefriedigende Infos beim Googeln (bzw.: es deutet darauf hin, das es nicht geht)


----------



## Wildcard (28. Jan 2011)

> Vielleicht bin ich blind und/oder sollte die Sache mal übers Wochenende ruhen lassen: aber das Tutorial läßt sich nicht übertragen! Da steht drinnen was ich im Hudson "zusammenklicken" und "starten" soll, aber kein Consolenaufruf.
> Meintest Du: ich soll mir den Hudson Output ansehen, und da stehts drinnen? Tja, dann werde ich wohl doch einen Hudson installieren müssen .


Ich gehe davon aus das sich diese Frage nach dem Edit erledigt hat?




> Ist Buckminster eigentlich auch in Cruise Control integriert? Darüber finde ich nur sehr unbefriedigende Infos beim Googeln (bzw.: es deutet darauf hin, das es nicht geht)


Nicht das ich wüsste. Ich verwende Hudson und Buckminster, also habe ich das Hudson Plugin für Buckminster geschrieben. Du verwendest Cruise Control und Buckminster, also warum schreibst du nicht ein Plugin für Cruise Control?
Ich kann dir gerne ein paar Tipps geben wenn du magst. Wenn Cruise Control halb so gut erweiterbar wie Hudson ist, sollte das nicht allzu schwierig werden.


----------



## rarup (31. Jan 2011)

Wildcard hat gesagt.:


> Ich gehe davon aus das sich diese Frage nach dem Edit erledigt hat?


Ja ...



Wildcard hat gesagt.:


> Du verwendest Cruise Control und Buckminster, also warum schreibst du nicht ein Plugin für Cruise Control?



Da hast Du recht. Ist, wenn, ein Zeitproblem.



Wildcard hat gesagt.:


> Ich kann dir gerne ein paar Tipps geben wenn du magst. Wenn Cruise Control halb so gut erweiterbar wie Hudson ist, sollte das nicht allzu schwierig werden.



Super! Da komme ich gegebenenfalls drauf zurück


----------

