You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2013/04/23 20:49:17 UTC

[jira] [Created] (MESOS-448) Make hadoop-* is broken on trunk.

Benjamin Mahler created MESOS-448:
-------------------------------------

             Summary: Make hadoop-* is broken on trunk.
                 Key: MESOS-448
                 URL: https://issues.apache.org/jira/browse/MESOS-448
             Project: Mesos
          Issue Type: Bug
            Reporter: Benjamin Mahler
            Assignee: Benjamin Hindman
            Priority: Critical


This was broken by: https://reviews.apache.org/r/10581 (which I think was benh's change originally).

I augmented the logging with the following in process_isolator.cpp:
    // Determine path for mesos-launcher.
    Try<string> realpath = os::realpath(
        path::join(flags.launcher_dir, "mesos-launcher"));

    if (realpath.isError()) {
      EXIT(1) << "Failed to determine the canonical path of '"
              << path::join(flags.launcher_dir, "mesos-launcher")
              << "': " << realpath.error();
    }

Which now gets me the launcher path it's looking at:
"Failed to determine the canonical path of '/usr/local/libexec/mesos/mesos-launcher': No such file or directory"

Are we expecting a make install for this to work? Shouldn't this be working out of the build directory when no make install has taken place?

On my system, I only have:
$ sudo find / -name "mesos-launcher"
/Users/bmahler/git/mesos/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos/build/src/mesos-launcher
/Users/bmahler/git/mesos3/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos3/build/src/mesos-launcher
/usr/local.old/libexec/mesos/mesos-launcher  // Possibly leftover from a OSX upgrade..

The launcher directory is set from this flag:
    add(&Flags::launcher_dir, // TODO(benh): This needs a better name.
        "launcher_dir",
        "Location of Mesos binaries",
        MESOS_LIBEXECDIR);

And in the Makefile.am:
MESOS_CPPFLAGS += -DMESOS_LIBEXECDIR=\"$(pkglibexecdir)\"

Looking at killtree() in process_utils.hpp, do we want to do something similar for the launcher?
  if (os::hasenv("MESOS_KILLTREE")) {
    // Set by mesos-build-env.sh.
    cmdline = os::getenv("MESOS_KILLTREE");
  } else if (os::hasenv("MESOS_SOURCE_DIR")) {
    // Set by test harness for external tests.
    cmdline = os::getenv("MESOS_SOURCE_DIR") +
      "/src/scripts/killtree.sh";
  } else {
    cmdline = MESOS_LIBEXECDIR "/killtree.sh";
  }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira