Страниц: [1]
  Печать  
Автор Тема: Кто нибудь собирал jvm?  (Прочитано 2299 раз)
chabapok
Участник
*
Offline Offline

Сообщений: 2


Просмотр профиля
« : Декабря 10, 2012, 02:08:30 pm »

Кто-нибудь собирал яву? Ведь ява задумана была первоначально имеенно для встраиваемых систем. В pkgsrc есть sablevm, которая не собирается. Так же, там есть openjdk-bin, которая собирается, но при запуске пишет Can't access shared library. Я так понимаю, это бинарники netbsd, но попробовать стоило. Какая ему библиотека нужна - так и не вышло узнать, вот если б был strace, но он не собирается.  Cry

На этом, попытки дать лад pkgsrc завершил.

Удалось "с пинками" собрать jamvm+classpath-0.99, без графики, конечно. Однако, у меня в jamvm даже под линуксом сборка мусора происходит с утечкой памяти. Сборка мусора в jamvm пострена по принципу анализа содержимого стека, как указателей. По типу, как это сделано в boehm gc, но стек берется через функции pthread*. К сожалению, в qnx функции pthread_att_getstackaddr и pthread_att_getstacksize работают плохо и не всегда - надо руками аллоцировать и высвобождать память под стек, чего в jamvm нет. И еще есть вопросы с получением текущего указателя стека одного потока из другого. Вобщем-то и это под qnx обходится, но - криво. То есть получается, что jamvm собралась вообще без сборщика мусора. И получается, что без доводки ее использовать не получится.  Embarrassed
У classpath слегка выбрыкивается nio (под линуксом - тоже), по всей видимости - как где то внутри jni-вызовов, так и на уровне явовских классов. Но почему это происходит - особого внимания я еще не уделял, но вроде бы это починяемо.

Другие jvm и реализации библиотеки классов собрать так сходу не вышло. Где-то не отрабатывает configure и сходу не удается выяснить почему, где-то не отрабатывает make - что-то не то с ключиками, хедерами, либами.
Записан
agent
Sr. Member
****
Offline Offline

Сообщений: 328


Fresh solutions


Просмотр профиля
« Ответ #1 : Декабря 10, 2012, 02:41:05 pm »

SableVM собрать можно, если поколдовать с исходниками. У меня работала консольная часть, но графическая не завелась (тем более она там - через X11). Давно это было, сейчас сложно вспомнить, что и как.
Записан
chabapok
Участник
*
Offline Offline

Сообщений: 2


Просмотр профиля
« Ответ #2 : Декабря 10, 2012, 06:39:00 pm »

Попробовал. Действительно, если указать правильные ключики ./configure, поотключать gtk, иксы.. то он собирается. classpath там древний конечно.
Вот только оно собирается, но не работает Sad(
Записан
Страниц: [1]
  Печать  
 
Перейти в: