On Wed, 23 Nov 2016, Michael Povolotskyi wrote: > after making compilation flags identical, it works. Now I will change them > one by one to see which one matters.
Good idea. > Does this happen because of the code in header files? Yes. > If yes, is it possible to avoid code in the header files? No. > You see, I'd prefer to keep libmesh always built in optimized mode and change > flags for my application only. That's probably a bad idea. If you need to debug your application, libMesh can help you. A lot of those assertions are not looking for internal bugs in libMesh, they're looking for bugs in application code using libMesh incorrectly. That assertion you pasted earlier, for example, is an out-of-bounds vector access. libMesh obviously can't prevent you from asking for an index which is isn't in the vector (or which isn't in the semilocal part of a distributed vector), and we don't even want to waste time checking every vector access in a correct code, but if you're not sure your code is correct then spending the extra time is worth it. It also sounds like you're under the misapprehension that building a dbg copy of libMesh somehow *prevents* you from keeping the opt copy? That's not the case. If you configure with "METHODS='dbg devel opt'", for example (or with no METHODS argument at all, since those three are the default) then you'll get a dbg build, and a devel build, and an opt build, all installed to the same target directory. You can then keep two builds of your application code (whether with a similar system, or with two out-of-source build directories for an autotools code), and build debug when you need that and optimized when you need that, with each linking to the corresponding library. > Also, I see that libmesh is using -O2 for the optimized mode. Why not -03? Honestly? I think that's an atavism, from bad experiences with a gcc version that once gave us incorrect code from -O3 many years ago. It's probably worth changing at this point. --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
