[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bgl-discuss] Linking error solution?
Hi, all
I am Jung-Min Lee and working with Dr. Lan in IIT. We have installed the
accelerator simulation application, called Synergia on BGL. However, we
cannot install it.
The codes are made by Fortran90 and C++. Also, it generates a Makefile
automatically using configure script.
When I defined CXX=mpicxx and CC=mpicc, it has error like :
mpicxx -g -O2 -o boosterMapDemo6 -L../../../physics_toolkit/src
-L../../../beamline/src -L../../../basic_toolkit/src -L../../../mxyzptlk/src
-L../../../bmlfactory/src boosterMapDemo6.o -lbmlfactory -lphysics_toolkit
-lbeamline -lphysics_toolkit -lbeamline -lmxyzptlk -lbasic_toolkit
-L/home/jungmin/glib-1.2.10/lib -lglib -lm -lnsl
/bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/blrts-gnu/bin/../lib/gcc-lib/pow
erpc-bgl-blrts-gnu/3.2/../../../../powerpc-bgl-blrts-gnu/bin/ld: cannot find
-lnsl
collect2: ld returned 1 exit status
make[3]: *** [boosterMapDemo6] Error 1
make[3]: Leaving directory
`/bgl/home1/jungmin/mxyzptlk/beamline/tests/Booster'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/bgl/home1/jungmin/mxyzptlk/beamline/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/bgl/home1/jungmin/mxyzptlk/beamline'
make: *** [all-recursive] Error 1
When I defined CXX=xlC and CC=xlc, it does not have same error, but the
linking error like: (I am using f90 for fortran90 compiler)
xlC -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ImpactLayer\"
-DVERSION=\"1.0\" -DHAVE_GLIB=1 -I. -I. -I/home/jungmin/mxyzptlk/include
-I/home/jungmin/glib/include/glib-1.2 -I/home/jungmin/glib/lib/glib/include
-g -c -o ccmain.o `test -f 'Contrl/ccmain.cc' || echo './'`Contrl/ccmain.cc
"./ccf90_funcs.h", line 22.2: 1540-0879 (W) #warning directive: "Using
default Fortran calling standards.".
"Contrl/ccmain.cc", line 5.15: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 6.15: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 7.15: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 14.3: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 15.3: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 16.3: 1540-0825 (W) The character "$" is not
allowed.
"Contrl/ccmain.cc", line 5.15: 1540-0063 (S) The text "init_accsimulator_"
is unexpected.
"Contrl/ccmain.cc", line 6.15: 1540-0063 (S) The text "run_accsimulator_" is
unexpected.
"Contrl/ccmain.cc", line 7.15: 1540-0063 (S) The text
"destruct_accsimulator_" is unexpected.
"Contrl/ccmain.cc", line 14.3: 1540-0040 (S) The text "init_accsimulator_"
is unexpected. "accsimulatorclass" may be undeclared or ambiguous.
make: *** [ccmain.o] Error 1
The ccmain.cc is link between F90 and C++. It includes a header-file like:
#define F90_MODULE_FUNCTION(module,function) __ ## module ## _MOD_ ##
function ## _
#define F_FUNCTION(function) function ## _
#elif defined (IFC) /* Intel ifc compiler (releases < 8.0) */
#define F90_MODULE_FUNCTION(module,function) module ## $ ## function ## _
#define F_FUNCTION(function) function ## _
#elif defined (IFORT) /* Intel fortran compiler (releases >= 8.0) */
#define F90_MODULE_FUNCTION(module,function) module ## _mp_ ## function ## _
#define F_FUNCTION(function) function ## _
#elif defined (PGF) /* Portland Group fortran compiler */
#define F90_MODULE_FUNCTION(module,function) module ## $ ## function ## _
#define F_FUNCTION(function) function ## _
#elif defined (G95) /* G95 fortran compiler */
#define F90_MODULE_FUNCTION(module,function) module ## . ## function ## _
#define F_FUNCTION(function) function ## _
#else /* No compiler defined, use some default and show warning. */
#warning "Using default Fortran calling standards."
#define F90_MODULE_FUNCTION(module,function) module ## $ ## function ## _
#define F_FUNCTION(function) function ## _
#endif /* List of compilers */
It cannot file the f90 format and it goes into the last one (else part), but
it does not work.
If you have any solution, please let me know.
I really appreciate your help in advance.
- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.