| 684 | } |
| 685 | |
| 686 | void |
| 687 | testStaticallyLinked(const char *pathname) |
| 688 | { |
| 689 | if (Util::isStaticallyLinked(pathname)) { |
| 690 | JASSERT_STDERR << |
| 691 | "*** WARNING: " ELF_INTERPRETER " --verify " << pathname << " returns\n" |
| 692 | << "*** nonzero status.\n" |
| 693 | << "*** This often means that " << pathname << " is\n" |
| 694 | << |
| 695 | "*** a statically linked target. If so, you can confirm this with\n" |
| 696 | << "*** the 'file' command.\n" |
| 697 | << "*** The standard DMTCP only supports dynamically" |
| 698 | << " linked executables.\n" |
| 699 | << |
| 700 | "*** If you cannot recompile dynamically, please talk to the" |
| 701 | << " developers about a\n" |
| 702 | << |
| 703 | "*** custom DMTCP version for statically linked executables.\n" |
| 704 | << "*** Proceeding for now, and hoping for the best.\n\n"; |
| 705 | } |
| 706 | } |
| 707 | |
| 708 | // Test for 'screen' program, argvPtr is an in- and out- parameter |
| 709 | static bool |