Can I specify the what version of Hypre to download? Do I need to use --with-hypre=1 and specify --with-hypre-dir? It will be nice if you may point me to a sample setting of configure options using --download-hypre. Thanks, Qin
On Thursday, January 9, 2014 3:07 PM, Matthew Knepley <[email protected]> wrote: On Thu, Jan 9, 2014 at 3:05 PM, Qin Lu <[email protected]> wrote: Is the linker ld compitable with Intel compilers? > >If I use --download-hypre=1, will it download the 32-bit Hypre lib that is >consistent with my MPI lib and my PETSc lib built with Intel compilers? It will build it from source. Matt >Thanks, >Qin > > > >On Thursday, January 9, 2014 11:43 AM, Satish Balay <[email protected]> wrote: > >Well the compiler [ld] doesn't appear to like the hypre library you built. > >What do you have for: > >file /d/dev01/qlu/Lib/hypre-2.8.0b/LINUX_32/lib/libHYPRE.a > >Why not use --download-hypre=1 ? > >Satish > > >On Thu, 9 Jan 2014, Qin Lu wrote: > >> Now it got new problem later in configure: it does not like the Hypre lib >> :"Possible ERROR while running linker: ld: skipping incompatible >> /d/dev01/qlu/Lib/hypre-2.8.0b/LINUX_32/lib/libHYPRE.a when searching for >> -lHYPRE". Please see the attached log file for details. >> >> I built the Hypre-2.8.0b using the same Intel compilers as PETSc. >> >> Thanks for any ideas, >> Qin >> >> >> >> On Thursday, January 9, 2014 9:25 AM, Qin Lu <[email protected]> wrote: >> >> Thanks a lot for pointing out the problem. Configure passed it after I set >> the path of libirc.so. >> >> Regards, >> Qin >> >> >> >> On Wednesday, January 8, 2014 4:25 PM, Satish Balay <[email protected]> >> wrote: >> >> > ('Linux', 'houhpclc01', '2.6.18-308.4.1.el5', '#1 SMP Tue Apr 17 17:08:10 >> > EDT 2012', 'i686', 'i686') >> >> the machine appears to to be running 32bit linux - so I'm not sure why it >> has a 64bit libirc.so >> >> [and the paths linker is referencing to are 32bit library paths] >> >> The workarround to try [for intel compilers] is: >> >> --with-clib-autodetect=0 --with-fortranlib-autodetect=0 >> --with-cxxlib-autodetect=0 LIBS="-Bstatic -lifcore -Bdynamic" >> >> Satish >> >> >> The On Wed, 8 Jan 2014, Barry Smith wrote: >> >> > >> > Here is how icc is linking a C main program: >> > >> > ld --eh-frame-hdr -dynamic-linker /lib/ld-linux.so.2 -m elf_i386 -o >> > /tmp/petsc-3SW45q/config.compilers/conftest -L/apps/compilers/intel/Compiler/11.1/056/lib/ia32 >> -L/usr/lib/gcc/i386-redhat-linux/4.1.2/ >>-L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ -L/lib/ -L/usr/lib >>/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o >>/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o >>/usr/lib/gcc/i386-redhat-linux/4.1.2/crtbegin.o >>/tmp/petsc-3SW45q/config.compilers/conftest.o -ldl -Bstatic -limf -lsvml >>-Bdynamic -lm -Bstatic -lipgo -ldecimal -Bdynamic -lgcc_s -lgcc -Bstatic >>-lirc -Bdynamic -lc -lgcc_s -lgcc -Bstatic -lirc_s -Bdynamic -ldl -lc >>/usr/lib/gcc/i386-redhat-linux/4.1.2/crtend.o >>/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o >> > >> > Since PETSc uses C if you use Fortran it needs to link against this >> >same stuff with the intel Fortran linker. We try to rationalize the above >> >list and get >> > >> > Libraries needed to link C code with another linker: ['-ldl', '-L/apps/compilers/intel/Compiler/11.1/056/lib/ia32', >> '-L/usr/lib/gcc/i386-redhat-linux/4.1.2', '-limf', '-lsvml', '-lipgo', >>'-ldecimal', '-lgcc_s', '-lirc', '-lirc_s', >>'-L/apps/compilers/intel/Compiler/11.1/056/lib/ia32', >>'-L/usr/lib/gcc/i386-redhat-linux/4.1.2’] >> > >> > So when it uses ifort to link something it uses >> > >> > /apps/compilers/intel/Compiler/11.1/056/bin/ia32/ifort -o >> > /tmp/petsc-3SW45q/config.setCompilers/conftest -O3 >> > /tmp/petsc-3SW45q/config.setCompilers/conftest.o -ldl >> > -L/apps/compilers/intel/Compiler/11.1/056/lib/ia32 >> > -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -limf -lsvml -lipgo -ldecimal >> > -lgcc_s -lirc -lirc_s -L/apps/compilers/intel/Compiler/11.1/056/lib/ia32 >> > -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -ldl >> > >> > which when running the code results in >> > >> > ERROR while running executable: Could not execute >> "/tmp/petsc-3SW45q/config.setCompilers/conftest": >> > /tmp/petsc-3SW45q/config.setCompilers/conftest: error while loading shared >> > libraries: libirc.so: wrong ELF class: ELFCLASS64 >> > >> > Because the -Bstatic are stripped from the link line the wrong libirc.so >> > gets picked up by the linker resulting in the runtime error. >> > >> > I’ve seen these perverse icc link lines mess things up before but don’t >> > remember a solution. Satish must remember! >> > >> > Is there a reason to use the 32bit version? Have you tried using the 64 >> > bit compilers ? Generally I don’t think there is a reason to use 32bit now >> > a days. >> > >> > Barry >> > >> > >> > >> > >> > >> > >> > On Jan 8, 2014, at 3:21 >> PM, Qin Lu <[email protected]> wrote: >> > >> > > Hello, >> > > >> > > I am trying to build a Linux 32-bit PETSc lib. I first built >> > > python-2.7.5 in a 32-bit Linux workstation without problem, then used >> > > this python to configure PETSc-3.4.2 with Intel C/C++/Fortran compilers, >> > > it got the following error: >> > > >> > > =============================================================================== >> > > TESTING: checkCLibraries from >> config.compilers(config/BuildSystem/config/compilers.py:161) >> >>******************************************************************************* >> > > UNABLE to EXECUTE BINARIES for ./configure >> > > ------------------------------------------------------------------------------- >> > > Cannot run executables created with FC. If this machine uses a batch system >> > > to submit jobs you will need to configure using ./configure with the >> > > additional option --with-batch. >> > > Otherwise there is problem with the compilers. Can you compile and run >> > >code >> with your C/C++ (and maybe Fortran) compilers? >> > > See http://www.mcs.anl.gov/petsc/documentation/faq.html#libimf >> > > ******************************************************************************* >> > > >> > > It seems that a test program built with the given Intel ifort does not >> > > run. But I have built another program using ifort in the same >> > > workstation and it runs fine. >> > > >> > > Please see the attached configure.log file for details. >> > > >> > > Thanks for your suggestions! >> > > >> > > Regards, >> > > Qin >> > > >> > > >> > > >> <configure.log> >> > >> > >> > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
