== Red5Install/CentOs5 ==

* 2011. 3. 20

* CentOS 5.5 install

* iptime 054UA
 * rpm -ivh rt73usb-firmware-1.8-5.elrepo.noarch.rpm
 * chkconfig NetworkManager on
 * service NetworkManager start

* http://trac.red5.org/wiki/Install
* Requirements
 * yum -y install java-1.6.0-openjdk java-1.6.0-openjdk-devel
 * yum install ant subversion
 * svn co https://svn.apache.org/repos/asf/ant/ivy/core/trunk ivy

{{{
[root@localhost tcheun]# cd ivy
[root@localhost ivy]# ls
CHANGES.txt    build-for-bin-distrib.xml  ivysettings-release.xml
LICENSE        build-release.xml          optional.patterns
META-INF       build.properties           src
NOTICE         build.xml                  test
README         doap_Ivy.rdf               version.properties
RELEASE_NOTES  doc
ant.patterns   ivy.xml
}}}

 * ant jar
  * 오류발생
{{{
[root@localhost ivy]# ant jar
Buildfile: build.xml

init:

prepare:



compile-bootstrap:
    [javac] Compiling 45 source files to /home/tcheun/ivy/build/classes/bootstrap
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:30: cannot find symbol
    [javac] symbol  : class ResourceCollection
    [javac] location: package org.apache.tools.ant.types
    [javac] import org.apache.tools.ant.types.ResourceCollection;
    [javac]                                  ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:31: package org.apache.tools.ant.types.resources does not exist
    [javac] import org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper;
    [javac]                                            ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:32: package org.apache.tools.ant.types.resources does not exist
    [javac] import org.apache.tools.ant.types.resources.FileResource;
    [javac]                                            ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:34: cannot find symbol
    [javac] symbol: class ResourceCollection
    [javac] public class IvyResources extends IvyCacheTask implements ResourceCollection {
    [javac]                                                           ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:39: cannot find symbol
    [javac] symbol  : class BaseResourceCollectionWrapper
    [javac] location: class org.apache.ivy.ant.IvyResources
    [javac]     private class IvyBaseResourceCollectionWrapper extends BaseResourceCollectionWrapper {
    [javac]                                                            ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:53: cannot find symbol
    [javac] symbol  : method setLocation(org.apache.tools.ant.Location)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setLocation(location);
    [javac]                ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:58: cannot find symbol
    [javac] symbol  : method setProject(org.apache.tools.ant.Project)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setProject(project);
    [javac]                ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:63: cannot find symbol
    [javac] symbol  : method setDescription(java.lang.String)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setDescription(desc);
    [javac]                ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:69: cannot find symbol
    [javac] symbol  : method setRefid(org.apache.tools.ant.types.Reference)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setRefid(ref);
    [javac]                ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:75: cannot find symbol
    [javac] symbol  : method setCache(boolean)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setCache(b);
    [javac]                ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:85: cannot find symbol
    [javac] symbol  : method iterator()
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         return wrapper.iterator();
    [javac]                       ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:89: cannot find symbol
    [javac] symbol  : method size()
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         return wrapper.size();
    [javac]                       ^
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:103: cannot find symbol
    [javac] symbol  : class FileResource
    [javac] location: class org.apache.ivy.ant.IvyResources
    [javac]                 resources.add(new FileResource(a.getLocalFile()));
    [javac]                                   ^
    [javac] 13 errors

BUILD FAILED
/home/tcheun/ivy/build.xml:230: Compile failed; see the compiler error output for details.

Total time: 5 seconds
[root@localhost ivy]# 
}}}

* ant 1.8.1 버전을 설치하여 수행 또는 ivy 의 과거 소스를 다운로드.
 * /usr/share/ant 변경

{{{
compile-bootstrap:
    [javac] Compiling 4 source files to /home/tcheun/ivy/build/classes/bootstrap
    [javac] /home/tcheun/ivy/src/java/org/apache/ivy/ant/IvyResources.java:53: cannot find symbol
    [javac] symbol  : method setLocation(org.apache.tools.ant.Location)
    [javac] location: class org.apache.ivy.ant.IvyResources.IvyBaseResourceCollectionWrapper
    [javac]         wrapper.setLocation(location);
    [javac]                ^
    [javac] 1 error
}}}



* 2011. 3.22 

 * centos5.5 재설치
 * Desktop Gnome, Server GUI
 * root 의 경우 path 에 /sbin 이 없는 것 같음.

 * ant 의 버전 문제가 아닌 것 같음.
 * yum --disablerepo=\* --enablerepo=c5-media install package_name

 * ant 의 버전 문제임
 * ivy.xml
{{{
        <dependencies>
            <dependency org="org.apache.ant" name="ant" rev="1.7.1" conf="default,ant->default"/>
            <dependency org="org.apache.ant" name="ant-nodeps" rev="1.7.1" conf="default"/>
}}}

* red5 의 dependency 를 먼저 점검하고 계속하는 것이 좋겠음.
 * antlr 3.1.3
 * ivy 1.3

* red5-0.9.1
 * build.xml
{{{
        <!-- This build file requires Apache Ant >= 1.7 -->
        <condition property="ant-at-least-7">
                <antversion atleast="1.7.0"/>
        </condition>
        <!-- project properties -->
}}}

 * ant 에 대한 버젼 dependency 는 있지만, ivy 에 대한 version dependency 는 없다.
 * ivy 를 최신 버전을 설치할 필요는 없다.

 * ant-1.7 ivy rpm 을 사용하기 위해서는 jpackage repos 를 사용해야 한다.
 * Missing Dependency: /usr/bin/rebuild-security-providers is needed
  * http://plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5.x

{{{
[root@localhost ~]# yum install --skip-broken ivy
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: centos.tt.co.kr
 * base: centos.tt.co.kr
 * c5-media: 
 * extras: centos.tt.co.kr
 * jpackage17-generic: jpackage.netmindz.net
 * jpackage17-rhel: jpackage.netmindz.net
 * jpackage50-generic: jpackage.netmindz.net
 * jpackage50-rhel: jpackage.netmindz.net
 * updates: mirror.yongbok.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ivy.noarch 0:1.3.1-3.jpp5 set to be updated
--> Processing Dependency: jpackage-utils >= 1.7.5 for package: ivy
--> Processing Dependency: jakarta-commons-httpclient >= 1:3.0 for package: ivy
--> Processing Dependency: jakarta-commons-cli for package: ivy
--> Processing Dependency: oro for package: ivy
--> Processing Dependency: jakarta-commons-logging for package: ivy
--> Processing Dependency: jakarta-commons-codec for package: ivy
--> Running transaction check
---> Package jakarta-commons-cli.noarch 0:1.1-1.jpp5 set to be updated
---> Package jakarta-commons-codec.noarch 0:1.3-9.jpp5 set to be updated
---> Package jakarta-commons-httpclient.noarch 1:3.0.1-3.jpp5 set to be updated
---> Package jakarta-commons-logging.noarch 0:1.1-8.jpp5 set to be updated
---> Package jakarta-oro.noarch 0:2.0.8-3.jpp5 set to be updated
---> Package jpackage-utils.noarch 0:5.0.0-2.jpp5 set to be updated
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Finished Dependency Resolution
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386 from installed has depsolving problems
  --> Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386 (installed)
--> Running transaction check
---> Package jpackage-utils.noarch 0:5.0.0-2.jpp5 set to be updated
--> Processing Dependency: jpackage-utils >= 1.7.5 for package: ivy
--> Running transaction check
---> Package jpackage-utils.noarch 0:1.7.5-1jpp set to be updated
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Finished Dependency Resolution
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386 from installed has depsolving problems
  --> Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386 (installed)
--> Running transaction check
---> Package jpackage-utils.noarch 0:1.7.5-1jpp set to be updated
--> Processing Dependency: jpackage-utils >= 1.7.5 for package: ivy
--> Finished Dependency Resolution
ivy-1.3.1-3.jpp5.noarch from jpackage50-generic has depsolving problems
  --> Missing Dependency: jpackage-utils >= 1.7.5 is needed by package ivy-1.3.1-3.jpp5.noarch (jpackage50-generic)

Packages skipped because of dependency problems:
    ivy-1.3.1-3.jpp5.noarch from jpackage50-generic
    jakarta-commons-cli-1.1-1.jpp5.noarch from jpackage50-generic
    jakarta-commons-codec-1.3-9.jpp5.noarch from jpackage50-generic
    1:jakarta-commons-httpclient-3.0.1-3.jpp5.noarch from jpackage50-generic
    jakarta-commons-logging-1.1-8.jpp5.noarch from jpackage50-generic
    jakarta-oro-2.0.8-3.jpp5.noarch from jpackage50-generic
    jpackage-utils-1.7.5-1jpp.noarch from jpackage17-generic
    jpackage-utils-5.0.0-2.jpp5.noarch from jpackage50-generic
[root@localhost ~]# 

}}}