История изменений
Исправление ZenitharChampion, (текущая версия) :
Объясняю ещё раз. Как ты наверное знаешь, в /usr/lib хранятся системные библиотеки. Это как C:\WINDOWS\SYSTEM32, но без *.EXE. Чтобы решить проблему DLL-hell библиотеки названы не просто libopenal.so, libOpenCL.so и так далее, а libopenal.so.1 и libOpenCL.so.1. Таким образом программы, требующие старый libopenal.so.0, не будут пытаться использовать версию .so.1 и из-за этого работать неправильно.
Ubuntu выходит раз в полгода. За полгода часть библиотек остаются старыми, часть обновляется. libpng14.so.14 превращается в libpng15.so.15, libavcodec.so.54 превращается в libavcodec.so.56, и так далее. Старые библиотеки удаляются. Дело в том что в мире открытого ПО все программы пересобираются с новыми библиотеками, на то это и Open Source. Поэтому игра SuperTux от Ubuntu 8.04 не запустится в 10.04, а от 10.04 не запустится в 12.04. Они будут просить несуществующие в системе библиотеки, которые ты можешь выковырять из старой системы (а потом ещё и зависимости зависимостей) и скопировать в /usr/local/lib. Хотя сам код SuperTux 0.2.1 не менялся лет 10.
Естественно проприетарщики не согласны выпускать программы под Linux в таких условиях. Это открытое ПО можно пересобрать под все линуксы и устанавливать из репозитория, а не закрытое. И тогда придумали LSB, что означает Linux Standard Base.
Организация Free Standards Group объявила о начале подготовки нового стандарта в группе LSB (Linux Standard Base), ориентированного на создание единой спецификации для десктоп-окружения в Linux, позволяющей компаниям выпускать свои GUI продукты без учета особенностей многочисленных Linux-дистрибутивов, — Linux Standard Base Desktop Project.
Первая рабочая версия спецификации будет представлена во второй половине 2006 года.
В рабочую группу LSB Desktop Project вошли такие компании, как Adobe, IBM, HP, Linspire, Mandriva, Novell, RealNetworks, Red Hat, Trolltech, Xandros и другие.
Судя по всему, стандарт будет продвигать GNOME, так как в текущих наработках отмечена обязательность таких библиотек как GTK2, GLIB, ATK, Pango, gnomeui-2, gnome-2, glade-2, gconf-2, gnomevfs-2, bonoboui, bonobo, gnomeprint, Freetype, XML2, png12, libjpeg, crypto, ssl, krb5, popt. Рассматривается вариант добавления в список QT и OpenSSL.
Теперь у 20-30 библиотек в /usr/lib кладётся сразу две версии. Для LIBPNG это 1.2 и последняя, для LIBSSL это 0.9.8 и последняя. GTK2 и QT4 - последние, потому что libgtk-x11-2.0.so.0 последнюю цифру в номере версии не меняет. Этого не требуется потому что нет DLL-hell: всё что скомпилировано с GTK 2.10 запускается с GTK 2.34. Иначе говоря, сохранена обратная совместимость. То же самое применимо к Qt 4.3-4.10.
Вот как надо делать такой бинарник, который можно положить на диск с драйверами к железке, и он потом у всех заработает даже через 5 лет. Берём CentOS 5, компилим там программу. Смотрим какие библиотеки требуются программе. Те которые есть в этом списке есть во всех линуксах. Те которых нет кладём в папочку lib и делаем скрипт run.sh, который эту папочку подцепляет. Обычно это libstdc++.so.6, libSDL-1.2.so.0 и libopenal.so.1. ВСЁ!!! Никакой статической линковки, из-за которой страдает сетевая безопасность и размер файла. Никакой папочки lib на 300 мегабайт из-за копирования туда всех зависимостей.
Исправление ZenitharChampion, :
Объясняю ещё раз. Как ты наверное знаешь, в /usr/lib хранятся системные библиотеки. Это как C:\WINDOWS\SYSTEM32, но без *.EXE. Чтобы решить проблему DLL-hell библиотеки названы не просто libopenal.so, libOpenCL.so и так далее, а libopenal.so.1 и libOpenCL.so.1. Таким образом программы, требующие старый libopenal.so.0, не будут пытаться использовать версию .so.1 и из-за этого работать неправильно.
Ubuntu выходит раз в полгода. За полгода часть библиотек остаются старыми, часть обновляется. libpng14.so.14 превращается в libpng15.so.15, libavcodec.so.54 превращается в libavcodec.so.56, и так далее. Старые библиотеки удаляются. Дело в том что в мире открытого ПО все программы пересобираются с новыми библиотеками, на то это и Open Source. Поэтому игра SuperTux от Ubuntu 8.04 не запустится в 10.04, а от 10.04 не запустится в 12.04. Они будут просить несуществующие в системе библиотеки, которые ты можешь выковырять из старой системы (а потом ещё и зависимости зависимостей) и скопировать в /usr/local/lib. Хотя сам код SuperTux 0.2.1 не менялся лет 10.
Естественно проприетарщики не согласны выпускать программы под Linux в таких условиях. Это открытое ПО можно пересобрать под все линуксы и устанавливать из репозитория, а не закрытое. И тогда придумали LSB, что означает Linux Standard Base.
Организация Free Standards Group объявила о начале подготовки нового стандарта в группе LSB (Linux Standard Base), ориентированного на создание единой спецификации для десктоп-окружения в Linux, позволяющей компаниям выпускать свои GUI продукты без учета особенностей многочисленных Linux-дистрибутивов, — Linux Standard Base Desktop Project.
Первая рабочая версия спецификации будет представлена во второй половине 2006 года.
В рабочую группу LSB Desktop Project вошли такие компании, как Adobe, IBM, HP, Linspire, Mandriva, Novell, RealNetworks, Red Hat, Trolltech, Xandros и другие.
Судя по всему, стандарт будет продвигать GNOME, так как в текущих наработках отмечена обязательность таких библиотек как GTK2, GLIB, ATK, Pango, gnomeui-2, gnome-2, glade-2, gconf-2, gnomevfs-2, bonoboui, bonobo, gnomeprint, Freetype, XML2, png12, libjpeg, crypto, ssl, krb5, popt. Рассматривается вариант добавления в список QT и OpenSSL.
Теперь у 20-30 библиотек в /usr/lib кладётся сразу две версии. Для LIBPNG это 1.2 и последняя, для LIBSSL это 0.9.8 и последняя. GTK2 и QT4 - последние, потому что libgtk-x11-2.0.so.0 последнюю цифру в номере версии не меняет. Этого не требуется потому что нет DLL-hell, всё что скомпилировано с GTK 2.10 запускается с GTK 2.34. Иначе говоря, сохранена обратная совместимость. То же самое применимо к Qt 4.3-4.10.
Вот как надо делать такой бинарник, который можно положить на диск с драйверами к железке, и он потом у всех заработает даже через 5 лет. Берём CentOS 5, компилим там программу. Смотрим какие библиотеки требуются программе. Те которые есть в этом списке есть во всех линуксах. Те которых нет кладём в папочку lib и делаем скрипт run.sh, который эту папочку подцепляет. Обычно это libstdc++.so.6, libSDL-1.2.so.0 и libopenal.so.1. ВСЁ!!! Никакой статической линковки, из-за которой страдает сетевая безопасность и размер файла. Никакой папочки lib на 300 мегабайт из-за копирования туда всех зависимостей.
Исправление ZenitharChampion, :
Объясняю ещё раз. Как ты наверное знаешь, в /usr/lib хранятся системные библиотеки. Это как C:\WINDOWS\SYSTEM32, но без *.EXE. Чтобы решить проблему DLL-hell библиотеки названы не просто libopenal.so, libOpenCL.so и так далее, а libopenal.so.1 и libOpenCL.so.1. Таким образом программы, требующие старый libopenal.so.0, не будут пытаться использовать версию .so.1 и из-за этого работать неправильно.
Ubuntu выходит раз в полгода. За полгода часть библиотек остаются старыми, часть обновляется. libpng14.so.14 превращается в libpng15.so.15, libavcodec.so.54 превращается в libavcodec.so.56, и так далее. Старые библиотеки удаляются. Дело в том что в мире открытого ПО все программы пересобираются с новыми библиотеками, на то это и Open Source. Поэтому игра SuperTux от Ubuntu 8.04 не запустится в 10.04, а от 10.04 не запустится в 12.04. Они будут просить несуществующие в системе библиотеки, которые ты можешь выковырять из старой системы (а потом ещё и зависимости зависимостей) и скопировать в /usr/local/lib. Хотя сам код SuperTux 0.2.1 не менялся лет 10.
Естественно проприетарщики не согласны выпускать программы под Linux в таких условиях. Это открытое ПО можно пересобрать под все линуксы и устанавливать из репозитория. И тогда придумали LSB, что означает Linux Standard Base.
Организация Free Standards Group объявила о начале подготовки нового стандарта в группе LSB (Linux Standard Base), ориентированного на создание единой спецификации для десктоп-окружения в Linux, позволяющей компаниям выпускать свои GUI продукты без учета особенностей многочисленных Linux-дистрибутивов, — Linux Standard Base Desktop Project.
Первая рабочая версия спецификации будет представлена во второй половине 2006 года.
В рабочую группу LSB Desktop Project вошли такие компании, как Adobe, IBM, HP, Linspire, Mandriva, Novell, RealNetworks, Red Hat, Trolltech, Xandros и другие.
Судя по всему, стандарт будет продвигать GNOME, так как в текущих наработках отмечена обязательность таких библиотек как GTK2, GLIB, ATK, Pango, gnomeui-2, gnome-2, glade-2, gconf-2, gnomevfs-2, bonoboui, bonobo, gnomeprint, Freetype, XML2, png12, libjpeg, crypto, ssl, krb5, popt. Рассматривается вариант добавления в список QT и OpenSSL.
Теперь у 20-30 библиотек в /usr/lib кладётся сразу две версии. Для LIBPNG это 1.2 и последняя, для LIBSSL это 0.9.8 и последняя. GTK2 и QT4 - последние, потому что libgtk-x11-2.0.so.0 последнюю цифру в номере версии не меняет. Этого не требуется потому что нет DLL-hell, всё что скомпилировано с GTK 2.10 запускается с GTK 2.34. Иначе говоря, сохранена обратная совместимость. То же самое применимо к Qt 4.3-4.10.
Вот как надо делать такой бинарник, который можно положить на диск с драйверами к железке, и он потом у всех заработает даже через 5 лет. Берём CentOS 5, компилим там программу. Смотрим какие библиотеки требуются программе. Те которые есть в этом списке есть во всех линуксах. Те которых нет кладём в папочку lib и делаем скрипт run.sh, который эту папочку подцепляет. Обычно это libstdc++.so.6, libSDL-1.2.so.0 и libopenal.so.1. ВСЁ!!! Никакой статической линковки, из-за которой страдает сетевая безопасность и размер файла. Никакой папочки lib на 300 мегабайт из-за копирования туда всех зависимостей.
Исправление ZenitharChampion, :
Объясняю ещё раз. Как ты наверное знаешь, в /usr/lib хранятся системные библиотеки. Это как C:\WINDOWS\SYSTEM32, но без *.EXE. Чтобы решить проблему DLL-hell библиотеки названы не просто libopenal.so, libOpenCL.so и так далее, а libopenal.so.1 и libOpenCL.so.1. Таким образом программы, требующие старый libopenal.so.0, не будут пытаться использовать версию .so.1 и из-за этого работать неправильно.
Ubuntu выходит раз в полгода. За полгода часть библиотек остаются старыми, часть обновляется. libpng14.so.14 превращается в libpng15.so.15, libavcodec.so.54 превращается в libavcodec.so.56, и так далее. Старые библиотеки удаляются. Дело в том что в мире открытого ПО все программы пересобираются с новыми библиотеками, на то это и Open Source. Поэтому игра SuperTux от Ubuntu 8.04 не запустится в 10.04, а от 10.04 не запустится в 12.04. Они будут просить несуществующие в системе библиотеки, которые ты можешь выковырять из старой системы (а потом ещё и зависимости зависимостей) и скопировать в /usr/local/lib. Хотя сам под SuperTux 0.2.1 не менялся лет 10.
Естественно проприетарщики не согласны выпускать программы под Linux в таких условиях. Это открытое ПО можно пересобрать под все линуксы и устанавливать из репозитория. И тогда придумали LSB, что означает Linux Standard Base.
Организация Free Standards Group объявила о начале подготовки нового стандарта в группе LSB (Linux Standard Base), ориентированного на создание единой спецификации для десктоп-окружения в Linux, позволяющей компаниям выпускать свои GUI продукты без учета особенностей многочисленных Linux-дистрибутивов, — Linux Standard Base Desktop Project.
Первая рабочая версия спецификации будет представлена во второй половине 2006 года.
В рабочую группу LSB Desktop Project вошли такие компании, как Adobe, IBM, HP, Linspire, Mandriva, Novell, RealNetworks, Red Hat, Trolltech, Xandros и другие.
Судя по всему, стандарт будет продвигать GNOME, так как в текущих наработках отмечена обязательность таких библиотек как GTK2, GLIB, ATK, Pango, gnomeui-2, gnome-2, glade-2, gconf-2, gnomevfs-2, bonoboui, bonobo, gnomeprint, Freetype, XML2, png12, libjpeg, crypto, ssl, krb5, popt. Рассматривается вариант добавления в список QT и OpenSSL.
Теперь у 20-30 библиотек в /usr/lib кладётся сразу две версии. Для LIBPNG это 1.2 и последняя, для LIBSSL это 0.9.8 и последняя. GTK2 и QT4 - последние, потому что libgtk-x11-2.0.so.0 последнюю цифру в номере версии не меняет. Этого не требуется потому что нет DLL-hell, всё что скомпилировано с GTK 2.10 запускается с GTK 2.34. Иначе говоря, сохранена обратная совместимость. То же самое применимо к Qt 4.3-4.10.
Вот как надо делать такой бинарник, который можно положить на диск с драйверами к железке, и он потом у всех заработает даже через 5 лет. Берём CentOS 5, компилим там программу. Смотрим какие библиотеки требуются программе. Те которые есть в этом списке есть во всех линуксах. Те которых нет кладём в папочку lib и делаем скрипт run.sh, который эту папочку подцепляет. Обычно это libstdc++.so.6, libSDL-1.2.so.0 и libopenal.so.1. ВСЁ!!! Никакой статической линковки, из-за которой страдает сетевая безопасность и размер файла. Никакой папочки lib на 300 мегабайт из-за копирования туда всех зависимостей.
Исходная версия ZenitharChampion, :
Объясняю ещё раз. Как ты наверное знаешь, в /usr/lib хранятся системные библиотеки. Это как C:\WINDOWS\SYSTEM32, но без *.EXE. Чтобы решить проблему DLL-hell библиотеки названы не просто libopenal.so, libOpenCL.so и так далее, а libopenal.so.1 и libOpenCL.so.1. Таким образом программы, требующие старый libopenal.so.0, не будут пытаться использовать версию .so.1 и следовательно работать неправильно.
Ubuntu выходит раз в полгода. За полгода часть библиотек остаются старыми, часть обновляется. libpng14.so.14 превращается в libpng15.so.15, libavcodec.so.54 превращается в libavcodec.so.56, и так далее. Старые библиотеки удаляются. Дело в том что в мире открытого ПО все программы пересобираются с новыми библиотеками, на то это и Open Source. Поэтому игра SuperTux от Ubuntu 8.04 не запустится в 10.04, а от 10.04 не запустится в 12.04. Они будут просить несуществующие в системе библиотеки, которые ты можешь выковырять из старой системы (а потом ещё и зависимости зависимостей) и скопировать в /usr/local/lib. Хотя сам под SuperTux 0.2.1 не менялся лет 10.
Естественно проприетарщики не согласны выпускать программы под Linux в таких условиях. Это открытое ПО можно пересобрать под все линуксы и устанавливать из репозитория. И тогда придумали LSB, что означает Linux Standard Base.
Организация Free Standards Group объявила о начале подготовки нового стандарта в группе LSB (Linux Standard Base), ориентированного на создание единой спецификации для десктоп-окружения в Linux, позволяющей компаниям выпускать свои GUI продукты без учета особенностей многочисленных Linux-дистрибутивов, — Linux Standard Base Desktop Project.
Первая рабочая версия спецификации будет представлена во второй половине 2006 года.
В рабочую группу LSB Desktop Project вошли такие компании, как Adobe, IBM, HP, Linspire, Mandriva, Novell, RealNetworks, Red Hat, Trolltech, Xandros и другие.
Судя по всему, стандарт будет продвигать GNOME, так как в текущих наработках отмечена обязательность таких библиотек как GTK2, GLIB, ATK, Pango, gnomeui-2, gnome-2, glade-2, gconf-2, gnomevfs-2, bonoboui, bonobo, gnomeprint, Freetype, XML2, png12, libjpeg, crypto, ssl, krb5, popt. Рассматривается вариант добавления в список QT и OpenSSL.
Теперь у 20-30 библиотек в /usr/lib кладётся сразу две версии. Для LIBPNG это 1.2 и последняя, для LIBSSL это 0.9.8 и последняя. GTK2 и QT4 - последние, потому что libgtk-x11-2.0.so.0 последнюю цифру в номере версии не меняет. Этого не требуется потому что нет DLL-hell, всё что скомпилировано с GTK 2.10 запускается с GTK 2.34. Иначе говоря, сохранена обратная совместимость. То же самое применимо к Qt 4.3-4.10.
Вот как надо делать такой бинарник, который можно положить на диск с драйверами к железке, и он потом у всех заработает даже через 5 лет. Берём CentOS 5, компилим там программу. Смотрим какие библиотеки требуются программе. Те которые есть в этом списке есть во всех линуксах. Те которых нет кладём в папочку lib и делаем скрипт run.sh, который эту папочку подцепляет. Обычно это libstdc++.so.6, libSDL-1.2.so.0 и libopenal.so.1. ВСЁ!!! Никакой статической линковки, из-за которой страдает сетевая безопасность и размер файла. Никакой папочки lib на 300 мегабайт из-за копирования туда всех зависимостей.