[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-users] Is this a case of of "internal ld not invoked" as in the FAQs?



In the log file for one of my condor jobs, there are lines:

 .
 .
 .
004 (081.000.000) 02/01 18:04:57 Job was evicted.
        (0) Job was not checkpointed.
                Usr 0 00:00:00, Sys 0 00:00:00  -  Run Remote Usage
                Usr 0 00:00:00, Sys 0 00:00:00  -  Run Local Usage
        760  -  Run Bytes Sent By Job
        12419982  -  Run Bytes Received By Job
 .
 .
 .
as well as lines that tell me the job was checkpointed before eviction.
When a job is not checkpointed does that mean that the job did not run at
all on that machine, or did I lose the progress the job had made. I
noticed that usr time is  always 0 in these cases.

I decided that I wanted to checkpoint on a finer basis, so I added a line:

 ckpt(); to my source code.

when I try to condor_compile:
sarin% condor_compile /usr/bin/g++  BE_p001_D16-17_L8-9_S1.c -o
BE_p001_D16-17_L8-9_S1

I get the msgs
BE_p001_D16-17_L8-9_S1.c: In function `int main(int, char**)':
BE_p001_D16-17_L8-9_S1.c:346: `ckpt' undeclared (first use this function)
BE_p001_D16-17_L8-9_S1.c:346: (Each undeclared identifier is reported only
once
   for each function it appears in.)
ERROR: Internal ld was not invoked!
ERROR: Executable may not be linked properly for Condor!

In the web manual, under "more about how condor vacates a job,
ckpt() is mentioned

A job that linked with the Condor libraries via the condor_compile command
and subsequently submitted into the Standard Universe will checkpoint and
exit upon receipt of a SIGTSTP signal. Thus, SIGTSTP is the default value
for KillSig when submitting into the Standard Universe. However, the
user's code can checkpoint itself at any time by calling one of the
following functions exported by the Condor libraries:

ckpt()
    Will perform a checkpoint and then return

How can I write this in my code if it won't link in?
A program without that 1 line compiles fine.