The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект по созданию универсальных исполняемых файлов FatELF з..."
Отправлено alexxisr, 06-Ноя-09 07:19 
Но копировать-то все равно придется? Ну, хорошо, возможно, удастся создать виртуальную ФС, где разные куски файла будут представлены как разные файлы, затем еще как-то совместить это с реальной ФС, чтобы все файлы лежали где положено... и получить еще больший костыль, чем FatELF.

зачем выделять какие то куски файлов? если каждый кусок - это бинарник под определенную архитектуру, так и пусть он будет ОТДЕЛЬНЫМ файлом, я смогу по крайней мере удалить его, если он мне не нужен.
а для хранения файлов уже придумано куча ФС.
вместо перемещения файлов можно просто прописать в переменных окружения пути к библиотекам.

>т.е. вы хотите сказать что бинарник для amd64 легко и просто бы подцепил в рабиту библиотеку от mips'а??? -- да я бы хотел посмотреть как бы это реализовывалось

Нет. Бинарник подцепил бы FatELF.so. А в нем бы был код, допустим, для MIPS'а, и для x86, и для ARM, и для amd64. Но бинарнику не нужно бы было искать там код для amd64. За него бы это сделал пропатченный линкер. А если бы этот FatELF заменили на обычную библиотеку для amd64, то бинарник бы даже не заметил.

зачем мне на арме код для амд64?
выбор архитектуры должен делаться при установке приложения, а не при его запуске.

>в моём предложении ... используются обычные библиотеки, и вовсе не обязательно использовать два набора одинаковых файлов
>в моём предложении все библиотеки нормальные

Это как? Вроде речь шла о "распаковать два пакета в один каталог, запаковать, приделать особый magic number и заголовок, загружать скриптом для binfmt_misc".

да изврат, что то, что другое.

>в моём предложении.... ничего никому подсовывать не нужно

А я не про "нужно", я про "можно". Идея в том, что с FatELF можно работать, как с обычной библиотекой.

только использоваться будет максимум процентов 20 от файла фательф. остальное - просто мусор, ненужный на данной платформе.

>если бы я предлагал статическую линковку -- я бы даже ни разу не заикнулся о LD_LIBRARY_PATH

Но предлагать упаковать все разделяемые библиотеки в один файл с бинарником - все одно, что статически их прилинковать. Только через переподвыподверт.

можно линковать с упакованными, только если в системе нет более подходящих.

>думаю что этот господин пёрнул в лужу, и ты аноним выколупывая никчёмные доводы пытаешся за ним поспеть

А я думаю, что происходит одно из двух. Либо меня используют в качестве еды, либо ты один из тех товарищей, которые на все новое вопят "не нужно!!!" и из-за которых накрываются реально интересные проекты.

>какие-такие "преимущества", с которыми бы было жить веселей.

Главное преимущество одно: я купил CD/скачал из интернета какой-нибудь инсталлятор, запустил его, и вне зависимости от того, какая у меня архитектура процессора (а в идеале - и операционка) оно у меня заработало.

это можно сделать и через ./configure && make && make install
в install.sh
почему же никто не кричит, что так и надо везде делать?

При этом на CD-ROMе лежит не 12 разных бинарников (под, допустим, Linux, FreeBSD и OpenSolaris, да еще под несколько архитектур), а один.

но этот 1 в 12 раз больше размером, я не верю что бинарники под разные платформы могут иметь общие библиотеки.
+ я не могу скачать только нужное мне - я буду обязан качать под все 12 вариантов

И выбирать я должен не вручную, а автоматически. Я-то, может, и могу вручную выбрать, а среднестатистический пользователь Вася - не факт.

Вася пупкин скачивает маленький установочный скрипт, который выбирает что нужно поставить, и автоматически скачивает/ставит
(скачивать можно и cdrom)

И если бинарников несколько, потому что это разные программы, а многие разделяемые библиотеки у них общие, то они действительно разделяются, а не прилинкованы к каждому бинарнику отдельно, так что программа, которая могла бы влезть на CD, влезает только на какой-нибудь BluRay.

ну а кто заставляет их прилинковывать к каждому бинарнику?
библиотеки отдельно, приложения отдельно. в итоге - места нужно ровно столько же, но видно где что лежит.

Если у меня процессор x86-64, я не должен держать у себя отдельно /lib32, отдельно /lib64 и при необходимости собрать программу вручную смотреть, к чему именно ее прилинковать. У меня каждая библиотека будет в одном файле, даже если у нее есть сборки под несколько архитектур. А если одна из сборок станет не нужна, я ее вычищу из этого файла, и все.

а зачем изначально добавлять в бинарники явно избыточный код, который потом надо вычищать?
чтобы появился рынок утилит "сжатия" дисков?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру