From: Rui L. <ru...@il...> - 2013-10-17 14:38:16
|
Hi Phuong, Glad to know you succeeded in PerfSuite installation! Copying the list in case it could help others... Thanks, Rui On 10/16/2013 10:21 PM, Pham Thanh Phuong wrote: > Hi Rui Liu, > > I have just finished the installation of Perfsuite in my cluster. Thank you very much for your help. > > Best regards, > Phuong Pham > > > On 11 October 2013 22:11, Rui Liu <ru...@il... <mailto:ru...@il...>> wrote: > > Hi Phuong, > > Thanks a lot for providing the config.log file! It helped to locate the issue. > > Summary: it seemed that you had 2 PAPI installations on your system -- one at /usr, the other at /usr/local, however, you used "--with-papi=/usr/local/bin" as your PerfSuite configure option. > > Solution: remove one of the 2 PAPI installations, and use the correct config option, either "--with-papi=/usr" or "--with-papi=/usr/local", depending on which PAPI installation you keep. > > > To remove a PAPI installation, since it does not have an "uninstall" make target, in PAPI's installation root path, you can do a "ls" followed by "rm" to remove it: > ls bin/papi_* include/*papi.h include/papiStdEventDefs.h lib/libpapi.* lib/libpfm.* man/man1/papi_* man/man3/PAPI* share/papi (make sure these are all PAPI files) > rm -rf bin/papi_* include/*papi.h include/papiStdEventDefs.h lib/libpapi.* lib/libpfm.* man/man1/papi_* man/man3/PAPI* share/papi > Since your PAPI root path is "/usr" or "/usr/local", which is a system path, so be careful not to remove unintended files. That's why we do a "ls" first. :-) > > > > Details: > > > fpapitest.f: In program `fpapitest': > fpapitest.f:55: > include 'f77papi.h' > ^ > Unable to open INCLUDE file `f77papi.h' at (^) > > > [root@node5 perfsuite-1.1.2]# locate f77papi.h > /root/PerfSuit/papi-4.4.0/src/____f77papi.h > /usr/include/f77papi.h > /usr/local/include/f77papi.h > > > As you can see, the "f77papi.h" file is part of a PAPI installation. The "locate" result showed 3 locations: the first one was your PAPI source, the next 2 lines indicated that you installed PAPI twice, one in "/usr", the other in "/usr/local". However, you used "--with-papi=/usr/local/bin" in your PerfSuite configure option. The "config.log" showed that "configure" was using /usr/local/bin/include as PAPI include file path, and /usr/local/bin/lib as PAPI library path -- clearly it could not find the PAPI files there, however, it found the PAPI files of another installation in /usr/include and /usr/lib, since these are system paths. So this scenario fooled "configure" to think that PAPI was installed at "/usr/local/bin", and defined in "config.h" and "config.log" the following: > > PAPI_CPPFLAGS='-I/usr/local/__bin/include ' > ... > PAPI_LDFLAGS=' -L/usr/local/bin/lib' > PAPI_LIBDIR='/usr/local/bin/__lib' > PAPI_ROOTDIR='/usr/local/bin' > > Later on, the "Makefile.am"-generated "Makefile" used PAPI_CPPFLAGS in compiling fpapitest.f, and certainly could not find f77papi.h there to include. > > > Appended below are a few relevant lines in your "config.log" regarding "configure"'s checking of PAPI support. One can see that it was using "/usr/local/bin/include" and "/usr/local/bin/lib". > > > Thanks, > Rui > > > ------------------------------__------------------------------__------ > configure:22327: checking for PAPI support > configure:22354: checking papi.h usability > configure:22354: gcc -c -g -O2 -I/usr/local/bin/include conftest.c >&5 > configure:22354: $? = 0 > configure:22354: result: yes > configure:22354: checking papi.h presence > configure:22354: gcc -E -I/usr/local/bin/include conftest.c > configure:22354: $? = 0 > configure:22354: result: yes > configure:22354: checking for papi.h > configure:22354: result: yes > configure:22372: checking PAPI version > configure:22410: gcc -o conftest -g -O2 -I/usr/local/bin/include conftest.c >&5 > configure:22410: $? = 0 > configure:22410: ./conftest > configure:22410: $? = 0 > configure:22421: result: 4.4.0.0 > configure:22447: Using PAPI subdirectory "lib" > configure:22451: checking for library containing PAPI_library_init > configure:22490: gcc -o conftest -g -O2 -I/usr/local/bin/include -L/usr/local/bin/lib conftest.c >&5 > /tmp/cc4V1S70.o: In function `main': > /root/PerfSuit/perfsuite-1.1.__2/conftest.c:72: undefined reference to `PAPI_library_init' > collect2: ld returned 1 exit status > configure:22490: $? = 1 > configure: failed program was: > | /* confdefs.h */ > ... > configure:22490: gcc -o conftest -g -O2 -I/usr/local/bin/include -L/usr/local/bin/lib conftest.c -lpapi >&5 > configure:22490: $? = 0 > configure:22507: result: -lpapi > ------------------------------__------------------------------__------ > > > > > > On 10/10/2013 09:05 PM, Pham Thanh Phuong wrote: > > Hi Rui Liu, > > Here is the config.log file and I am trying to find out the origin of errors. > Thank you for your quickly reply, Thank you very much. > > Phuong > > > > On 10 October 2013 21:48, Rui Liu <ru...@il... <mailto:ru...@il...> <mailto:ru...@il... <mailto:ru...@il...>>> wrote: > > Hi Phuong, > > Thanks for your reply, and glad that you solved the Java config issue by yourself! :-) > > Regarding this issue, could you please send me the following: > 1) the "config.log" file in the PerfSuite's top source directory (where the "LICENSE", "INSTALL", "README" files are); > This file contains detailed info about the exact options you used in "configure", and typically is very helpful in debugging a config/make issue. > 2) In src/libpshwpc/tests/ (the directory containing "fpapitest.f"), the output of: > make clean > make > > Thanks a lot! > > Thanks, > Rui > > > On 10/10/2013 12:28 AM, Pham Thanh Phuong wrote: > > Hi Rui Liu, > > I pass the configuration step but there is an error when using make to compile Perfsuite : > > > fpapitest.f: In program `fpapitest': > fpapitest.f:55: > include 'f77papi.h' > ^ > Unable to open INCLUDE file `f77papi.h' at (^) > fpapitest.f:61: > papiret = PAPI_VER_CURRENT > ^ > Invalid declaration of or reference to symbol `papi_ver_current' at (^) [initially seen at (^)] > fpapitest.f:69: > if (papiret .ne. PAPI_OK) then > ^ > Invalid declaration of or reference to symbol `papi_ok' at (^) [initially seen at (^)] > fpapitest.f:86: > call PAPIF_set_domain(PAPI_DOM_____KERNEL, papiret) > > ^ > Invalid declaration of or reference to symbol `papi_dom_kernel' at (^) [initially seen at (^)] > fpapitest.f:92: > call PAPIF_add_event(eventset, PAPI_TOT_INS, papiret) > ^ > Invalid declaration of or reference to symbol `papi_tot_ins' at (^) [initially seen at (^)] > fpapitest.f:98: > call PAPIF_add_event(eventset, PAPI_TOT_CYC, papiret) > ^ > Invalid declaration of or reference to symbol `papi_tot_cyc' at (^) [initially seen at (^)] > make[4]: *** [fpapitest.o] Error 1 > make[3]: *** [all-recursive] Error 1 > make[2]: *** [all-recursive] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > > > > It seems the program cannot find out the f77papi.h but I found this file in my machine : > > [root@node5 perfsuite-1.1.2]# locate f77papi.h > /root/PerfSuit/papi-4.4.0/src/____f77papi.h > > /usr/include/f77papi.h > /usr/local/include/f77papi.h > > > Do you know where do the error come from ? > > Thank you very much. > > Best regards, > Phuong > > > > > On 10 October 2013 11:11, Pham Thanh Phuong <ph...@gm... <mailto:ph...@gm...> <mailto:ph...@gm... <mailto:ph...@gm...>> <mailto:ph...@gm... <mailto:ph...@gm...> <mailto:ph...@gm... <mailto:ph...@gm...>>>> wrote: > > Hi Rui Liu, > > Thank you very much for your email but it does not work follow up on your instructions because I did the PATH assignment before. In this case, I remove the gcj from my cluster and it works. Thank you for reminding me about gcj, I could manage it now. I continue to install it on other nodes and I hope my cluster will work well with PerfSuite ! > > Best regards, > > Phuong > > > > On 9 October 2013 21:23, Rui Liu <ru...@il... <mailto:ru...@il...> <mailto:ru...@il... <mailto:ru...@il...>> <mailto:ru...@il... <mailto:ru...@il...> <mailto:ru...@il... <mailto:ru...@il...>>>> wrote: > > Hi Phuong, > > Thank you for your interest in using PerfSuite! > > I'm PerfSuite's current maintainer. I saw similar behaviors before. This was because the "configure" command did not find the "java" executable, and instead found GNU Java ("gcj"), and gcj could have issues with PerfSuite. It looked like you installed Java under /root/PerfSuit/jdk1.7.0_40. Please add that to you PATH, that is, do one of the following: > export PATH=/root/PerfSuit/jdk1.7.0_______40/bin:$PATH (for bash, sh) > setenv PATH /root/PerfSuit/jdk1.7.0_40/______bin:$PATH (for tcsh, csh) > > > then run "configure" again. Hopefully this time it could find the correct java, javac, javadoc and jar executables in your JDK 1.7. > > Please let me know how it goes, or if you have further questions. Thanks! > > Thanks, > Rui Liu > NCSA, UIUC > > > On 10/08/2013 11:55 PM, Pham Thanh Phuong wrote: > > Dear all, > > I have a problem when install Perfsuite : > > configure: configuring Java support > checking for java... /root/PerfSuit/jdk1.7.0_40/______bin/java > You have CLASSPATH /root/PerfSuit/jdk1.7.0_40/______lib, hope it is correct > > > checking for kaffe... no > checking for java... java > checking for uudecode... no > configure: WARNING: I have to compile Test.class from scratch > checking for gcj... gcj -C > checking if gcj -C works... yes > checking if java works... configure: error: The Java VM java failed (see config.log, check the CLASSPATH?) > > > I wonder that what is the right CLASSPATH for configuring Perfsuite. Are there anyone have experience with this problem, please let me know. Thank you very much ! > > > (If I don't assign the CLASSPATH, the error will : cannot find java include files ? So that the classpath for perfsuite is ... ? ) > > Phuong. > > > > > |