libMesh / libmesh

libMesh github repository
http://libmesh.github.io
GNU Lesser General Public License v2.1
651 stars 286 forks source link

debug example build using opt options #2157

Closed manavbhatia closed 5 years ago

manavbhatia commented 5 years ago

I am attempting to build an example in debug mode, but it appears to be using the opt options:

$ make METHOD=dbg V=1
Compiling C++ (in debug mode) fem_system_ex1.C...
mpicxx-openmpi-clang -DNDEBUG -std=gnu++11 -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused -I/Users/manav/Documents/codes/numerical/libmesh/build/../include -I/opt/local//include -I/opt/local/include/vtk-8.1 -D_THREAD_SAFE -pthread -I/Users/manav/Documents/codes/numerical/slepc/include -I/Users/manav/Documents/codes/numerical/petsc/include -I/Users/manav/Documents/codes/numerical/petsc//include -I/opt/local/include -c fem_system_ex1.C -o fem_system_ex1.x86_64-apple-darwin18.6.0.dbg.o
Compiling C++ (in debug mode) naviersystem.C...
mpicxx-openmpi-clang -DNDEBUG -std=gnu++11 -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused -I/Users/manav/Documents/codes/numerical/libmesh/build/../include -I/opt/local//include -I/opt/local/include/vtk-8.1 -D_THREAD_SAFE -pthread -I/Users/manav/Documents/codes/numerical/slepc/include -I/Users/manav/Documents/codes/numerical/petsc/include -I/Users/manav/Documents/codes/numerical/petsc//include -I/opt/local/include -c naviersystem.C -o naviersystem.x86_64-apple-darwin18.6.0.dbg.o
Linking example-dbg...
libtool: link: mpicxx-openmpi-clang -std=gnu++11 -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused fem_system_ex1.x86_64-apple-darwin18.6.0.dbg.o naviersystem.x86_64-apple-darwin18.6.0.dbg.o -o example-dbg -Wl,-rpath -Wl,/Users/manav/Documents/codes/numerical/libmesh/build/../lib -Wl,-rpath -Wl,/opt/local//lib -Wl,-rpath -Wl,/Users/manav/Documents/codes/numerical/slepc/lib -Wl,-rpath -Wl,/Users/manav/Documents/codes/numerical/petsc/lib /usr/lib/liblapack.dylib /usr/lib/libblas.dylib -Wl,-rpath -Wl,/opt/local/lib -Wl,-rpath -Wl,/opt/local/lib/openmpi-clang -Wl,-rpath -Wl,/opt/local/lib/gcc7/gcc/x86_64-apple-darwin18/7.4.0 -Wl,-rpath -Wl,/opt/local/lib/gcc7 -Wl,-bind_at_load  -L/Users/manav/Documents/codes/numerical/libmesh/build/../lib /Users/manav/Documents/codes/numerical/libmesh/build/../lib/libmesh_opt.dylib -L/opt/local//lib -L/opt/local/lib -L/Users/manav/Documents/codes/numerical/slepc/lib -L/Users/manav/Documents/codes/numerical/petsc/lib -L/opt/local/lib/openmpi-clang -L/opt/local/lib/gcc7/gcc/x86_64-apple-darwin18/7.4.0 -L/opt/local/lib/gcc7 /Users/manav/Documents/codes/numerical/libmesh/build/../lib/libnetcdf.dylib -lhdf5_hl -llapack -lblas -lhdf5 -lhdf5_cpp -lvtkIOCore-8.1 -lvtkCommonCore-8.1 -lvtkCommonDataModel-8.1 -lvtkFiltersCore-8.1 -lvtkIOXML-8.1 -lvtkImagingCore-8.1 -lvtkIOImage-8.1 -lvtkImagingMath-8.1 -lvtkIOParallelXML-8.1 -lvtkParallelMPI-8.1 -lvtkParallelCore-8.1 -lz -lslepc -lpetsc -lHYPRE -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lumfpack -lklu -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig -lml -lparmetis -lmetis -lX11 -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lquadmath -lm -lstdc++ -ldl

I am running this in the installation directory after make install has been run.

Is this the correct way to build an example?

bboutkov commented 5 years ago

As a quick check try METHOD=dbg make instead of make METHOD=dbg. If I recall right, it's due to a difference in METHOD being interpreted as environmental variable vs as a parameter to make.

manavbhatia commented 5 years ago

Yes, that worked. Thanks!