[Решено] Javа : сборка выдает i586

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

[Решено] Javа : сборка выдает i586

Сообщение UnixNoob »

Привет. Решил Java JDK поставить, с SBO установить не вышло, ошибка с форматом архива:

Код: Выделить всё

Processing jdk15

jdk15:
jdk15 not found in /var/cache/sbopkg.
Сохранение в: «jdk-15_linux-x64_bin.tar.gz»

Found jdk-15_linux-x64_bin.tar.gz in /var/cache/sbopkg.
Checking MD5SUM:
  MD5SUM check for jdk-15_linux-x64_bin.tar.gz ... FAILED!
    Expected: 10a6bba79c5841da2be8643eb9496683
    Found:    81ee08846975d4b8d46acf3b6eddf103

Do you want to use the downloaded jdk15 source:
jdk-15_linux-x64_bin.tar.gz in /var/cache/sbopkg?

You can choose among the following options:
 - (Y)es, keep the source and continue the build process;
 - (N)o, delete the source and abort the build process;
 - (R)etry download and continue the build process; or
 - (A)ttempt to download from third party source repository.
(Y)es, (N)o, (R)etry, (A)lternative ?: y
    Keeping the source and continuing.
Building package for jdk15...

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

jdk15:
Would you like to continue processing the rest of the
queue or would you like to abort?  If this failed
package is a dependency of another package in the queue
then it may not make sense to continue.

(Y)es to continue, (N)o to abort, (R)etry the build?: y

+++++++++++++++++++++++++++++++++++++++++++
SUMMARY LOG
Using the UNSUPPORTED SBo git repository for -current
Queue Process:  Download, build, and install

jdk15:
  MD5SUM check for jdk-15_linux-x64_bin.tar.gz ... FAILED!
    Expected: 10a6bba79c5841da2be8643eb9496683
    Found:    81ee08846975d4b8d46acf3b6eddf103
    Keeping the source and continuing.
  Error occurred with build.  Please check the log.
Но ничего страшного,я читал еще инструкцию в вики:
1. Скачал с сайта Oracle jdk-15.0.1_linux-x64_bin.tar.gz
2. Cкачал с зеркала slackware64-current папку extra/java
3. Выдал права на исполнение java.SlackBuild
4. Запустил, а на выходе получил jdk-15.0.1_linux-i586-1.txz

Почитал что за i586 и если все верно понял, это вариант х32 под Intel, а в вики в качестве пакета на выходе указано

Код: Выделить всё

Slackware package /tmp/jdk-7u7-x86_64-1.txz created.
Я прав в том что получил х32 пакет или нет?
Последний раз редактировалось UnixNoob 26.11.2020 21:28, всего редактировалось 2 раза.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Javа : сборка выдает i586

Сообщение Hephaestus »

UnixNoob писал:
08.11.2020 15:08
1. Скачал с сайта Oracle jdk-15.0.1_linux-x64_bin.tar.gz
Правильно. Oracle при скачивании хочет согласия с лицензией, поэтому просто так не качается.
Наверно, можно как-то извернуться с wget, чтобы он таки скачал, но проще скачать самому.
UnixNoob писал:
08.11.2020 15:08
2. Cкачал с зеркала slackware64-current папку extra/java
3. Выдал права на исполнение java.SlackBuild
Совершенно незачем.
Достаточно было положить скачанный файл в /var/cache/sbopkg
и в sbopkg запустить build, как обычно. Он найдет файл в кэше и нормально продолжит работу.
UnixNoob писал:
08.11.2020 15:08
4. Запустил, а на выходе получил jdk-15.0.1_linux-i586-1.txz
Я положил файл в кэш и запустил сборку в sbopkg.
На выходе получил jdk15-15.0.1-x86_64-1_SBo.tgz.

А у Вас слакбилд не смог выдернуть архитектуру из имени файла.
Он взял четвертое поле, отделенное дефисом, но там нет такого поля (если делить по дефисам получается всего три поля, четвертого нет). Стало быть, получил вместо версии пустую строку.
А дальше в логике слакбилда сказано: если версия равна "x64", то именно это обозначение и используем, а иначе используем "i586".
Поскольку у нас пустая строка (а это не равно "x64"), то везде (в именах каталогов, в имени пакета) используется "i586".
Поэтому у Вас и вышло такое имя пакета в итоге.
UnixNoob писал:
08.11.2020 15:08
Я прав в том что получил х32 пакет или нет?
В данном конкретном случае - нет. Вы качали тарбол x64. Там бинарные файлы (они не менялись в процессе создания пакета). Следовательно, x64 они и остались. Архитектура бинарных файлов не изменилась оттого, что обозначение "i586" воткнули в имя пакета и имена каталогов.

Вы получили 64-битные файлы в каталогах для 32-битных.
Поэтому мой Вам совет: положите изначальный тарбол в кэш и соберите нормально пакет с помощью sbopkg.
Последний раз редактировалось Hephaestus 08.11.2020 16:59, всего редактировалось 1 раз.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

Re: Javа : сборка выдает i586

Сообщение UnixNoob »

Hephaestus писал:
08.11.2020 16:15
Правильно. Oracle при скачивании хочет согласия с лицензией, поэтому просто так не качается.
Наверно, можно как-то извернуться с wget, чтобы он таки скачал, но проще скачать самому.
Hephaestus писал:
08.11.2020 16:15
А у Вас слакбилд не смог выдернуть версию из имени файла.
Он взял четвертое поле, отделенное дефисом, но там нет такого поля (если делить по дефисам получается всего три поля, четвертого нет). Стало быть, получил вместо версии пустую строку.
Т.е он при загрузке средствами sbo, из-за отсутствия согласия, не смог его правильно загрузить?
Hephaestus писал:
08.11.2020 16:15
Совершенно незачем.
Ну это если использовать sbo, а не собирать самому. :)
Т.е мне нужно было переименовать мой файл, чтобы он под этот шаблон подошел.

Код: Выделить всё

jdk-7u5-linux-x64.tar.gz
Надо будет почитать slackbuild'ы софта какого-нибудь и ознакомиться с не известными командами,не ожидал с таким столкнуться. Но логику понял, он разбивает имя файла на составляющие и присваивает извлеченный фрагмент переменным и на основании этого определяет архитектуру.

upd. Изменил имя получил на выходе

Код: Выделить всё

/tmp/jdk-15.0.1-x86_64-1.txz created.
SBO не находит, из-за отличия в имени, файл в /var/cache/sbopkg, т.е имя все-равно изменять придется. При переименовании и с ним все работает.
Последний раз редактировалось UnixNoob 08.11.2020 17:30, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Javа : сборка выдает i586

Сообщение Hephaestus »

UnixNoob писал:
08.11.2020 16:43
Т.е он при загрузке средствами sbo, из-за отсутствия согласия, не смог его правильно загрузить?
Да. Сервер вместо тарбола размером 179Мб отдал html-страницу размером 5Кб. Страница содержит собщение об ошибке.
UnixNoob писал:
08.11.2020 16:43
Т.е мне нужно было переименовать мой файл, чтобы он под этот шаблон подошел.
Конкретно в этом случае могло сработать, да.
Но в общем случае (когда выполняется именно компиляция, а не просто упаковка) этого может быть недостаточно.
Слакбилд бывает заточен под конкретную версию (патчи, флаги компиляции, дополнительные файлы) и тогда
простое переименование тарбола ничего не даст - оно просто не соберется.
Хотя имя файла будет правильно разобрано на части.
UnixNoob писал:
08.11.2020 16:43
Ну это если использовать sbo
Ну, Вы вроде с него начали.
UnixNoob писал:
08.11.2020 16:43
собирать самому
Даже если собирать самому, лучше взять слакбилд, созданный для этого тарбола.
UnixNoob писал:
08.11.2020 16:43
Но логику понял, он разбивает имя файла на составляющие и присваивает извлеченный фрагмент переменным и на основании этого определяет архитектуру.
Правильно. Обычно извлекается имя программы, версия, архитектура.
UnixNoob писал:
08.11.2020 16:43
Надо будет почитать slackbuild'ы софта какого-нибудь и ознакомиться с не известными командами,не ожидал с таким столкнуться.
На сайте slackbuild.org есть страничка HOWTO, там внизу страницы есть ссылки на вики - как писать слакбилды.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

Re: Javа : сборка выдает i586

Сообщение UnixNoob »

Hephaestus писал:
08.11.2020 17:29
Даже если собирать самому, лучше взять слакбилд, созданный для этого тарбола.
Ну получилось так,что именно под эту версия тарбола нет его. Различия между 15.0.1_linux и 15_linux. Правда в данном случае я так понимаю я мог подправить переменную VERSION в SlackBuild'e.

В любом случае полезный урок.
Hephaestus писал:
08.11.2020 17:29
На сайте slackbuild.org есть страничка HOWTO, там внизу страницы есть ссылки на вики - как писать слакбилды.
Спасибо за помощь и за ссылку, посмотрю. Я думал с этим столкнусь попозже, но в целом ничего страшного, почитаем.
Последний раз редактировалось UnixNoob 08.11.2020 17:36, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Javа : сборка выдает i586

Сообщение Hephaestus »

UnixNoob писал:
08.11.2020 16:43
SBO не находит, из-за отличия в имени, файл в /var/cache/sbopkg, т.е имя все-равно изменять придется
Что-то Вы не то делаете.
Если sbopkg не смог скачать тарбол и Вы ему помогли, положите тарбол, в кэш. И sbopkg всё нормально соберет.

Если же Вы взяли сторонний слакбилд и под него переименовали тарбол, тогда им и собирайте, но это уже другая история.

А зачем смешивать эти два способа?
Вы переименовали файл под один слакбилд и пытаетесь скормить его другому слакбилду. Зачем???
Добавлено (17:38):
UnixNoob писал:
08.11.2020 17:34
Ну получилось так,что именно под эту версия тарбола нет его.
Не понял. Как это нет? В sbo есть jdk-15. Там есть рабочий слакбилд. Я ж его собирал час назад.
Всё что нужно сделать, положить ему нормальный тарбол, поскольку сам он скачать не может.
Если не хотите использовать sbopkg, возьмите от него слакбилд и запустите вручную. В чём проблема-то?
Последний раз редактировалось Hephaestus 08.11.2020 17:43, всего редактировалось 1 раз.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

Re: Javа : сборка выдает i586

Сообщение UnixNoob »

Hephaestus писал:
08.11.2020 17:34
А зачем смешивать эти два способа?
Вы переименовали файл под один слакбилд и пытаетесь скормить его другому слакбилду. Зачем???
На главной странице Oracle по загрузке сейчас предлагается версия 15.0.1, поэтому я его и скачал. А выяснилось что для SBo нужна версия именно 15. При этом промежуточных версий в поиске SBo нет, есть 13,14,15. А тут она и не 15 и не 16, отсюда такие сложности и получились у меня. Я не знал что оно на столько жестко привязано.
Чтобы было понятнее, он при самостоятельной закачки,у меня скачивает файл в виде:

Код: Выделить всё

jdk-15_linux-x64_bin.tar.gz
А у меня файл вида:

Код: Выделить всё

jdk-15.0.1_linux-x64_bin.tar.gz
и он его не видит и все-равно скачивает, может в правах доступа быть проблема? Т.к я копирую файл скачанный пользователем,а не /root.
Hephaestus писал:
08.11.2020 17:34
Вы переименовали файл под один слакбилд и пытаетесь скормить его другому слакбилду. Зачем???
Я переименовал под слакбилд из /extra, а затем для эксперимента переименовал его для sbo, но имена при этом требовались разные. В одном случае проблемы были с "-", а в другом в доп. цифрах "0.1".
И в том и другом случае я получил х64 пакет,без ошибок.
Последний раз редактировалось UnixNoob 08.11.2020 17:47, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1827
ОС: Gentoo

Re: Javа : сборка выдает i586

Сообщение ormorph »

UnixNoob писал:
08.11.2020 17:39
А выяснилось что для SBo нужна версия именно 15. При этом промежуточных версий в поиске SBo нет, есть 13,14,15. А тут она и не 15 и не 16, отсюда такие сложности и получились у меня. Я не знал что оно на столько жестко привязано.
Хм, если не секрет, зачем нужна 15 версия?
Обычно скомпилированное для на старой яве запускается в основном и на новой, а вот на оборот не работает.
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

Re: Javа : сборка выдает i586

Сообщение UnixNoob »

ormorph писал(а):
08.11.2020 17:46
Хм, если не секрет, зачем нужна 15 версия?
Обычно скомпилированное для на старой яве запускается в основном и на новой, а вот на оборот не работает.
Я писал не требования к Java как к иснтрументарии разработчика,а как версии тарбола.
Т.е загвоздка у меня была в имени файла. Что требовалось не jdk-15.0.1, а jdk-15 без приписки.
У меня никакой Java пока не стоит поэтому и ставится последняя :)
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Javа : сборка выдает i586

Сообщение Hephaestus »

UnixNoob писал:
08.11.2020 17:39
На главной странице Oracle по загрузке сейчас предлагается версия 15.0.1, поэтому я его и скачал.
А, пардон. Я не обратил внимания на точный номер версии Вашего тарбола.
Ну, тогда да, sbo его видеть не будет.
В принципе, можно в sbo подправить файлы .info и .SlackBuild. Указав номер версии и хэш md5.
В sbo есть механизм для этого. Тогда сборка пакета будет происходить с локальными вариантами файлов .info и .SlackBuild.

Но раз уж в центральной репе нет нужной версии, я бы загнал всё это в свою собственную локальную репу sbo.
И собирал то, что мне нужно и так, как мне нужно. Такое уже бывало не раз.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1827
ОС: Gentoo

Re: Javа : сборка выдает i586

Сообщение ormorph »

UnixNoob писал:
08.11.2020 17:49
У меня никакой Java пока не стоит поэтому и ставится последняя :)
Да слака страшна, останусь ка я лучше на Gentoo ))
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Javа : сборка выдает i586

Сообщение Hephaestus »

UnixNoob писал:
08.11.2020 17:49
У меня никакой Java пока не стоит поэтому и ставится последняя
Кстати, а openjdk не рассматриваете?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 663
ОС: Slackware

Re: Javа : сборка выдает i586

Сообщение UnixNoob »

Hephaestus писал:
08.11.2020 17:56
UnixNoob писал:
08.11.2020 17:49
У меня никакой Java пока не стоит поэтому и ставится последняя
Кстати, а openjdk не рассматриваете?
Я не разобрался в отличиях, в плане функциональности, встречал на просторах что кто-то сталкивался с проблемами из-за openjdk, Для IDE NetBeans или Eclipse указана jdk,правда без точного указания Oracle или Open версия, поэтому не знаю,стоит ли брать open.
Я видел что openjdk есть в репозитории alienbob.
ormorph писал(а):
08.11.2020 17:55
Да слака страшна, останусь ка я лучше на Gentoo ))
Offtopic
Ну если вас все устраивает, то зачем переходить. Для меня рано заниматься сборкой всего, слишком много времени может быть потрачено в пустую, т.к при ошибке в флагах я на выходе могу получить нечто не работающее. Да и нет у меня базы софта в Linux, который я знаю и который можно сформировать в некий список, и им ограничиться. Мне нравится гибкость gentoo,но я понимаю, что если я с момента установки буду постоянно решать проблемы при установке каждого пакета, то энтузиазма не хватит. Когда я на виртуалке пытался сменить версию профиля gentoo оказалось что у меня было что-то с компилятором gcc и его библиотеками,которые не хотели обновляться сами и пока я их не обновил по одному, emerge --sync не работал.
Ну и еще у Слаки мне помогли без намеков на то что я ничего не знаю,а в Gentoo сразу указали что я ничего не умею,не знаю и нечего мне тут делать :D Но это так, отчасти шутка, т.к я не особо обидчивый. :)
Спасибо сказали: