From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Tue Feb 10 2009 - 11:04:32 PST
Try adding "-ldl" to the end of the gcc command line to link libdl. If you then get undefined references to pthread symbols, add "-lpthread" as well. -Paul Andrea Autiero S143785 wrote: > i've tryed it again but this is the answer: > > andrea@chisone:~/Desktop/materiale_tesi> gcc -o new_static matrix.c -static > -L/usr/local/lib/ -lcr_run -u cr_run_link_me > /usr/local/lib//libcr_run.a(libcr_run_la-cr_run.o): In function `cri_init': > /home/andrea/Desktop/blcr-0.7.3/builddir/libcr/../../libcr/cr_libinit.c:148: > undefined reference to `dlopen' > /home/andrea/Desktop/blcr-0.7.3/builddir/libcr/../../libcr/cr_libinit.c:151: > undefined reference to `dlsym' > /home/andrea/Desktop/blcr-0.7.3/builddir/libcr/../../libcr/cr_libinit.c:152: > undefined reference to `dlclose' > collect2: ld returned 1 exit status > > is a problem of my system??i'm not very skilled on linux.. > > thank you > Andrea > > On Mon, 09 Feb 2009 14:23:34 -0800, "Paul H. Hargrove" <PHHargrove_at_lbl_dot_gov> > wrote: > >> Andrea, >> >> Please reread the "Cautionary Linker Notes" in the BLCR User's Guide. >> I beleive you need a "-u cr_link_me" argument when building your >> application "static_2" with libcr.a. Note also that "-u cr_run_link_me >> -lcr_run" may be better than "-u cr_link_me -lcr" because libcr_run.a >> contains only the code that the cr_run utility would insert into a >> dynamically linked executable, while libcr.a contains additional code >> that is unnecessary for this basic usage. >> >> Continue to let us know if you need assistance. >> >> -Paul >> >> Andrea Autiero S143785 wrote: >> >>> all right.. >>> i've compiled blcr with the following options: >>> >>> sudo ../configure --host=ppc-linux --prefix=/ppc_blcr/builddir/ >>> >>> > --with-system-map=/home/andrea/Desktop/programmi_per_tesi/linux-2.6.18/System.map > >>> --with-linux=/home/andrea/Desktop/programmi_per_tesi/linux-2.6.18/ >>> --enable-all-static --enable-static cross_signum=64 >>> cross_stack_direction=-1 >>> >>> make >>> >>> make install DESTDIR=/ppc_blcr/builddir >>> >>> then i've compiled my application: >>> >>> source /home/andrea/Desktop/programmi_per_tesi/eldk/eldk_init 4xx >>> ${CROSS_COMPILE}gcc -o static_2 matrix.c -static >>> -L/ppc/blcr_builddir/lib/ >>> -lcr >>> >>> after that i've put file in ppc_blcr/builddir and my application in the >>> filesystem of my virtual ppc on simics >>> >>> it start and i initalize the library (trying launch cr_checkpoint --help >>> works!!) >>> then i launch >>> >>> ./static_2 & >>> ps >>> cr_checkpoint pid_of_static_2 >>> >>> and i see on the screen: >>> >>> blcr: retry request on -CR_ENOSUPPORT >>> Checkpoint failed: support missing from application >>> >>> now what can i do??is it possible to make it work?? >>> thank you >>> andrea autiero >>> >>> On Thu, 29 Jan 2009 10:57:56 -0800, "Paul H. Hargrove" >>> <PHHargrove_at_lbl_dot_gov> >>> wrote: >>> >>> >>>> Andrea, >>>> >>>> As Karthik says, you will at least need to configure BLCR >>>> --enable-static to ensure static libraries are built (by default only >>>> shared libs are built). However, that alone is not sufficient because >>>> the "cr_run" utility only operates on dynamically linked executables. >>>> So, if "my_app" was compiled -static, "cr_run my_app" will not load the >>>> > > >>>> BLCR support into the application regardless of whether the static >>>> libraries have been built. For the case of a statically linked >>>> executable, one needs to link in BLCR support when the application is >>>> built, rather than at run time via "cr_run". Please see section "4.2 >>>> Making an application checkpointable" in the BLCR Users Guide (in the >>>> doc/html directory of the BLCR distribution, or online at >>>> http://mantis.lbl.gov/blcr/doc/html/BLCR_Users_Guide.html ). You >>>> probably want option #2 in that section, and should read the >>>> > "Cautionary > >>>> linker notes" at the end of that section. If you still have problems, >>>> please let us know and we'll try to help. >>>> >>>> -Paul >>>> >>>> Karthik Gopalakrishnan wrote: >>>> >>>> >>>>> Did you configure BLCR with "--enable-static"? >>>>> >>>>> On Thu, Jan 29, 2009 at 5:40 AM, Andrea Autiero S143785 >>>>> <[email protected]> wrote: >>>>> >>>>> >>>>> >>>>>> goodmorning >>>>>> i'm an italian student trying to run your library in one embedded >>>>>> >>>>>> >>> system >>> >>> >>>>>> (by now is just virtual) >>>>>> i'm simuling one ebony board (ppc-4xx) whith 2.6.18 linux kernel on >>>>>> > it > >>>>>> i've cross-compiled the library and it seems to work on the target >>>>>> system, >>>>>> but i cant launch any application >>>>>> linked with the lib >>>>>> i must compile the executable with gcc -static and i think i need >>>>>> libcr.a >>>>>> how i could have it??could you help me? >>>>>> running cr_run myapp & and then cr_checpoint doesn't work >>>>>> it says to me "missing support from application" >>>>>> hope to have one answer and thnak you >>>>>> Andrea Autiero >>>>>> Politecnico di Torino >>>>>> >>>>>> >>>>>> >>>>>> -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group Tel: +1-510-495-2352 HPC Research Department Fax: +1-510-486-6900 Lawrence Berkeley National Laboratory