Nevermind, I was completely wrong. I actually was able to build it using the commands that the original makefile produced (from PETSc), then when I went into Eclipse I forgot to press "clean"...derr.
Matt On Wed, Jul 27, 2011 at 7:21 PM, Matt Bockman <mdbockma at ucsd.edu> wrote: > Hi Berend, > > First of all, you have been extremely helpful. Second, I was FINALLY able > to compile the example through Eclipse. Sadly, it's the biggest breakthrough > I've had in the last 2 weeks of my research :(. > > Here's what I did: > > I tried running what Eclipse was running from a terminal: > > Eclipse: > /home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/bin/mpicc > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/include > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/include -O0 > -g3 -Wall -Wwrite-strings -Wno-strict-aliasing -MMD -MP -MF"ex1.d" > -MT"ex1.d" -o"ex1.o" "../ex1.c" > > That did not work. So I ran make ex1 in the original ex1 tutorial directory > and saw what the makefile was doing there: > > /home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/bin/mpicc > -o ex1.o -c -Wall -Wwrite-strings -Wno-strict-aliasing -g3 > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/src/dm/mesh/sieve > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/include > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/include > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/include > -D__INSDIR__=src/ksp/ksp/examples/tutorials/ ex1.c > > /home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/bin/mpicc > -Wall -Wwrite-strings -Wno-strict-aliasing -g3 -o ex1 ex1.o > -Wl,-rpath,/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/lib > -L/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/lib > -lpetsc -lX11 > -Wl,-rpath,/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/lib > -L/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/lib > -lflapack -lfblas -lnsl -lrt -lm > -L/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/linux-gnu-c-debug/lib > -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 > -L/usr/lib/x86_64-linux-gnu -ldl -lmpich -lpthread -lrt -lgcc_s -lmpichf90 > -lgfortran -lm -lm -ldl -lmpich -lpthread -lrt -lgcc_s -ldl > > So apparently it was making an object file then linking. I then compared > the one from Eclipse and found that I was missing > -I/home/mdbockman/Documents/Research/codes/petsc/petsc-3.1-p8/src/dm/mesh/sieve. > Why I need this I do not know (ideas?). > > But, after I found that I added it to my Include Directories and it > compiled! > > Thanks Berend and others, I appreciate your persistence and aid. > > Matt > > > On Wed, Jul 27, 2011 at 6:28 PM, Berend van Wachem < > b.van-wachem at imperial.ac.uk> wrote: > >> Dear Matt, >> >> I can't directly see anything wrong with your settings. >> >> Have you tried compiling your example outside of eclipse with the PETSc >> makefile system? >> >> The previous pastebin output you emailed me does suggest that the error is >> during the compile stage: it cannot find the correct headers describing the >> implementations of PetscInitialize etc. >> >> Have you tried using the mpicc outside of eclipse directly on the >> directory? >> >> /home/mdbockman/Documents/**Research/codes/petsc/petsc-3.** >> 1-p8/linux-gnu-c-debug/bin/**mpicc -I"/home/mdbockman/Documents/** >> Research/codes/petsc/petsc-3.**1-p8/include" >> -I"/home/mdbockman/Documents/**Research/codes/petsc/petsc-3.** >> 1-p8/linux-gnu-c-debug/**include" -O0 -g3 -Wall -Wwrite-strings >> -Wno-strict-aliasing -MMD -MP -MF"ex1.d" -MT"ex1.d" -o"ex1.o" "../ex1.c" >> >> within the eclipse directory? This way you can more easily play around >> with it to see what is the problem. >> >> I'm sorry I can't be of more help. >> >> Regards, >> Berend. >> >> >> >> On 07/28/2011 02:20 AM, Matt Bockman wrote: >> >>> Hi Berend, >>> >>> Under Library search path I have: >>> >>> /home/mdbockman/Documents/**Research/codes/petsc/petsc-3.** >>> 1-p8/linux-gnu-c-debug/lib >>> >>> For libraries I have: >>> >>> petsc >>> X11 >>> flapack >>> fblas >>> nsl >>> rt >>> m >>> dl >>> mpich >>> pthread >>> rt >>> gcc_s >>> mpichf90 >>> gfortran >>> m >>> m >>> dl >>> mpich >>> rt >>> gcc_s >>> dl >>> >>> I used the exact order as I found in petscmachineinfo.h file (see here: >>> http://pastebin.com/cqzNgjJe) >>> >>> Thank you very much for your help Berend, >>> Matt >>> >>> On Wed, Jul 27, 2011 at 6:11 PM, Berend van Wachem >>> <b.van-wachem at imperial.ac.uk <mailto:b.van-wachem at >>> imperial.**ac.uk<b.van-wachem at imperial.ac.uk>>> >>> wrote: >>> >>> Dear Matt, >>> >>> >>> What do you have under >>> Properties->C/C++ Build -> Settings -> GCC Linker Libraries for both >>> "Libraries" and "Library Search Path"? >>> >>> Regards, >>> Berend. >>> >>> >>> >>> On 07/28/2011 02:04 AM, Matt Bockman wrote: >>> >>> Hi Berend, >>> >>> Under Properties->C/C++ Build -> Settings -> GCC C Compiler -> >>> Directories : Include paths (-I) I have: >>> >>> /home/mdbockman/Documents/__**Research/codes/petsc/petsc-3._** >>> _1-p8/include >>> /home/mdbockman/Documents/__**Research/codes/petsc/petsc-3._** >>> _1-p8/linux-gnu-c-debug/**include >>> >>> Under Properties -> C/C++ BUild -> Environment -> I have >>> >>> PETSC_ARCH = linux-gnu-c-debug >>> PETSC_DIR = >>> /home/mdbockman/Documents/__**Research/codes/petsc/petsc-3._** >>> _1-p8 >>> >>> In my source file I have included petsc.h: >>> >>> #include "petsc.h" >>> >>> Thanks, >>> Matt >>> >>> On Wed, Jul 27, 2011 at 5:54 PM, Berend van Wachem >>> <b.van-wachem at imperial.ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk> >>> > >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk>>>> >>> wrote: >>> >>> Dear Matt, >>> >>> The error is definitely in the compiler stage: it cannot find that >>> appropriate petsc.h include file. >>> 1. Have you included petsc.h in the source file? >>> 2. What do you have under >>> <Your Project> -> Settings -> Includes >>> ? >>> >>> Also, just to make sure, you can set the appropriate values for >>> PETSC_DIR and PETSC_ARCH if you wish under >>> <Your Project> -> Settings -> Environment >>> >>> Regards, >>> >>> Berend. >>> >>> >>> >>> On 07/28/2011 01:49 AM, Matt Bockman wrote: >>> >>> Hi Berend, >>> >>> Here is the complete output of the build: >>> >>> http//pastebin.com/Es4ms4EF <http://pastebin.com/Es4ms4EF> >>> <http://pastebin.com/Es4ms4EF> >>> >>> >>> and by the 2nd to last line "collect2: ld returned 1 exit status" >>> I >>> believe it is failing during the linking step. I'm not 100% sure >>> though. >>> >>> Thanks for your quick response and help. Please advise, >>> >>> Matt >>> >>> On Wed, Jul 27, 2011 at 5:39 PM, Berend van Wachem >>> <b.van-wachem at imperial.ac.uk <mailto:b.van-wachem at imperial.** >>> ac.uk <b.van-wachem at imperial.ac.uk>> >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk> >>> >> >>> <mailto:b.van-wachem at imperial. >>> <mailto:b.van-wachem at imperial.**>____ac.uk <http://ac.uk> >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk>>>>> >>> wrote: >>> >>> Dear Matt, >>> >>> Does it say this during the compiling? Or linking? >>> >>> If it says this during the compiling, it means that eclipse cannot >>> find the PETSc header files. So, it must be the setting of the >>> "Includes". You might want to "hard-code" the directory, just to >>> make sure. >>> >>> It is indeed not completely straightforward - eclipse has so many >>> options. But trust me - many of them you will really learn to >>> appreciate over time. >>> >>> Kind regards, >>> >>> Berend. >>> >>> >>> >>> On 07/28/2011 01:34 AM, Matt Bockman wrote: >>> >>> Thanks Berend for your thorough response, >>> >>> I have done what you have said but I still get the same error >>> regarding >>> "undefined references to PetscInitialize" etc. It's like I didn't >>> include the petscksp.h file, but it's there. I even tried >>> petsc.h to no >>> avail. >>> >>> I'm not sure what the compiler is referring to when it says >>> "Undefined >>> references to ...". What I think this is is in the assembly code >>> generated by the compiler, there is a PetscInitialize symbol >>> that isn't >>> found in the library. But I'm soooooooooo confused at this point >>> :(. How >>> did you guys all learn how to compile this? >>> >>> Matt >>> >>> On Wed, Jul 27, 2011 at 4:46 PM, Berend van Wachem >>> <b.van-wachem at imperial.ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk> >>> > >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk> >>> >> >>> <mailto:b.van-wachem at imperial. >>> <mailto:b.van-wachem at imperial.**>____ac.uk <http://ac.uk> >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk> >>> >>> >>> <mailto:b.van-wachem at imperial <mailto:b.van-wachem at imperial>**. >>> <mailto:b.van-wachem at imperial >>> <mailto:b.van-wachem at imperial>**.__>____ac.uk <http://ac.uk> >>> <http://ac.uk> >>> >>> <mailto:b.van-wachem at imperial. >>> <mailto:b.van-wachem at imperial.**>____ac.uk <http://ac.uk> >>> <mailto:b.van-wachem at imperial.**__ac.uk >>> <mailto:b.van-wachem at imperial.**ac.uk<b.van-wachem at >>> imperial.ac.uk>>>>>> >>> wrote: >>> >>> Dear Matt, >>> >>> I use Eclipse and have eclipse make the makefiles. >>> It is just a matter of indicating to eclipse where the PETSc >>> headers/libraries are to be found, so if you have a C project >>> which >>> needs PETSc headers and libraries: >>> >>> To do this, click on your managed C project with the right sided >>> mouse button, select >>> >>> Properties -> C/C++ Build -> Settings >>> >>> Then you get a new window with on the right hand side the various >>> setting options. >>> >>> Select Includes, and add the required PETSc paths. In my case I >>> have >>> added >>> ${PETSC_DIR}/include >>> ${PETSC_DIR}/${PETSC_ARCH}/___**_____include >>> >>> Then select "Libraries" under the header Linker >>> and you should set the Library search path: >>> ${PETSC_DIR}/${PETSC_ARCH}/lib >>> >>> and then the libraries, in my case: >>> m, petsc, stdc++, mpichxx, mpich, lapack, blas, gfortran, dl, >>> rt,gcc_s, pthread, X11 >>> (you can find these easily in >>> $PETSC_DIR/$PETSC_ARCH/_______**_petscmachineinfo.h) >>> >>> The nice thing is that in eclipse you can easily switch between >>> Debug/Release code, traverse into the PETSc source code etc. It's >>> really a very productive tool with PETSc I've found. >>> >>> Let me know if you have any questions. >>> >>> Kind regards, >>> >>> Berend. >>> >>> >>> >>> On 07/27/2011 11:25 PM, Matt Bockman wrote: >>> >>> Thanks everyone for the help, >>> >>> I was able to compile a single example in Eclipse using the >>> provided >>> makefile. I'm pretty new to makefiles so it's a LOT to digest. >>> I'm now >>> manually creating a makefile for my project in Eclipse (and I've >>> set >>> Eclipse up to use a makefile that I create instead of >>> automatically >>> generating one). Unfortunately this is a big pain but since I >>> can't >>> figure out how to make Eclipse automatically include a few files >>> in the >>> makefile I don't really have any other choices :(. >>> >>> Thanks again, >>> Matt >>> >>> On Wed, Jul 27, 2011 at 1:43 PM, Mohammad Mirzadeh >>> <mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>>**>__> >>> wrote: >>> >>> There two problems(I think) in this code. >>> >>> 1) there is no main function in your source code. If this is the >>> only file you are compiling, you need to change the function name >>> to >>> main. >>> 2) linking should be done after object files are created. A simple >>> g++ call would first compile the main file and then link the >>> object >>> to the petsc lib i.e >>> >>> g++ -c -I($PETSC_INCLUDE) main.cpp >>> g++ -o main main.o $PETSC_LIBS >>> >>> alternatively, you could do it in a single line if you like >>> >>> g++ -o main -I($PETSC_INCLUDE) main.cpp $PETSC_LIBS >>> >>> my point is you should link to petsc after compiling your own >>> code. >>> So wherever in Eclipse that you are seting the parameters, make >>> sure >>> the $PETSC_LIBS is in the linker option and not compiler. >>> >>> Mohammad >>> >>> >>> On Wed, Jul 27, 2011 at 12:39 PM, Matt Bockman >>> <mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>>>**> >>> wrote: >>> >>> I added the include directories from "make getincludedirs" and I >>> added the line from "make getlinklib". Eclipse creates a gcc >>> call as follows: >>> >>> /home/mdbockman/Documents/____**____Research/codes/petsc/** >>> petsc-__3.______1-p8/linux-**gnu-c-__debug/bin/______mpicc >>> -I/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/linux-gnu-_**_c-debug/____include >>> -I/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/include >>> -I/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/linux-gnu-_**_c-debug/____include >>> -O0 -g3 -pg -p -Wall >>> -Wl,-rpath,/home/mdbockman/___**_____Documents/Research/codes/** >>> ________petsc/petsc-3.1-p8/**linux-__gnu-______c-debug/lib >>> -Wl,-rpath,/home/mdbockman/___**_____Documents/Research/codes/** >>> ________petsc/petsc-3.1-p8/**linux-__gnu-______c-debug/lib >>> -L/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/linux-gnu-_**_c-debug/__lib >>> -lpetsc -lX11 >>> -Wl,-rpath,/home/mdbockman/___**_____Documents/Research/codes/** >>> ________petsc/petsc-3.1-p8/**linux-__gnu-______c-debug/lib >>> -L/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/linux-gnu-_**_c-debug/__lib >>> -lflapack -lfblas -lnsl -lrt -lm >>> -L/home/mdbockman/Documents/__**______Research/codes/petsc/__** >>> petsc-__3.____1-p8/linux-gnu-_**_c-debug/__lib >>> -L/usr/lib/x86_64-linux-gnu/__**______gcc/x86_64-linux-gnu/4.** >>> 5.2 >>> -L/usr/lib/x86_64-linux-gnu -ldl -lmpich -lpthread -lrt -lgcc_s >>> -lmpichf90 -lgfortran -lm -lm -ldl -lmpich -lpthread -lrt >>> -lgcc_s -ldl -MMD -MP -MF"SparseMatrixPetsc.d" >>> -MT"SparseMatrixPetsc.d" -o"SparseMatrixPetsc.o" >>> "../SparseMatrixPetsc.c >>> >>> And when it is compiled I get the following: >>> >>> http://pastebin.com/CbRzYcZj >>> >>> The source file which is being compiled is: >>> >>> http://pastebin.com/Q85hXvnS >>> >>> Please have a look. I'm not quite sure what I'm doing wrong but >>> I feel like I'm getting closer and closer to the solution. >>> >>> Matt >>> >>> >>> On Wed, Jul 27, 2011 at 11:52 AM, Satish Balay >>> <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>>>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov> >>> <mailto:balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>>>>>**> >>> wrote: >>> >>> use: >>> make getincludedirs >>> >>> Satish >>> >>> On Wed, 27 Jul 2011, Mohammad Mirzadeh wrote: >>> >>> > I applogize for the mistake; Include files are actually >>> located >>> > in $PETSC_DIR/include >>> > >>> > On Wed, Jul 27, 2011 at 11:18 AM, Mohammad Mirzadeh >>> <mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com >>> <mailto:mirzadeh at gmail.com>>>>**>__>______wrote: >>> >>> >>> > >>> > > Ok then. Now I don't have enough experience with Eclipse so >>> > > I apologize beforehand if you already know these/have >>> tried them out. If >>> > > not, hopefully they can be of help. I assume there >>> should be a way in >>> > > Eclipse to give it the link lib directory. In plain >>> makefile that's just a >>> > > simple step when linking. To get all the needed >>> linklibs for petsc, you can >>> > > do >>> > > >>> > > make getlinklibs >>> > > >>> > > in the $PETSC_DIR. As for the needed include files, >>> they are all located >>> > > in >>> > > >>> > > $PETSC_DIR/$PETSC_ARCH/include >>> > > >>> > > Again, its easy to use these directories along with >>> your makefile. I'm not >>> > > sure about how you give them to Eclipse though. >>> Hopefully this has been >>> > > helpful. >>> > > >>> > > Best, >>> > > Mohammad >>> > > >>> > > >>> > > >>> > > >>> > > On Wed, Jul 27, 2011 at 10:52 AM, Matt Bockman >>> <mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>>>**> >>> wrote: >>> > > >>> > >> Just pointing it to the library would be sufficient. >>> > >> >>> > >> Matt >>> > >> >>> > >> >>> > >> On Wed, Jul 27, 2011 at 10:21 AM, Mohammad Mirzadeh >>> <mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com >>> <mailto:mirzadeh at gmail.com>>>>**>__>______wrote: >>> >>> >>> > >> >>> > >>> So do you want to be able to compile PETSc with >>> Eclipse or just point it >>> > >>> to the library to use in your own applications? >>> > >>> >>> > >>> >>> > >>> On Wed, Jul 27, 2011 at 9:14 AM, Matt Bockman >>> <mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu> >>> <mailto:mdbockma at ucsd.edu <mailto:mdbockma at ucsd.edu>>>>>**> >>> wrote: >>> > >>> >>> > >>>> Thanks Mohammad, >>> > >>>> >>> > >>>> I'll give that a shot. I use Qt Creator for some GUI >>> applications so I >>> > >>>> am familiar with it, but I've never tried doing a >>> non-Qt project in it. I'd >>> > >>>> really like to get Eclipse to work. >>> > >>>> >>> > >>>> Regarding the makefiles for eclipse. There are >>> makefiles that it >>> > >>>> generates (which are for GNU make) but I think I can >>> also manually create my >>> > >>>> makefiles. After sleeping on it, it seems like this >>> might be the best >>> > >>>> option, unless I can figure out a way to configure >>> eclipse to include the >>> > >>>> conf/variables and conf/rules files in the makefile. >>> > >>>> >>> > >>>> Matt >>> > >>>> >>> > >>>> >>> > >>>> On Wed, Jul 27, 2011 at 12:01 AM, Mohammad Mirzadeh >>> <mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com> >>> <mailto:mirzadeh at gmail.com <mailto:mirzadeh at gmail.com>>>>**> >>> >>> >>> > >>>> > wrote: >>> > >>>> >>> > >>>>> Although this is sort of orthogonal to what you do >>> right now, >>> > >>>>> I recommend Qt Creator as an alternative IDE to >>> Eclipse. It links nicely >>> > >>>>> with PETSc(or any other library for that matter) >>> and has excellent c/c++ >>> > >>>>> support. >>> > >>>>> >>> > >>>>> Mohammad >>> > >>>>> >>> > >>>>> >>> > >>>>> On Tue, Jul 26, 2011 at 7:22 PM, Barry Smith >>> <bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>>>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> >>> <mailto:bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov> >>> <mailto:bsmith at mcs.anl.gov >>> <mailto:bsmith at mcs.anl.gov>>>>**>__>______wrote: >>> >>> >>> > >>>>> >>> > >>>>>> >>> > >>>>>> There is a tiny bit of information in the PETSc >>> users manual about >>> > >>>>>> Eclipse: >>> > >>>>>> >>> > >>>>>> \section{Eclipse Users} \sindex{eclipse} >>> > >>>>>> >>> > >>>>>> If you are interested in developing code that uses >>> PETSc from Eclipse >>> > >>>>>> or developing PETSc in Eclipse and have knowledge >>> of how to do indexing and >>> > >>>>>> build libraries in Eclipse please contact us at \ >>> > >>>>>> trl{petsc-dev at mcs.anl.gov >>> <mailto:trl%7Bpetsc-dev at mcs.**anl.gov<trl%257Bpetsc-dev at >>> mcs.anl.gov> >>> > >>> <mailto:trl%7Bpetsc-dev at mcs.__**anl.gov <http://anl.gov> >>> <mailto:trl%257Bpetsc-dev at mcs.**anl.gov<trl%25257Bpetsc-dev at >>> mcs.anl.gov> >>> >> >>> <mailto:trl%7Bpetsc-dev at mcs. >>> <mailto:trl%257Bpetsc-dev at mcs.**>____anl.gov <http://anl.gov> >>> <mailto:trl%257Bpetsc-dev at mcs.**__anl.gov >>> <mailto:trl%25257Bpetsc-dev@**mcs.anl.gov<trl%2525257Bpetsc-dev at >>> mcs.anl.gov> >>> >>> >>> <mailto:trl%7Bpetsc-dev at mcs <mailto:trl%257Bpetsc-dev at mcs>**. >>> <mailto:trl%257Bpetsc-dev at mcs >>> <mailto:trl%25257Bpetsc-dev@**mcs <trl%2525257Bpetsc-dev at mcs> >>> >.__>____anl.gov <http://anl.gov> >>> <http://anl.gov> >>> <mailto:trl%257Bpetsc-dev at mcs. >>> <mailto:trl%25257Bpetsc-dev@**mcs <trl%2525257Bpetsc-dev at mcs> >>> .>____anl.gov <http://anl.gov> >>> <mailto:trl%25257Bpetsc-dev at __**mcs.anl.gov <http://mcs.anl.gov> >>> <mailto:trl%2525257Bpetsc-dev@**mcs.anl.gov<trl%252525257Bpetsc-dev >>> at mcs.anl.gov> >>> >>>> >>> <mailto:trl%7Bpetsc-dev at mcs <mailto:trl%257Bpetsc-dev at mcs> >>> <mailto:trl%257Bpetsc-dev at mcs >>> <mailto:trl%25257Bpetsc-dev@**mcs<trl%2525257Bpetsc-dev at mcs> >>> >>__. >>> >>> <mailto:trl%257Bpetsc-dev at mcs >>> <mailto:trl%25257Bpetsc-dev@**mcs<trl%2525257Bpetsc-dev at mcs> >>> > >>> <mailto:trl%25257Bpetsc-dev at __**mcs >>> <mailto:trl%2525257Bpetsc-dev@**mcs <trl%252525257Bpetsc-dev at mcs> >>> >>.__>____anl.gov >>> <http://anl.gov> <http://anl.gov> >>> >>> <http://anl.gov> >>> >>> <mailto:trl%257Bpetsc-dev at mcs >>> <mailto:trl%25257Bpetsc-dev@**mcs<trl%2525257Bpetsc-dev at mcs> >>> >. >>> <mailto:trl%25257Bpetsc-dev at __**mcs >>> <mailto:trl%2525257Bpetsc-dev@**mcs <trl%252525257Bpetsc-dev at mcs> >>> >.>____anl.gov <http://anl.gov> >>> <http://anl.gov> >>> >>> <mailto:trl%25257Bpetsc-dev@ >>> <mailto:trl%2525257Bpetsc-dev@**>____mcs.anl.gov < >>> http://mcs.anl.gov> >>> >>> <mailto:trl%2525257Bpetsc-dev@**__mcs.anl.gov >>> <mailto:trl%252525257Bpetsc-**dev at >>> mcs.anl.gov<trl%25252525257Bpetsc-dev at mcs.anl.gov> >>> >>>>>}. >>> >>> >>> >>> >>> >>> > >>>>>> >>> > >>>>>> To make PETSc an Eclipse package >>> > >>>>>> \begin{itemize} >>> > >>>>>> \item Install the Mecurial plugin for Eclipse and >>> then import the >>> > >>>>>> PETSc repository to Eclipse. >>> > >>>>>> \item elected New->Convert to C/C++ project and >>> selected shared >>> > >>>>>> library. After this point you can perform searchs >>> in the code. >>> > >>>>>> \end{itemize} >>> > >>>>>> >>> > >>>>>> A PETSc user has provided the following steps to >>> build an Eclipse >>> > >>>>>> index for PETSc that can be used with their own >>> code without compiling PETSc >>> > >>>>>> source into their project. >>> > >>>>>> \begin{itemize} >>> > >>>>>> \item In the user project source directory, create >>> a symlink to the >>> > >>>>>> petsc/src directory. >>> > >>>>>> \item Refresh the project explorer in Eclipse, so >>> the new symlink is >>> > >>>>>> followed. >>> > >>>>>> \item Right-click on the project in the project >>> explorer, and choose >>> > >>>>>> "Index -> Rebuild". The index should now be build. >>> > >>>>>> \item Right-click on the PETSc symlink in the >>> project explorer, and >>> > >>>>>> choose "Exclude from build..." to make sure >>> Eclipse does not try to compile >>> > >>>>>> PETSc with the project. >>> > >>>>>> \end{itemize} >>> > >>>>>> >>> > >>>>>> We'd love to have someone figure out how to do it >>> right and include >>> > >>>>>> that information. >>> > >>>>>> >>> > >>>>>> Barry >>> > >>>>>> >>> > >>>>>> On Jul 26, 2011, at 4:32 PM, Matt Bockman wrote: >>> > >>>>>> >>> > >>>>>> > Has anyone gotten PETSc to work w/Eclipse? >>> Eclipse nicely generates >>> > >>>>>> all my makefiles for me for my current project >>> (which is written in C++). >>> > >>>>>> I'd like to link PETSc w/my application but I'm >>> not sure how to do this. >>> > >>>>>> > >>> > >>>>>> > Suggestions? >>> > >>>>>> > >>> > >>>>>> > Thanks, >>> > >>>>>> > Matt >>> > >>>>>> >>> > >>>>>> >>> > >>>>> >>> > >>>> >>> > >>> >>> > >> >>> > > >>> > >>> >>> >>> >>> >>> >>> >>> >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110727/da83d4b7/attachment-0001.htm>
