{"action":"created","issue":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/967","labels_url":"https://api.github.com/repos/mesosphere/marathon/issues/967/labels{/name}","comments_url":"https://api.github.com/repos/mesosphere/marathon/issues/967/comments","events_url":"https://api.github.com/repos/mesosphere/marathon/issues/967/events","html_url":"https://github.com/mesosphere/marathon/issues/967","id":53871882,"number":967,"title":"Marathon service can't find Mesos libs","user":{"login":"guidoilbaldo","id":6077718,"avatar_url":"https://avatars.githubusercontent.com/u/6077718?v=3","gravatar_id":"","url":"https://api.github.com/users/guidoilbaldo","html_url":"https://github.com/guidoilbaldo","followers_url":"https://api.github.com/users/guidoilbaldo/followers","following_url":"https://api.github.com/users/guidoilbaldo/following{/other_user}","gists_url":"https://api.github.com/users/guidoilbaldo/gists{/gist_id}","starred_url":"https://api.github.com/users/guidoilbaldo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guidoilbaldo/subscriptions","organizations_url":"https://api.github.com/users/guidoilbaldo/orgs","repos_url":"https://api.github.com/users/guidoilbaldo/repos","events_url":"https://api.github.com/users/guidoilbaldo/events{/privacy}","received_events_url":"https://api.github.com/users/guidoilbaldo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-09T14:18:46Z","updated_at":"2015-05-18T12:30:47Z","closed_at":null,"body":"Hi,\r\n\r\n I just installed marathon 0.7.6 on Mesos 0.21.1 on CentOS 7. Following the procedure mentioned here http://mesosphere.com/docs/getting-started/datacenter/install/ I tried to setup a simple cluster with 3 master nodes. Upon finishing Marathon installation and trying to start it (using systemctl start marathon.service command), I got the following exception:\r\n\r\nan  8 14:52:33 meslpbm1 marathon[46496]: [2015-01-08 14:52:33,297] INFO Initiating client connection, connectString=meslpbm1.gcio.unicredit.eu:2181,meslpbm2.gcio.unicredit.eu:2181,meslpbm3.gcio.unicredit.eu:2181 sessionTimeout=10000 watcher=com.twitter.common.zookeeper.ZooKeeperClient$3@5b20d371 (org.apache.zookeeper.ZooKeeper:379)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: [2015-01-08 14:52:33,308] INFO Opening socket connection to server meslpbm3.gcio.unicredit.eu/10.254.47.161:2181 (org.apache.zookeeper.ClientCnxn:1061)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: [2015-01-08 14:52:33,318] INFO Socket connection established to meslpbm3.gcio.unicredit.eu/10.254.47.161:2181, initiating session (org.apache.zookeeper.ClientCnxn:950)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: [2015-01-08 14:52:33,330] INFO Session establishment complete on server meslpbm3.gcio.unicredit.eu/10.254.47.161:2181, sessionid = 0x34ac98586880004, negotiated timeout = 10000 (org.apache.zookeeper.ClientCnxn:739)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: [2015-01-08 14:52:33,365] INFO Using HttpCallbackEventSubscriber for eventnotification (mesosphere.marathon.Main$:67)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: Failed to load native Mesos library from /usr/local/lib\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: Exception in thread \"main\" java.lang.UnsatisfiedLinkError: no mesos in java.library.path\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at java.lang.Runtime.loadLibrary0(Runtime.java:849)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at java.lang.System.loadLibrary(System.java:1088)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at org.apache.mesos.MesosNativeLibrary.load(MesosNativeLibrary.java:54)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at org.apache.mesos.MesosNativeLibrary.load(MesosNativeLibrary.java:79)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at org.apache.mesos.state.AbstractState.<clinit>(AbstractState.java:36)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at mesosphere.marathon.MarathonModule.provideMesosState(MarathonModule.scala:72)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at java.lang.reflect.Method.invoke(Method.java:606)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.Scopes$1$1.get(Scopes.java:65)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.Scopes$1$1.get(Scopes.java:65)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.Scopes$1$1.get(Scopes.java:65)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.Guice.createInjector(Guice.java:95)\r\nJan  8 14:52:33 meslpbm1 marathon[46496]: at com.google.inject.Guice.createInjector(Guice.java:72)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.chaos.App$class.injector(App.scala:17)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$.injector$lzycompute(Main.scala:18)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$.injector(Main.scala:18)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.chaos.App$$anonfun$run$2.apply(App.scala:35)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.chaos.App$$anonfun$run$2.apply(App.scala:34)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.chaos.App$class.run(App.scala:34)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$.run(Main.scala:18)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$.delayedEndpoint$mesosphere$marathon$Main$1(Main.scala:86)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$delayedInit$body.apply(Main.scala:18)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.Function0$class.apply$mcV$sp(Function0.scala:40)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.App$$anonfun$main$1.apply(App.scala:76)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.App$$anonfun$main$1.apply(App.scala:76)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.collection.immutable.List.foreach(List.scala:381)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at scala.App$class.main(App.scala:76)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main$.main(Main.scala:18)\r\nJan  8 14:52:34 meslpbm1 marathon[46496]: at mesosphere.marathon.Main.main(Main.scala)\r\n\r\n\r\nwhich clearly points out that Marathon is searching for libmesos under /usr/local/lib, while I have them installed under /usr/lib. I installed Mesos and Marathon via yum and also tried to set MESOS_NATIVE_JAVA_LIBRARY and MESOS_NATIVE_LIBRARY environment variables to no avail. Still, I get this exception while starting Marathon service.\r\nI fixed this by creating symbolic links to libs under /usr/lib.\r\nRegards,\r\nStefano"},"comment":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/comments/103042525","html_url":"https://github.com/mesosphere/marathon/issues/967#issuecomment-103042525","issue_url":"https://api.github.com/repos/mesosphere/marathon/issues/967","id":103042525,"user":{"login":"kolloch","id":339354,"avatar_url":"https://avatars.githubusercontent.com/u/339354?v=3","gravatar_id":"","url":"https://api.github.com/users/kolloch","html_url":"https://github.com/kolloch","followers_url":"https://api.github.com/users/kolloch/followers","following_url":"https://api.github.com/users/kolloch/following{/other_user}","gists_url":"https://api.github.com/users/kolloch/gists{/gist_id}","starred_url":"https://api.github.com/users/kolloch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kolloch/subscriptions","organizations_url":"https://api.github.com/users/kolloch/orgs","repos_url":"https://api.github.com/users/kolloch/repos","events_url":"https://api.github.com/users/kolloch/events{/privacy}","received_events_url":"https://api.github.com/users/kolloch/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T12:30:46Z","updated_at":"2015-05-18T12:30:46Z","body":"@lloesche has that been solved? If yes, please close this issue."}}