Hi,
I've downloaded the lastest red5 dist - 1.0.0-RC1 and installed on
osx. When i attempt to run from red5.sh i encounter the following
error:
Red5 Server 1.0.0 RC1 $Rev: 4193 $ (
http://code.google.com/p/red5/)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.red5.server.Bootstrap.bootStrap(Bootstrap.java:118)
at org.red5.server.Bootstrap.main(Bootstrap.java:49)
Caused by: java.lang.NoSuchMethodError:
org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/
String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at
org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:
159)
at
org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:
456)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
394)
at org.red5.server.Launcher.launch(Launcher.java:64)
... 6 more
It would appear that this is caused by some classpath conflict with
slf4j however i have been unable to track down where the conflicted
might be coming from. I've tried putting the slf4j and logback
libraries at the start of the classpath, as recommended in other msgs,
but this doesn't seem to work:
export CLASSPATH=$RED5_HOME/lib/com.springsource.slf4j.api-1.6.1.jar:
$RED5_HOME/lib/logback-core-0.9.26.jar:$RED5_HOME/lib/logback-
classic-0.9.26.jar
Classpath is confirmed by echo in red5.sh:
echo "Classpath=$CLASSPATH"
echo "Red5 Classpath=$RED5_CLASSPATH"
Which outputs the following at startup:
Quadraplex:red5-1.0.0-RC1 cam$ ./red5.sh
Running on Darwin
Starting Red5
Classpath=./lib/com.springsource.slf4j.api-1.6.1.jar:./lib/logback-
core-0.9.26.jar:./lib/logback-classic-0.9.26.jar
Red5 Classpath=./boot.jar:./conf:./lib/
com.springsource.slf4j.api-1.6.1.jar:./lib/logback-core-0.9.26.jar:./
lib/logback-classic-0.9.26.jar
I've tried starting with no libraries and adding in as required but
hit the same error. I've also tried searching through the binaries for
references to LocationAwareLogger but can't find any. I've also tried
to decompile the jcl bridge and other slf4j libraries to find out
where this conflict might be coming from but to no avail.
I'm sure this must be a simple problem to fix but i can't seem to find
it!! Any help is most appreciated!
I also see someone is running into this problem from StackOverflow in
the last month:
http://stackoverflow.com/questions/5403525/whats-wrong-for-this-error
Thanks!
cam