General
-
What is Trilinos?
-
What's significant about the name 'Trilinos'?
-
What platforms does Trilinos run on?
-
Can I make my project a Trilinos package?
-
Can I get involved in the development of Trilinos?
-
Who should I contact if I have more questions?
Building Trilinos
-
I am trying to configure Trilinos, but an error occurs. The error
message generated by Autoconf is not very helpful. How can I get
more information?
-
When building with LAM under RH9 Linux, configure complains that it
cannot find mpi++.h. What can I do to fix this?
-
I am trying to pass an optimization flags using the
--with-*flags option, but it doesn't
appear to be working. What might be happening?
-
I attempted to fix an error that is occurring, but it seems like
the fix had no effect at all. What might be happening?
-
Configure output indicates that BLAS or LAPACK cannot be found:
configure: error: Cannot find blas library, specify a path using --with-ldflags=-I<DIR> (ex. --with-ldflags=-I/usr/path/lib) or a specific library using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)
-
I want to link my code to a Trilinos library. Is there an easy way
to do this?
-
I downloaded the Trilinos tarball on my MAC running OSX and used
DropZip to untar the tarball. I have had no luck building Trilinos.
What is wrong?
-
How can I speed up the configure and build prccesses?
-
I am building my executable using the Apple's projectBuilder tool. In
this tool search paths for headers and libraries are specified using a
GUI. I did specify a path to libepetra in the GUI, but apparently this
information somehow didn't make it to the linker.
I want to use Epetra_SerialDenseMatrix class togehter with the vector and solver classes. (could be any other Trilinos library)
I built the developer version of Trilinos on my G4. Everything is fine except that I get this message about undefined symbols:
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
Epetra_SerialDenseMatrix::Epetra_SerialDenseMatrix[in-charge](int, int)
Epetra_SerialDenseMatrix::~Epetra_SerialDenseMatrix [in-charge]()
...failed StandaloneExecutable.LinkUsingFileList /Volumes/Data
Disk/ACTIVE/RESEARCH/LDRD-INVERSE PROBLEMS/EM3D/em3d/build/TestMatrixW1 ...
-
How would I go about compiling Trilinos in the Microsoft Visual
Studio .NET 2003 framework?
-
When configuring Trilinos, I get an error like the following:
../../../packages/new_package/configure[1317]: syntax error at line 304 : `(' unexpected
-
Why can't I compile Trilinos Python wrappers using the "-ansi
-pedantic" options?
-
When compiling Trilinos in parallel using an MPI-2 standard-compliant
library, I get the following compile-time errors:
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
General
What is Trilinos?
Trilinos is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages. Top
Trilinos is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages. Top
What's significant about the name 'Trilinos'?
Trilinos is a Greek term which, loosely translated, means "a string of pearls." More literally translated, it refers to a string of three pearls--Trilinos started out with three packages, but has since expanded to include many more. Each Trilinos package is intended to be a "pearl" in its own right, but is even more valuable when combined with the other packages. Top
Trilinos is a Greek term which, loosely translated, means "a string of pearls." More literally translated, it refers to a string of three pearls--Trilinos started out with three packages, but has since expanded to include many more. Each Trilinos package is intended to be a "pearl" in its own right, but is even more valuable when combined with the other packages. Top
What platforms does Trilinos run on?
Trilinos runs on a wide variety of platforms, including Linux, MAC OS X, Windows (under Cygwin), SGI64, DEC, and Solaris. Top
Trilinos runs on a wide variety of platforms, including Linux, MAC OS X, Windows (under Cygwin), SGI64, DEC, and Solaris. Top
Can I make my project a Trilinos package?
Indeed. Trilinos has an open architecture that facilitates easy incorporation of new packages. Trilinos also provides a number of useful services to package developers. To help get new packages integrated as quickly as possible, Trilinos provides 'New Package' templates for everything that goes into becoming a Trilinos package. For more information on integrating your work into Trilinos, contact Mike Heroux. Top
Indeed. Trilinos has an open architecture that facilitates easy incorporation of new packages. Trilinos also provides a number of useful services to package developers. To help get new packages integrated as quickly as possible, Trilinos provides 'New Package' templates for everything that goes into becoming a Trilinos package. For more information on integrating your work into Trilinos, contact Mike Heroux. Top
Can I get involved in the development of Trilinos?
The need for more help with Trilinos projects varies and depends on the current needs of each package. To find out about opportunities to contribute, contact Mike Heroux. Top
The need for more help with Trilinos projects varies and depends on the current needs of each package. To find out about opportunities to contribute, contact Mike Heroux. Top
Who should I contact if I have more questions?
Questions not answered by the information provided on the website should be directed to the appropriate package lead developer (see the Contact page) or, if not package-specific, to Mike Heroux, the Trilinos project leader. Top
Questions not answered by the information provided on the website should be directed to the appropriate package lead developer (see the Contact page) or, if not package-specific, to Mike Heroux, the Trilinos project leader. Top
Building Trilinos
I am trying to configure Trilinos, but an error occurs. The error
message generated by Autoconf is not very helpful. How can I get
more information?
The best place to find information about why configure failed is in the config.log file (in the buildtree) for the package that failed to configure properly. To determine which package failed to configure, look at the bottom of the output from the "configure" command. One of the last lines will say something like:
configure: error: /bin/sh '../../../packages/epetra/configure'
failed for packages/epetra
This particular error indicates to look in packages/epetra/config.log. Top
The best place to find information about why configure failed is in the config.log file (in the buildtree) for the package that failed to configure properly. To determine which package failed to configure, look at the bottom of the output from the "configure" command. One of the last lines will say something like:
configure: error: /bin/sh '../../../packages/epetra/configure'
failed for packages/epetra
This particular error indicates to look in packages/epetra/config.log. Top
When building with LAM under RH9 Linux, configure complains that it
cannot find mpi++.h. What can I do to fix this?
(The message in the config.log file is: /usr/include/mpi.h:1064:19: mpi++.h: No such file or directory.) The following modified configure invocation works:
../configure --enable-mpi CXX="mpiCC -DLAM_BUILDING"
Top
(The message in the config.log file is: /usr/include/mpi.h:1064:19: mpi++.h: No such file or directory.) The following modified configure invocation works:
../configure --enable-mpi CXX="mpiCC -DLAM_BUILDING"
Top
I am trying to pass an optimization flags using the
--with-*flags option, but it doesn't
appear to be working. What might be happening?
The --with-*flags options should not be used to pass optimization flags. Use CXXFLAGS=, CFLAGS=, and FFLAGS= instead. Top
The --with-*flags options should not be used to pass optimization flags. Use CXXFLAGS=, CFLAGS=, and FFLAGS= instead. Top
I attempted to fix an error that is occurring, but it seems like
the fix had no effect at all. What might be happening?
Several things could be happening. When using a configure invocation script, a good place to start is to make sure that line continuation characters (\) are used properly. The characters should be at the end of every line, except the last line, and should not be followed by any spaces.
To verify that the entire configure invocation script has been parsed by Autoconf, open the config.status file in the top level of the build tree and grep for the string "with options". Here you will find all of the options that Autoconf pulled from the invoke configure script.
Keep in mind that Autoconf cannot detect spelling mistakes.
If the problem is occurring during the make phase, it is often useful to "make clean" before attempting to "make" again. Sometimes it even helps to blow away the entire build tree and start over, although this is rarely necessary. Top
Several things could be happening. When using a configure invocation script, a good place to start is to make sure that line continuation characters (\) are used properly. The characters should be at the end of every line, except the last line, and should not be followed by any spaces.
To verify that the entire configure invocation script has been parsed by Autoconf, open the config.status file in the top level of the build tree and grep for the string "with options". Here you will find all of the options that Autoconf pulled from the invoke configure script.
Keep in mind that Autoconf cannot detect spelling mistakes.
If the problem is occurring during the make phase, it is often useful to "make clean" before attempting to "make" again. Sometimes it even helps to blow away the entire build tree and start over, although this is rarely necessary. Top
Configure output indicates that BLAS or LAPACK cannot be found:
configure: error: Cannot find blas library, specify a path using --with-ldflags=-I<DIR> (ex. --with-ldflags=-I/usr/path/lib) or a specific library using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)
This is a very common and sometimes complex issue. The best place to start when dealing with this issue is to use the config.log file as described in the above FAQ.
If the --with-blas (or --with-lapack) option was not used, this error indicates that Autoconf cannot find the missing library using default search paths and methods. The easiest and most effective ways to specify the locations of BLAS and LAPACK libraries are listed below.
Note: The following examples assume /path/to/lib is the path to the specified library (these paths do not need to be the same for BLAS and LAPACK, but often are), libblas.a and liblapack.a are the names of the BLAS and LAPACK libraries, respectively, and libotherlib.a is the name of any another library that might need to be on the link line when linking to BLAS or LAPACK (often no other libraries are necessary). If BLAS and LAPACK routines are obtained from the same library, it is only necessary to use the --with-blas option.
--with-blas=/path/to/lib/libblas.a --with-lapack=/path/to/lib/liblapack.a
or
--with-blas="-L/path/to/lib -lblas -lotherlib" --with-lapack="-L/path/to/lib -llapack -lotherlib2"
or
(although it is somewhat counter to expected option usage) --with-blas="-L/path/to/lib -llapack -lblas -lotherlib"
Common mistakes associated with using the --with-blas and --with-lapack options include:
configure: error: Cannot find blas library, specify a path using --with-ldflags=-I<DIR> (ex. --with-ldflags=-I/usr/path/lib) or a specific library using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)
This is a very common and sometimes complex issue. The best place to start when dealing with this issue is to use the config.log file as described in the above FAQ.
If the --with-blas (or --with-lapack) option was not used, this error indicates that Autoconf cannot find the missing library using default search paths and methods. The easiest and most effective ways to specify the locations of BLAS and LAPACK libraries are listed below.
Note: The following examples assume /path/to/lib is the path to the specified library (these paths do not need to be the same for BLAS and LAPACK, but often are), libblas.a and liblapack.a are the names of the BLAS and LAPACK libraries, respectively, and libotherlib.a is the name of any another library that might need to be on the link line when linking to BLAS or LAPACK (often no other libraries are necessary). If BLAS and LAPACK routines are obtained from the same library, it is only necessary to use the --with-blas option.
--with-blas=/path/to/lib/libblas.a --with-lapack=/path/to/lib/liblapack.a
or
--with-blas="-L/path/to/lib -lblas -lotherlib" --with-lapack="-L/path/to/lib -llapack -lotherlib2"
or
(although it is somewhat counter to expected option usage) --with-blas="-L/path/to/lib -llapack -lblas -lotherlib"
Common mistakes associated with using the --with-blas and --with-lapack options include:
- Trying to link to a BLAS or LAPACK library that is incompatible with the selected compilers. This problem is often encountered when upgrading or switching compilers (ie GNU to Intel or PG) and not changing the BLAS and/or LAPACK libraries.
- Forgetting to include other necessary libraries on the link line (see otherlib in the above examples). For example, --with-blas="-L/usr/local/intel/mkl70/lib/32 -lmkl -lguide".
- Typing the options incorrectly. For example --with-blas="-L/path/to/lib/libblas.a" is incorrect because the -L is not necessary when specifying the full name of the library.
I want to link my code to a Trilinos library. Is there an easy way
to do this?
The easiest way to link to a Trilinos library is to use the trilinos_make_macros.mak file (available with Trilinos release 4.0 and later) that is generated during "make install". (Note that teuchos must be enabled for this file to be generated.) The trilinos_make_macros.mak file supplies many useful pieces of information about the Trilinos installation including which compilers and flags were used as well as which BLAS and LAPACK libraries were used (provided that --disable-libcheck was not used during installation). For a complete list of what information is available, please see the trilinos_make_macros.mak file itself. Below is a snippet of an example makefile that could be used to link to Trilinos libraries.
# Include Trilinos header that defines pertinent compilation information #include /path_to_trilinos_install1/include/trilinos_make_macros.mak include /path_to_trilinos_install2/include/trilinos_make_macros.mak OLIBS = $(LAPACK_LIBS) $(BLAS_LIBS) # # Compilation rules ... .cpp.o: $(CXX) $(CPPFLAGS) -c $(DEFS) -I$(prefix)/include $< all : RBGen.x RBGen.x : RBGen.o RBGenParams.o BurkardtFileIOHandler.o netCDFFileIOHandler.o $(CXX) $(CXXFLAGS) -o $@ $^ -L$(prefix)/lib -lnetcdf -lepetra -lteuchos $(OLIBS) $(FLIBS) ... Note how it is possible to link with different installations quickly by commenting out all but one of the include statements at the top of the makefile.
When using a version of Trilinos prior to 4.0, or choosing not to use this file, note that it is necessary to define HAVE_CONFIG_H. Top
The easiest way to link to a Trilinos library is to use the trilinos_make_macros.mak file (available with Trilinos release 4.0 and later) that is generated during "make install". (Note that teuchos must be enabled for this file to be generated.) The trilinos_make_macros.mak file supplies many useful pieces of information about the Trilinos installation including which compilers and flags were used as well as which BLAS and LAPACK libraries were used (provided that --disable-libcheck was not used during installation). For a complete list of what information is available, please see the trilinos_make_macros.mak file itself. Below is a snippet of an example makefile that could be used to link to Trilinos libraries.
# Include Trilinos header that defines pertinent compilation information #include /path_to_trilinos_install1/include/trilinos_make_macros.mak include /path_to_trilinos_install2/include/trilinos_make_macros.mak OLIBS = $(LAPACK_LIBS) $(BLAS_LIBS) # # Compilation rules ... .cpp.o: $(CXX) $(CPPFLAGS) -c $(DEFS) -I$(prefix)/include $< all : RBGen.x RBGen.x : RBGen.o RBGenParams.o BurkardtFileIOHandler.o netCDFFileIOHandler.o $(CXX) $(CXXFLAGS) -o $@ $^ -L$(prefix)/lib -lnetcdf -lepetra -lteuchos $(OLIBS) $(FLIBS) ... Note how it is possible to link with different installations quickly by commenting out all but one of the include statements at the top of the makefile.
When using a version of Trilinos prior to 4.0, or choosing not to use this file, note that it is necessary to define HAVE_CONFIG_H. Top
I downloaded the Trilinos tarball on my MAC running OSX and used
DropZip to untar the tarball. I have had no luck building Trilinos.
What is wrong?
The build process will fail on OSX if "DropZip" is used to unzip the Trilinos tarball. This utility truncates long file names. Top
The build process will fail on OSX if "DropZip" is used to unzip the Trilinos tarball. This utility truncates long file names. Top
How can I speed up the configure and build prccesses?
Keep in mind that Trilinos is a large piece of software and that building all of the libraries that are a part of Trilinos will take some time. That having been said, here are three suggestions for speeding up the configure and build processes:
Keep in mind that Trilinos is a large piece of software and that building all of the libraries that are a part of Trilinos will take some time. That having been said, here are three suggestions for speeding up the configure and build processes:
- Only build the Trilinos libraries that are necessary.
Know which packages are built by default. Packages that necessary packages are dependent on will be turned on automatically, so don't shy away from disabling all packages that are not used directly. If a package configures and builds that was not enabled explicitly, keep in mind that a package that was enabled probably depends on this package.
- Consider disabling tests and examples.
The first time Trilinos is built on a machine, it is a good idea to build and run some tests and examples. After that, disabling tests and examples can be considered as a way to speed up the build process. To disable the tests and examples for all packages, use the --disable-tests and --disable-examples options. The speedup realized by disabling tests and examples will vary based on which packages are enabled; however, a speedup of about 1.6 could be expected for a "typical" mix of packages.
- Decrease build time on some machines by creating multiple
jobs.
If -j (jobs) is a valid option for make, specifying the -j option with a value of two times the number of processors that the machine has will typically result in a faster build process. For example, on a dual processor machine, try replacing make with make -j 4 during the build step.
On a single processor machine, the speedup is minimal; on a machine with multiple processors, the speedup can be quite significant. For example, speedups of 1.73 and 2.45 were observed on a dual processor machine and a four processor machine, respectively. Using two times the number of processors for the argument to the jobs option is only a suggestion based on observed performance; those who are interested in achieving optimal performance are encouraged to experiment with various values and to report their findings to trilinos-help@software.sandia.gov. The -j can also be passed without a corresponding value, in other words make -j. When used in this way, the number of jobs created is unlimited. For machines with a large number of processors this appears to work in some situations, butmachines with fewer than four processors appear to get bogged down with overhead.
- Use the --cache-file=config.cache
configure option.
Adding --cache-file=config.cache to the list of configure arguments will store the results of many of the tests that configure performs in a file called config.cache, located in the top level of the build tree.
Using this option will allow the first package that is configured to store many test results that can be used by all subsequent packages. If it is later necessary to reconfigure with a different set of packages, all packages (including the first) can use these cached values. If configure options are changed that are associated with configure test results that have already been cached, or a relevant environment variable is changed, it is necessary to remove the config.cache file before reconfiguring. Failing to do so can cause the new options to be ignored.
When configuring even a moderate number of packages, during the first configure a speedup of greater than two is attainable and a speedup of greater than three is possible for subsequent configures. Top
I am building my executable using the Apple's projectBuilder tool. In
this tool search paths for headers and libraries are specified using a
GUI. I did specify a path to libepetra in the GUI, but apparently this
information somehow didn't make it to the linker.
I want to use Epetra_SerialDenseMatrix class togehter with the vector and solver classes (could be any other Trilinos library).
I built the developer version of Trilinos on my G4. Everything is fine except that I get this message about undefined symbols:
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
Epetra_SerialDenseMatrix::Epetra_SerialDenseMatrix[in-charge](int, int)
Epetra_SerialDenseMatrix::~Epetra_SerialDenseMatrix [in-charge]()
...failed StandaloneExecutable.LinkUsingFileList /Volumes/Data
Disk/ACTIVE/RESEARCH/LDRD-INVERSE PROBLEMS/EM3D/em3d/build/TestMatrixW1 ...
When I added -LlocationOfEpetra -lepetra manually to the linker list of options, everything compiled fine! (Solution should be the same given any other Trilinos library). Top
I want to use Epetra_SerialDenseMatrix class togehter with the vector and solver classes (could be any other Trilinos library).
I built the developer version of Trilinos on my G4. Everything is fine except that I get this message about undefined symbols:
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
Epetra_SerialDenseMatrix::Epetra_SerialDenseMatrix[in-charge](int, int)
Epetra_SerialDenseMatrix::~Epetra_SerialDenseMatrix [in-charge]()
...failed StandaloneExecutable.LinkUsingFileList /Volumes/Data
Disk/ACTIVE/RESEARCH/LDRD-INVERSE PROBLEMS/EM3D/em3d/build/TestMatrixW1 ...
When I added -LlocationOfEpetra -lepetra manually to the linker list of options, everything compiled fine! (Solution should be the same given any other Trilinos library). Top
How would I go about compiling Trilinos in the Microsoft Visual
Studio .NET 2003 framework?
While the supported approach to compiling Trilinos is through the autoconfiguration tools (autoconf/automake), we have had some experience with configuring "solutions" and "projects" in the Microsoft VS .NET 2003 framework. The instructions below show you how to create a static library for Epetra and compile a simple example against this library. This procedure circumvents the autoconfigured headers, so while it works for Epetra there is no guarantee that it will work for any other Trilinos package. A more standard approach would be to compile Trilinos in the Cygwin environment.
While the supported approach to compiling Trilinos is through the autoconfiguration tools (autoconf/automake), we have had some experience with configuring "solutions" and "projects" in the Microsoft VS .NET 2003 framework. The instructions below show you how to create a static library for Epetra and compile a simple example against this library. This procedure circumvents the autoconfigured headers, so while it works for Epetra there is no guarantee that it will work for any other Trilinos package. A more standard approach would be to compile Trilinos in the Cygwin environment.
- Do not try to fake Trilinos into thinking it was autoconfigured. While Trilinos is usually autoconfigured, it still can function without the autoconfigured headers (Epetra_config.h, etc.). This is what the Epetra_ConfigDefs.h file is for. It uses autoconf information when available to tailor a header for Epetra, but when that information is not available it has a set of standard C/C++ headers it will try to include. Using Epetra_ConfigDefs.h without defining "HAVE_CONFIG_H" works just fine. This also means that any example compiled against the static libraries should not define "HAVE_CONFIG_H" either.
- Create a new solution, within it create two static libraries
(.lib), one for each compiler. The MSVC++ compiler will create a
static library for the C++ code and the Intel Fortran compiler will
create one for the Fortran code. The C++ library should have a
dependency on the Fortran library. Below is the project
configurations for each library (only the settings altered from the
default were noted):
Fortran Static Library Properties:- Fortran
- General
- Suppress Startup Banner: Yes
- Debug Information Format: Full
- Optimization: Maximize Speed
- External Procedures
- Name Case Interpretation: Lower Case
- Append Underscore to External Names: Yes
- Libraries
- Runtime Library: Debug Single-threaded
- Command Line (sanity check):
/nologo /Zi /names:lowercase /assume:underscore /module:"$(INTDIR)/" /object:"$(INTDIR)/" /traceback /libs:static /dbglibs /c
- General
- Librarian
- General
- Suppress Startup Banner: Yes
- Ignore All Default Libraries: No
- Command Line (for example):
/OUT:"$(OUTDIR)/EpetraFortRel5.lib" /NOLOGO
- General
C++ Static Library Properties- Use of MFC: Use Standard Windows Libraries
- Use of ATL: Not Using ATL
- C/C++
- General
- Additional Include Directories: <insert Epetra/src directory here>; <insert [MPI/LAM]/include directory here>
- Debug Information Format: Program Database
- Suppress Startup Banner: Yes
- Optimization
- Optimization: Maximize Speed
- Preprocessor
- Preprocessor Definitions: ICL
- Ignore Standard Include Path: No
- Code Generation
- Basic Runtime Checks: Default
- Runtime Library: Single-threaded Debug
- Language
- Force Conformance In For Loop Scope: Yes
- Enable Run-Time Type Info: Yes
- Command Line (sanity check):
/O2 /I " <Epetra/src directory> " /I " <[MPI/LAM]/include directory> "
/D "ICL" /FD /EHsc /MLd /GS /Zc:forScope /GR /Fo"Debug/" /Fd"Debug/vc70.pdb" /nologo /c /Zi /TP
- General
- Librarian
- General
- Suppress Startup Banner: Yes
- Command Line (for example):
/OUT:"C:\Documents and Settings\hkthorn\My Documents\Visual Studio Projects\EpetraRel5\Debug/C++Source.lib"
/NOLOGO "\Documents and Settings\hkthorn\My Documents\Visual Studio Projects\EpetraFortRel5\debug\epetrafortrel5.lib"
- General
- Fortran
- Create a C++ win32 console project within the solution. This
project will have a dependency on the two libraries above.
Epetra Example Application Properties:- Use of MFC: Use Standard Windows Libraries
- Use of ATL: Not Using ATL
- C/C++
- General
- Additional Include Directories: <insert Epetra/src directory here>
- Debug Information Format: Program Database
- Suppress Startup Banner: Yes
- Optimization
- Optimization: Maximize Speed
- Preprocessor
- Preprocessor Definitions: WIN32;_DEBUG;_CONSOLE;ICL
- Ignore Standard Include Path: No
- Code Generation
- Basic Runtime Checks: Default
- Runtime Library: Single-threaded Debug
- Language
- Force Conformance In For Loop Scope: Yes
- Enable Run-Time Type Info: Yes
- Command Line (sanity check):
/O2 /I "<Epetra/src directory>" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "ICL"
/D "_MBCS" /Gm /EHsc /MLd /GS /Zc:forScope /GR /Fo"Debug/" /Fd"Debug/vc70.pdb" /W3 /nologo /c /Wp64 /Zi /TP
- General
- Linker
- General
- Enable Incremental Linking: Yes
- Suppress Startup Banner: Yes
- Additional Library Directories: <insert Intel Fortran compiler library path here>; <insert Intel MKL library path here>
- Input
- Additional Dependencies: mkl_lapack.lib mkl_c.lib
- Ignore All Default Libraries: No
- Command Line (for example):
/OUT:"Debug/verySimpleExample.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\Program Files\Intel\Compiler81\Fortran\compiler80\IA32\LIB"
/LIBPATH:"C:\Program Files\Intel\MKL72\ia32\lib" /DEBUG /PDB:"Debug/verySimpleExample.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86
mkl_lapack.lib mkl_c.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
odbc32.lib odbccp32.lib "\Documents and Settings\hkthorn\My Documents\Visual Studio Projects\EpetraFortRel5\debug\epetrafortrel5.lib"
"\Documents and Settings\hkthorn\My Documents\Visual Studio Projects\EpetraRel5\Debug\C++Source.lib" "\Program Files\Intel\Mkl72\ia32\lib\mkl_lapack.lib"
"\Program Files\Intel\Mkl72\ia32\lib\mkl_c.lib"
- General
When configuring Trilinos, I get an error like the following:
../../../packages/new_package/configure[1317]: syntax error at line 304 : `(' unexpected
Try removing the --cache-file=config.cache option. That has been known to fix this problem. Top
../../../packages/new_package/configure[1317]: syntax error at line 304 : `(' unexpected
Try removing the --cache-file=config.cache option. That has been known to fix this problem. Top
Why can't I compile Trilinos Python wrappers using the "-ansi
-pedantic" options?
Since python supports arbitrary precision integers, you cannot compile code (such as Trilinos wrappers) that #include "Python.h" using the "-ansi -pedantic" options (technically, it may only be one of the two options that is the culprit). Top
Since python supports arbitrary precision integers, you cannot compile code (such as Trilinos wrappers) that #include "Python.h" using the "-ansi -pedantic" options (technically, it may only be one of the two options that is the culprit). Top
When compiling Trilinos in parallel using an MPI-2 standard-compliant
library, I get the following compile-time errors:
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
There is a problem with the MPI-2 standard where both stdio.h and the MPI C++ interface define SEEK_SET, SEEK_CUR, and SEEK_END. To remedy this issue for the MPICH2 library
-DMPICH_IGNORE_CXX_SEEK
needs to be included in the CPPFLAGS that Trilinos is compiled with. This will cause the MPI versions of SEEK_[SET,CUR,END] to be skipped.
Reference: MPICH2 User's Guide, Version 1.0.1b, Argonne National Laboratory, June 10, 2005, p.5 Top
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
There is a problem with the MPI-2 standard where both stdio.h and the MPI C++ interface define SEEK_SET, SEEK_CUR, and SEEK_END. To remedy this issue for the MPICH2 library
-DMPICH_IGNORE_CXX_SEEK
needs to be included in the CPPFLAGS that Trilinos is compiled with. This will cause the MPI versions of SEEK_[SET,CUR,END] to be skipped.
Reference: MPICH2 User's Guide, Version 1.0.1b, Argonne National Laboratory, June 10, 2005, p.5 Top



