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 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. Они
предоставили патчи в зависимости от вашей версии: Процитируем сообщение от Дрю: Я наконец-то добился работы 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 проводиться не будет. |