2014-04-18 17 views
7

Có bước cụ thể tôi có thể làm để xây dựng mã nguồn Xuggle Xuggler từ Windows 32-bit, Windows 64-bit, Linux 32-bit, và Linux 64-bit? Tôi đã thử nhiều lần trên nhiều hệ thống và tiếp tục nhận được rất nhiều lỗi khác nhau.Làm cách nào để tôi có thể xây dựng phiên bản XPLler của GPL và LGPL?

Cập nhật

Tôi đã dành vài ngày cố gắng để có được Xuggle Xuggler để biên dịch (và cross-compile). Tôi giải quyết thành công biên soạn cả hai bản gốc GPL phiên bản mã và một phiên bản LGPL. Tôi nghĩ rằng tôi muốn gửi một câu trả lời cho câu hỏi riêng của tôi trên Stack Overflow để chia sẻ kiến ​​thức của tôi.

Cập nhật trên Raspberry Pi

Tôi cũng đã có thể xây dựng và chạy Xuggler trên Raspberry Pi làm theo các hướng dẫn cơ bản tương tự dưới đây. Tôi chỉ sử dụng phiên bản mã LGPL của tôi mà tôi duy trì trên Github và thực hiện các sửa đổi cho Pi. Tôi có thể sử dụng tệp JAR đã biên dịch và tệp nhị phân trên Radxa Rock của tôi (một thiết bị ARM khác). Nếu bạn quan tâm trong việc xây dựng trên Pi, bạn có thể sử dụng chi nhánh pi của tôi:

https://github.com/e-d/xuggle-xuggler

Nếu bạn là lười biếng và chỉ muốn các tập tin .jar biên dịch sẵn cho Pi/ARM:

GPL Version (supports H.264)

LGPL Version (no H.264 support)

+0

Vui lòng chia sẻ các tệp nhị phân đã được biên dịch của trình gỡ rối cho Raspberry pi qua một số dịch vụ chia sẻ tệp như GoogleDocs v.v., nó sẽ là một trợ giúp lớn từ phía bạn. –

+1

Bạn có thể tải xuống những gì tôi gọi là "Magic Xuggler Jar" mà tôi đã xây dựng trên Raspberry Pi và đã sử dụng trên một số thiết bị ARM tại đây: http://goo.gl/9PHwKh – 11101101b

+0

@ 11101101b - là bài đăng này cũng có liên quan nếu tôi cần xây dựng phiên bản java (jar)? – Elist

Trả lời

12

Here is a formatted version of my answer in a published Google Document.

Đối đầy đủ (và trong trường hợp liên kết đi chết một ngày), đây là văn bản ít độc đáo có định dạng:

Building Xuggle Xuggler (GPL và LGPL phiên bản được cấp phép)

[Linux 32 -bit, Linux 64-bit, Windows 32 bit, Windows 64 bit]

Để xây dựng thư viện Xuggler Xuggler, bạn sẽ cần hai máy ảo Linux chạy Ubuntu 11.10 (hệ điều hành 32 bit và 64 bit) . Cần có phiên bản 32 bit của hệ điều hành để xây dựng Linux 32 bit, biên dịch chéo Windows 32 bit và biên dịch chéo các tệp nhị phân Windows 64 bit. Cần có một phiên bản 64 bit của hệ điều hành để xây dựng các tệp nhị phân 64 bit của Linux.

Sử dụng VirtualBox, tôi đã tạo hai máy ảo được thảo luận ở trên với hình ảnh đĩa ubuntu-11.10-server-i386.iso và ubuntu-11.10-server-amd64.iso. Đây là những phiên bản máy chủ không đầu của Ubuntu.Sau khi cài đặt của hệ điều hành, hãy làm theo các bước sau để xây dựng Xuggler (bạn được chào đón để thử các phiên bản phụ thuộc khác nhau và không sử dụng người dùng root, nhưng đây là những gì tôi đã làm để xây dựng thành công):

đổi sang người dùng root:

sudo su 

Chỉ cần sử dụng thư mục home gốc của:

cd /root 

cập nhật apt-get để sử dụng kho lưu trữ cụ thể:

apt-get install python-software-properties 
add-apt-repository ppa:ferramroberto/java 
apt-get update 

Cài đặt Java:

apt-get install sun-java6-jdk sun-java6-plugin 

Xác minh HotSpot Java 6 JVM là java mặc định:

java -version 

Nếu phiên bản không chính xác của Java xuất hiện, cấu hình mặc định bằng cách chạy:

update-alternatives --config java 

Cài đặt gcc, g ++, thực hiện và tất cả các yếu tố cần thiết xây dựng khác:

apt-get install build-essential 

Install YASM:

apt-get install yasm 

Install mở SSL:

apt-get install openssl 

Install Package Config:

apt-get install pkg-config 

Cài đặt Git:

apt-get install git 

Cài đặt Ant:

apt-get install ant-optional 

Install JUnit:

apt-get install junit 

Install MingGW để có thể xây dựng cho Windows (mingw-w64 có thể làm 32 và 64-bit Windows):

apt-get install mingw-w64 

Tải xuống mã nguồn XPL được định cấu hình của LGPL (ngã ba mã của Ed từ ngã ba của Jeff Wallace từ mã xu hướng GPL gốc) hoặc phiên bản GPL gốc:

LGPL: git clone https://github.com/e-d/xuggle-xuggler.git 
GPL: git clone https://github.com/xuggle/xuggle-xuggler.git 

Biên dịch và xây dựng các tệp JAR (có tệp nhị phân bên trong). Hãy chắc chắn chạy bản 64-bit Linux trên phiên bản 64 bit của Ubuntu. Cũng lưu ý rằng giữa các bản dựng, bạn sẽ cần phải chạy “ant clober” để loại bỏ tất cả các tệp được biên dịch từ kiến ​​trúc trước đó. Để xây dựng chạy:

(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 

Tệp JAR sẽ nằm trong thư mục/dist/lib.

Nếu bạn cần các tệp nhị phân Linux để hoạt động bổ sung trên CentOS, bây giờ bạn sẽ cần thay đổi phiên bản GCC và G ++ để sử dụng 3.4 thay vì 3.6.

Cài đặt GCC 4.4:

apt-get install gcc-4.4 

Cập nhật liên kết tượng trưng để sử dụng 4.4 (liên kết vòm cụ thể sẽ khác nhau trên 32-bit 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ài đặt C++ (G ++) 4.4 :

apt-get install c++-4.4 

Cập nhật liên kết tượng trưng để sử dụng 4.4 (liên kết biểu tượng cụ thể sẽ khác trên máy ảo 32 bit):

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++ 

Xác nhận phiên bản mặc định:

gcc --version 
c++ --version 
cpp --version 
gcc --version 

Bây giờ bạn có thể chạy được xây dựng theo cùng một cách như trước đây (bạn chỉ cần để tái xây dựng mã nhị phân Linux). Các tệp nhị phân bây giờ sẽ tương thích với các phiên bản cũ hơn một chút của nhiều bản phân phối Linux (bao gồm cả tính tương thích của CentOS). Các tệp nhị phân được biên dịch 4.4 này vẫn hoạt động ở mọi nơi mà các phiên bản được biên dịch 4.6 cũng sẽ chạy.

Đặc biệt cảm ơn this blog vì đã chỉ cho tôi đúng hướng và cho tôi phần lớn những gì tôi đã nêu chi tiết ở trên.

Các vấn đề liên quan