FreeBSD Java Problem (jdk16 Port)

hugly

Well-Known Member
Hallo,

versuche eine Applikation unter FreeBSD laufen zu lassen welche immer mit
einer bestimmten Fehlermeldung abbricht, selbe Applikation läuft unter
Linux/Macos problemlos, installiert ist das originale SUN Java aus den
Ports kompiliert (Java 6).

Es sieht also so aus als ob es tatsächlich ein FreeBSD Problem ist,
die Fehlermeldung brachte mich auch relativ schnell auf Lösungsansätze,
es wurde am lo0 gebastelt und eine Route gesetzt etc. als Lösung, das
half mir aber nicht.

Schein ein gängigeres Problem bei FBSD zu sein. Hier die Fehlermeldung:

java.net.BindException: Can't assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)


Wäre über Hinweise jeder Art hocherfreut.

hugly
 
Der Port java/jdk16? Versuch mal ohne die Option "IPV6" neu zu installieren.
Oder nimm java/diablo-jdk16.
 
Der Port java/jdk16? Versuch mal ohne die Option "IPV6" neu zu installieren.
Oder nimm java/diablo-jdk16.

Hallo,

danke für die Antwort.

Die diablo-jdk (IBM) ist nicht kompatibel genug dafür. Es muss leider die originale
Sun Version sein.

Irgendetwas in der Richtung muss es sein...

Habe derzeit in den Aufrufoptionen java.net.preferIPv4Stack=true drinnen, das sollte
normalerweise das Problem beheben mit IPV6 (falls es das ist).

Habe gerade die Options kontrolliert, IPV6 WAR abgeschalten.

Wie kann man sowas denn debuggen?? Sniffern geht erst wenn ein bind() durch ist,
kennt jemand weitere Tipps oder eine Art wie man das debuggen kann?

Gruss,
hugly

PS: Auf dem System ist ausserdem in rc.conf "ipv6_enable" auf NO gesetzt.
 
Zuletzt bearbeitet:
Also. Das "offizielle" JDK ist unter FreeBSD leider kaputt. Das wird auch nicht mehr repariert werden, da Java 6 kurz vor dem Ende seines Lebenszykles steht und mit Java 7 die ganze Portgeschichte neu geordnet werden soll. Wenn du Java 5 oder 6 willst, kommst du faktisch um das Diablo-JDK nicht herum. Du kannst natürlich das OpenJDK nutzen, nur in Version 6 hat auch das einige Fehler.

Für die Zukunft soll es meines Wissens kein neues Diablo-JDK mehr geben. Die Lizensierung ist zu kompliziert und es kostet wohl auch eine schöne Stange Geld. Stattdessen soll OpenJDK 7 alles andere ersetzen. Ich weiß, das hilft dir nun nicht. Aber wenn du hier keine Hilfe findest, solltest du vielleicht mal auf freebsd-java@ nachfragen. Dort hat man sicher mehr Ahnung vom Thema :)
 
Hi,

Also. Das "offizielle" JDK ist unter FreeBSD leider kaputt. Das wird auch nicht mehr repariert werden, da Java 6 kurz vor dem Ende seines Lebenszykles steht und mit Java 7 die ganze Portgeschichte neu geordnet werden soll. Wenn du Java 5 oder 6 willst, kommst du faktisch um das Diablo-JDK nicht herum. Du kannst natürlich das OpenJDK nutzen, nur in Version 6 hat auch das einige Fehler.

Ganz kurz, was exakt ist kaputt am Sun Java? Gibts da eine Übersicht?

Java 7 dauert ja vermutlich noch ne ganze Weile, das Java kompilierte komplett
durch, es können nur kleinigkeiten sein, einfach direkt aufgeben wollte ich eigentlich
nicht. Es würde um eine grössere Anzahl Server gehen welche damit bestückt würden.

Für die Zukunft soll es meines Wissens kein neues Diablo-JDK mehr geben. Die Lizensierung ist zu kompliziert und es kostet wohl auch eine schöne Stange Geld. Stattdessen soll OpenJDK 7 alles andere ersetzen. Ich weiß, das hilft dir nun nicht. Aber wenn du hier keine Hilfe findest, solltest du vielleicht mal auf freebsd-java@ nachfragen. Dort hat man sicher mehr Ahnung vom Thema :)

Diablo-JDK ist für mich keine Option leider.
OpenJDK ist doch der GNU Kram oder? Das taugt wohl mal garnix soweit ich
bisher rauslesen konnte.

In freebsd-java@ zu posten mit so einer Frage dürfte schwer sein, denn bei nur
kurzem überlesen wird jeder sofort an das IPV6 Problem denken und den Post
nicht weiter lesen.

Gruss,
hugly
 
OpenJDK ist SUN Java: OpenJDK ist das von SUN offengelegte (open source) Java. Sie hatten das schon vor einigen Jahren angekündigt, dann hat es aber länger gedauert, bis sie alle rechtlichen und praktischen Probleme gelöst hatten.

Vielleicht hast Du mal etwas Zeit und Lust hast ein Podcast (FLOSS Weekly) zur Geschichte von OpenJDK zu hören...

Gruß
SolarCatcher
 
Hallo,

OpenJDK ist SUN Java: OpenJDK ist das von SUN offengelegte (open source) Java. Sie hatten das schon vor einigen Jahren angekündigt, dann hat es aber länger gedauert, bis sie alle rechtlichen und praktischen Probleme gelöst hatten.

Vielleicht hast Du mal etwas Zeit und Lust hast ein Podcast (FLOSS Weekly) zur Geschichte von OpenJDK zu hören...

Gruß
SolarCatcher

Werd mal reinhören.

Aber was ist dann der Unterschied zu jdk16? Das ist doch ebenfalls original
Sun und liegt ebenfalls im Source vor (wird ja kompiliert)?

Es steht weitestgehend unter GPL, also wird es schon das bereits probierte
sein, das ist nochmal deutlich inkompatibler als diable JRE...


Gruss,
hugly
 
<disclaimer>Ich bin kein Java-Spezialist</disclaimer>

Die kommerzielle (offiziell unterstützte) Version soll ab nun immer auf OpenJDK basieren, kann aber Extra-Komponenten enthalten, wenn SUN (also Oracle) das möchte.

Das ist so wie be OpenOffice.org und Staroffice oder Fedora und RHEL.

Im Prinzip sollten die Unterschiede also minimal ausfallen. Ob es in Version 1.6 für Deine Anwendungen irgend einen Unterschied macht, müsstest Du aber prüfen (falls es kommerzielle Software ist, kann evtl. der Hersteller etwas darüber sagen).

Gruß
SolarCatcher
 
Zurück
Oben