Проект FreeBSD Java®: JDK® 1.3
19 декабря 2003: Грег
Льюис (Greg Lewis) выпустил обновлённый набор патчей (patchlevel 9)
для программного пакета JDK 1.3.1 и соответствующим образом
обновлённого порта ports/java/jdk13. Обновлённые патчи можно получить,
как обычно, по адресу
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
В этот релиз включено множество исправлений и улучшений, так что,
пожалуйста, перед тем, как сообщать о проблемах, выполните
обновление.
12 февраля 2003: Грег
Льюис (Greg Lewis) выпустил обновленный набор патчей (patchlevel 8)
для программного обеспечения JDK® 1.3.1 и соответственно обновлённый
порт ports/java/jdk13. Обновлённые патчи можно найти, как обычно, на
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Это первый релиз программного обеспечения JDK 1.3.1, прошедший
тесты Sun на совместимость. Он содержит множество исправлений
и улучшений, поэтому пожалуйста сделайте обновление перед отправкой
сообщения об ошибке.
26 июля 2002: Грег Льюис
(Greg Lewis) выпустил обновленный набор патчей (patchlevel 7) для
программного обеспечения JDK 1.3.1 и соответственно обновленный порт
ports/java/jdk13. Обновленные патчи можно найти, как обычно, на
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Этот релиз содержит множество исправлений и улучшений, поэтому
пожалуйста сделайте обновление перед отправкой сообщения об ошибке.
13 февраля 2002: Грег Льюис
(Greg Lewis) выпустил обновленный набор патчей (patchlevel 6) для
программного обеспечения JDK 1.3.1 и соответственно обновленный порт
ports/java/jdk13. Обновленные патчи можно найти, как обычно, на
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Этот релиз содержит множество исправлений и улучшений, поэтому
пожалуйста сделайте обновление перед отправкой сообщения об ошибке.
16 октября 2001: Грег Льюис
(Greg Lewis) выпустил обновленный набор патчей (patchlevel 5) для
программного обеспечения JDK 1.3.1 и соответственно обновленный порт
ports/java/jdk13. Обновленные патчи можно найти, как обычно, на
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Этот релиз содержит множество исправлений и улучшений, поэтому
пожалуйста сделайте обновление перед отправкой сообщения об ошибке.
10 сентября 2001: Грег Льюис
(Greg Lewis) выпустил обновленный набор патчей (patchlevel 4) для
программного обеспечения JDK 1.3.1 и соответственно обновленный порт
ports/java/jdk13. Обновленные патчи можно найти, как обычно, на
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Этот релиз содержит множество исправлений и улучшений, поэтому
пожалуйста сделайте обновление перед отправкой сообщения об ошибке.
27 августа 2001: Грег Льюис (Greg Lewis) выпустил долгожданный порт программного обеспечения JDK 1.3.1. Теперь его можно собрать из каталога портов ports/java/jdk13. Следует учесть, что все замечания ниже действуют, и этот релиз все еще предназначен только для разработчиков, не рекомендуется использовать его в реальных задачах.
16 июля 2001: Грег Льюис (Greg Lewis) выпустил набор патчей для разработчиков, интересующихся сборкой нативного FreeBSD JDK 1.3.1. Необходимо учесть, что это релиз только для разработчиков и работающий JDK не собирается. Патчи выпущены, в основном, для предоставления интересующимся возможности помочь усилиям по портированию, без того, чтобы начинать с самого начала. Патчи и некоторые общие инструкции по сборке можно загрузить с http://www.eyesbeyond.com/freebsddom/java/jdk13.html
15 сентября 2000:
Эндрю Галлатин (Andrew
Gallatin) и Шин О'Коннелл
(Sean O'Connell) работают над
получением рабочего пакета JDK 1.3 фирмы IBM. Чтобы он заработал в
вашей системе, вам нужно применить патчи к некоторым исходным текстам
FreeBSD. Они предоставили патчи в зависимости от вашей версии:
4.0-RELEASE
4.0-STABLE
-CURRENT (до SMPng)
Процитируем сообщение от Дрю:
Я наконец-то добился работы jdk 1.3 фирмы IBM. Хотя сильно я ещё её не тестировал, похоже, что AWT работает. Вот обновлённый набор патчей для версии -current до SMPng. Набор патчей делает следующее: - меняет значение MINSIGSTKSZ с 8192 на 2048 - реализует linux_rt_sendsig() & linux_rt_sigreturn() - реализует пользовательский код sigtramp для linux_rt_sigreturn() - реализует linux_to_bsd_sigaltstack & bsd_to_linux_sigaltstack() для исправления ошибки в linux_sigaltstack & во избежание множества вставок в linux_rt_sigreturn(). Также исправлено появление сообщения "Java HotSpot(TM) Client VM warning: cannot uninstall alt signal stack", которое было замечено с JDK 1.3 фирмы Sun. - изменен флаг MAP_STACK на MAP_ANON для отображаемых областей памяти LINUX_MAP_GROWSDOWN. Это был последний шаг для того, чтобы это работало. Найдутся ли гуру VM, чтобы поговорить об этом? Похоже, что что-то не так с растущими стеками в нитях linux[*] Патчи находятся здесь: http://www.cs.duke.edu/~gallatin/linux_sa_siginfo/diff [*]"Проблема" в эвристических методах, применяемых в функции vm_map_growstack() для определения того, является ли стек частью стека основного процесса. Сейчас мы используем: is_procstack = addr >= (vm_offset_t)vm->vm_maxsaddr; где vm->vm_maxsaddr получается из exec_new_vmspace(): vmspace->vm_maxsaddr = (char *)USRSTACK - MAXSSIZ; Главная нить JDK фирмы IBM уменьшает размер его стека до rlim_cur=2040*1024. Затем она создает стеки для своих нитей в адресах, которые превышают vm_maxsaddr, но меньше, чем текущая нижняя граница стека основного процесса, как определено в p->p_rlimit[RLIMIT_STACK].rlim_cur. Как только нить пытается обратиться к чему-либо, для чего требуется увеличения области, она погибает.
А теперь письмо от Шина:
Я на скорую руку засинхронизировался с изменениями, которые выполнил Эндрю Галлатин для того, чтобы заработал Java SDK от IBM. Я смог запустить appletviewer с одним из демонстрационных приложений и оно работало. Больше сказать ничего не могу. Все патчи сделаны относительно /usr/src (или /, потому что все они выполнены в каталоге sys ) Большинство исправлений сделано в файлах из /sys/i386/linux. Вы должны смочь применить патч; перейдите в каталог /sys/modules/linux; наберите make; kldunload linux; наберите make install; потом kldload linux Есть ещё одно изменение, которое задаёт значение MINSIGSTKSZ равным 2048 в sys/sys/signal.h .. для актуализации этого изменения требуется перекомпиляция ядра.
18 июля 2000: Эрнст де Хаан (Ernst de Haan) выполнил некоторую работу, что позволило запускать Linux JDK 1.3.0b9 фирмы Sun в 4.0-STABLE. Файл .java_wrapper находится по адресу здесь. (Не забудьте переименовать его в .java_wrapper)
Вот что пишет Эрнст:
Ещё один совет: Измените файл jre/lib/jvm.cfg и переместите последнюю строку наверх. Тогда вы получите: -classic -hotspot -server Кстати, я получил следующее предупреждение при запуске Swing-приложения: Warning: Cannot convert string "MetaCtrl<Key>Insert" to type VirtualBinding Ernst Ernst de Haan пишет: > Hi folkz, > > Мне удалось запустить Sun JDK 1.3.0 for Linux, beta 9 на моей системе FreeBSD > 4.0-STABLE. Работает весьма хорошо. > > java -version выдаёт следующее: > > bash-2.04$ java -version > expr: syntax error > java version "1.3.0beta_refresh" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0beta_refresh-b09) > Classic VM (build 1.3.0beta_refresh-b09, green threads, nojit) > > Первая строка о синтаксической ошибке является маленькой проблемой с файлом > .java_wrapper, но видимо, она несерьёзная. Я выполнил некоторые модификации > в скрипте .java_wrapper, чтобы всё работало на моей системе. Прилагаю > версию, которую я использую. > > Подробно я ещё не тестировал, однако попробовал запустить одно > Swing-приложение. Я заметил некоторые отличия в шрифтах, хотя похоже, что > всё работает достаточно хорошо и быстро :) > > Ого, скоро FreeBSD станет платформой с наибольшим количеством работающих > на ней пакетов JDK, как только на ней заработает WINE, мы сможем запустить > пакеты JDK ещё и для Windows, и ещё написать эмулятор AS/400, и ещё... и > ещё... ;-) > > Ernst > > P.S. Спасибо Виктору Саламану (Victor Salaman), который указал мне > правильное направление. Он достаточно давно работает с Sun JDK 1.3 > for Linux.
29 января 2000: Работа над портированием JDK 1.3 ещё не началась. И до тех пор, пока не будет выпущен релиз JDK 1.2, работа над JDK 1.3 проводиться не будет.