Как я могу создать версию Xuggle Xuggler для GPL и LGPL?
есть ли конкретные шаги, которые я могу предпринять для создания исходного кода Xuggle Xuggler из Windows 32-бит, Windows 64-бит, Linux 32-бит и Linux 64-бит? Я пробовал несколько раз на нескольких системах и продолжаю получать много разных ошибок.
обновление
Я потратил несколько дней, пытаясь получить Xuggle Xuggler для компиляции (и cross-compile). Я успешно справился с компиляцией как оригинального GPL версия кода и версия LGPL. Я думал, я отправлю сообщение ответьте на мой собственный вопрос о переполнении стека, чтобы поделиться своими знаниями.
обновление на Raspberry Pi
Я также смог построить и запустить Xuggler на Raspberry Pi, следуя этим же основным инструкциям ниже. Я просто использовал моя версия LGPL кода, которую я поддерживаю на Github, и внесла изменения для Pi. Я также могу использовать скомпилированный файл JAR и двоичные файлы на моем Radxa Rock (другое устройство ARM). Если вы заинтересованный в построении на Pi вы можете использовать мою ветвь pi:
https://github.com/e-d/xuggle-xuggler
Если вы ленивы и просто хотите предкомпилированного .файлы jar для Pi / ARM:
1 ответов
вот форматированная версия моего ответа в опубликованном документе Google.
для полноты (и в случае, если ссылка однажды умрет), вот менее-красиво отформатированный текст:
строительство Xuggle Xuggler (лицензионные версии GPL и LGPL)
[Linux 32-бит, Linux 64-бит, Windows 32-бит, Windows 64-бит]
для создания библиотеки Xuggle Xuggler вам понадобятся две виртуальные машины Linux В Ubuntu 11.10 (32-разрядные и 64-разрядные ОС). 32-разрядная версия ОС необходима для построения 32-разрядной версии Linux, кросс-компиляции 32-разрядных Windows и кросс-компиляции 64-разрядных двоичных файлов Windows. 64-разрядная версия ОС необходима для создания 64-разрядных двоичных файлов Linux.
используя VirtualBox, я создал две виртуальные машины, рассмотренные выше, с ubuntu-11.10-server-i386.iso и ubuntu-11.10-сервер-amd64.ИСО образы дисков. Это безголовые серверные версии Ubuntu. После установка ОС, выполните следующие действия, чтобы построить Xuggler (вы можете попробовать разные версии зависимостей и не использовать пользователя root, но это то, что я сделал, чтобы построить успешно):
изменить на пользователя root:
sudo su
просто используйте домашний каталог root:
cd /root
Update apt-get для использования конкретного репозитория:
apt-get install python-software-properties
add-apt-repository ppa:ferramroberto/java
apt-get update
Установить Java:
apt-get install sun-java6-jdk sun-java6-plugin
убедитесь, что точка доступа Java 6 JVM по умолчанию java:
java -version
если появляется неправильная версия Java, настройте значение по умолчанию, запустив:
update-alternatives --config java
установить gcc, g++, make и все другие основы сборки:
apt-get install build-essential
установить YASM:
apt-get install yasm
установить Open SSL:
apt-get install openssl
Установить Пакет Config:
apt-get install pkg-config
Установить Git:
apt-get install git
Установить Ant:
apt-get install ant-optional
установить Джунит:
apt-get install junit
установите MingGW, чтобы иметь возможность строить для Windows (mingw-w64 может делать 32 и 64-разрядные окна):
apt-get install mingw-w64
загрузите исходный код xuggle, настроенный LGPL (вилка кода Эда из вилки Джеффа Уоллеса из исходного кода xuggle GPL) или оригинальную версию GPL:
LGPL: git clone https://github.com/e-d/xuggle-xuggler.git
GPL: git clone https://github.com/xuggle/xuggle-xuggler.git
скомпилируйте и создайте файлы JAR (с двоичными файлами внутри). Обязательно запустите 64-разрядную сборку Linux на 64-разрядной версии Ubuntu. Также обратите внимание, что между сборки вам нужно будет запустить "ant clobber", чтобы удалить все скомпилированные файлы из предыдущей архитектуры. Чтобы построить run:
(32/64-bit Linux): ant stage
(64-bit Windows): ant -Dbuild.configure.os=x86_64-w64-mingw32 stage
(32-bit Windows): ant -Dbuild.configure.os=i686-w64-mingw32 stage
файлы JAR будут находиться в каталоге /dist/lib.
Если вам нужны двоичные файлы Linux для дополнительной работы на CentOS, теперь вам нужно изменить версию GCC и G++ для использования 3.4 вместо 3.6.
установить GCC 4.4:
apt-get install gcc-4.4
обновить символические ссылки для использования 4.4 (ссылка на arch будет разные на 32-битной VM):
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
rm /usr/bin/x86_64-linux-gnu-gcc
ln -s /usr/bin/x86_64-linux-gnu-gcc-4.4 /usr/bin/x86_64-linux-gnu-gcc
Установить C++ (G++) 4.4:
apt-get install c++-4.4
обновить символические ссылки для использования 4.4 (ссылка на arch будет отличаться на 32-разрядной виртуальной машине):
rm /usr/bin/cpp
ln -s /usr/bin/cpp-4.4 /usr/bin/cpp
rm /usr/bin/x86_64-linux-gnu-cpp
ln -s /usr/bin/x86_64-linux-gnu-cpp-4.4 /usr/bin/x86_64-linux-gnu-cpp
rm /usr/bin/g++
ln -s /usr/bin/g++-4.4 /usr/bin/g++
rm /usr/bin/x86_64-linux-gnu-g++
ln -s /usr/bin/x86_64-linux-gnu-g++-4.4 /usr/bin/x86_64-linux-gnu-g++
проверка версий по умолчанию:
gcc --version
c++ --version
cpp --version
gcc --version
теперь вы можете запускать сборки так же, как и раньше (вам нужно только перестроить двоичные файлы Linux). Двоичные файлы теперь будут совместимы со слегка более старыми версиями многих дистрибутивов Linux (включая совместимость с CentOS). Эти скомпилированные двоичные файлы 4.4 должны по-прежнему работать везде, где будут работать скомпилированные версии 4.6.
отдельное спасибо этот блог за то, что указал мне в правильном направлении и дал мне большую часть того, что я подробно описал выше.