[SciPy-dev] referenced symbol not found

Alain Sartout sartout at math.u-strasbg.fr
Thu Jan 30 06:52:49 CST 2003


Hello Pearu,

Thanks for help...

>
>Same here.. I am stuck with atlas when using gcc-2.95.3 compiler 
>(I am getting 
>
>/tmp/pp_atlas/bin/SunOS_Gnu2.95.3_SunUS2_2/ATLrun.sh \
>/tmp/pp_atlas/tune/blas/gemm/SunOS_Gnu2.95.3_SunUS2_2 xdfc \
>res/dNCNB20_1000
>dNB=20, ld=1000,20,20, mu=2, nu=3, ku=12, lat=4: time=1.320, mflop=166.97
>dNB=20, ld=1000,20,20, mu=2, nu=3, ku=12, lat=4: time=1.300, mflop=169.54
>dNB=20, ld=1000,20,20, mu=2, nu=3, ku=12, lat=4: time=1.290, mflop=170.85
>*** Signal 10 - core dumped
>
>when running 'make install arch=SunOS_Gnu2.95.3_SunUS2_2' but
>direct execution of
>
>/tmp/pp_atlas/bin/SunOS_Gnu2.95.3_SunUS2_2/ATLrun.sh \
>/tmp/pp_atlas/tune/blas/gemm/SunOS_Gnu2.95.3_SunUS2_2 xdfc \
>res/dNCNB20_1000
>
>always succeeds. Any hints are appreciated about what could be 
>going on here.).
>
>Could you share your experience with building atlas libraries on SunOS?
>The contents of ATLAS/Make.<arch> would be very helpful.

trace running :

./ATLrun.sh /src/solaris8/ATLAS/tune/blas/gemm/SunOS_UNKNOWN_12/xdfc 
dNB=60, ld=24,24,60, mu=5, nu=3, ku=24, lat=5: time=0.830, mflop=1219.80
dNB=60, ld=24,24,60, mu=5, nu=3, ku=24, lat=5: time=0.830, mflop=1219.80
dNB=60, ld=24,24,60, mu=5, nu=3, ku=24, lat=5: time=0.820, mflop=1234.68

You will find in attachement Make.SunOS_UNKNOW_12
ATLAS was compiled using both gcc ans SUN forte6 suite (SUN CC and F77)


>Can you determine in which (system) library this symbol __sincos is
>defined?

No...!


>One should never try building python packages containing extension
>modules in their installation directories such as
>  /usr/local/lib/python2.2/site-packages/...
>! It will never work because sources are not installed.
>So, try
>
>  cd cvs/scipy/linalg
>  python setup_atlas_version.py build_ext --inplace --force

trying that in source dir :


 python setup_atlas_version.py build_ext --inplace --force
atlas_info:
  FOUND:
    libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
    library_dirs = ['/usr/local/lib/atlas']
    include_dirs = ['/usr/local/include']

running build_ext
building 'atlas_version' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC 
-I/usr/local/include/python2.2 -c 
/src/solaris8/SciPy-0.2.0_alpha_144.4350/linalg/atlas_version.c -o 
build/temp.solaris-2.8-sun4u-2.2/atlas_version.o
gcc: /src/solaris8/SciPy-0.2.0_alpha_144.4350/linalg/atlas_version.c: No such 
file or directory
gcc: no input files
error: command 'gcc' failed with exit status 1


>Can you import other extension modules? Try
>
>  cd /usr/local/lib/python2.2/site-packages/scipy/<modulename>
>  ls *.so
>

for example "import clapack" in linalg module works (or Numeric also...)
imports are OK


	Alain.
	

------Alain SARTOUT---------------------------------------------------------- 
      office : IRMA - CNRS UMR 7501, 7 rue Rene Descartes  F-67084 STRASBOURG
      phone  : (33) [0]3 90 24 01 72 fax: (33) [0]3 90 24 03 28
      e-mail : Alain.Sartout at math.u-strasbg.fr
      WWW    : http://www-irma.u-strasbg.fr
-----------------------------------------------------------------------------

-------------- next part --------------
#  ----------------------------------
#  Make sure we get the correct shell
#  ----------------------------------
   SHELL = /bin/sh

#  -------------------------------------------------
#  Name indicating the platform to configure BLAS to
#  -------------------------------------------------
   ARCH = SunOS_UNKNOWN_12

#  -------------------
#  Various directories
#  -------------------
   TOPdir = /src/solaris8/ATLAS
   INCdir = $(TOPdir)/include/$(ARCH)
   SYSdir = $(TOPdir)/tune/sysinfo/$(ARCH)
   GMMdir = $(TOPdir)/src/blas/gemm/$(ARCH)
   UMMdir = $(GMMdir)
   GMVdir = $(TOPdir)/src/blas/gemv/$(ARCH)
   GR1dir = $(TOPdir)/src/blas/ger/$(ARCH)
   L1Bdir = $(TOPdir)/src/blas/level1/$(ARCH)
   L2Bdir = $(TOPdir)/src/blas/level2/$(ARCH)
   L3Bdir = $(TOPdir)/src/blas/level3/$(ARCH)
   TSTdir = $(TOPdir)/src/testing/$(ARCH)
   AUXdir = $(TOPdir)/src/auxil/$(ARCH)
   CBLdir = $(TOPdir)/interfaces/blas/C/src/$(ARCH)
   FBLdir = $(TOPdir)/interfaces/blas/F77/src/$(ARCH)
   BINdir = $(TOPdir)/bin/$(ARCH)
   LIBdir = $(TOPdir)/lib/$(ARCH)
   PTSdir = $(TOPdir)/src/pthreads
   MMTdir = $(TOPdir)/tune/blas/gemm/$(ARCH)
   MVTdir = $(TOPdir)/tune/blas/gemv/$(ARCH)
   R1Tdir = $(TOPdir)/tune/blas/ger/$(ARCH)
   L1Tdir = $(TOPdir)/tune/blas/level1/$(ARCH)
   L3Tdir = $(TOPdir)/tune/blas/level3/$(ARCH)

#  ---------------------------------------------------------------------
#  Name and location of scripts for running executables during tuning
#  ---------------------------------------------------------------------
   ATLRUN = $(BINdir)/ATLrun.sh
   ATLFWAIT = $(BINdir)/xatlas_waitfile

#  ---------------------
#  Libraries to be built
#  ---------------------
   ATLASlib = $(LIBdir)/libatlas.a
   CBLASlib = $(LIBdir)/libcblas.a
   F77BLASlib = $(LIBdir)/libf77blas.a
   PTCBLASlib = $(LIBdir)/libptcblas.a
   PTF77BLASlib = $(LIBdir)/libptf77blas.a
   LAPACKlib = $(LIBdir)/liblapack.a

   TESTlib = $(LIBdir)/libtstatlas.a
#  -------------------------------------------
#  Upper bound on largest cache size, in bytes
#  -------------------------------------------
   L2SIZE = -DL2SIZE=4194304

#  ---------------------------------------
#  Command setting up correct include path
#  ---------------------------------------
   INCLUDES = -I$(TOPdir)/include -I$(TOPdir)/include/$(ARCH) \
              -I$(TOPdir)/include/contrib 

#  -------------------------------------------
#  Defines for setting up F77/C interoperation
#  -------------------------------------------
   F2CDEFS = 

#  --------------------------------------
#  Special defines for user-supplied GEMM
#  --------------------------------------
   UMMDEFS = 

#  ------------------------------
#  Architecture identifying flags
#  ------------------------------
   ARCHDEFS = -DATL_OS_SunOS

#  -------------------------------------------------------------------
#  NM is the flag required to name a compiled object/executable
#  OJ is the flag required to compile to object rather than executable
#  These flags are used by all compilers.
#  -------------------------------------------------------------------
   NM = -o
   OJ = -c


#  ---------------------------------------------------------------------------
#  Fortran 77 compiler and the flags to use.  Presently, ATLAS does not itself
#  use any Fortran 77, but vendor BLAS are typically written for Fortran, so
#  any links that include non-ATLAS BLAS will use FLINKER instead of CLINKER
#  ---------------------------------------------------------------------------
   F77 = /opt/SUNWspro/bin/f77
   F77FLAGS = -dalign -native -xO5 -mt
   FLINKER = $(F77)
   FLINKFLAGS = $(F77FLAGS)
   FCLINKFLAGS = $(FLINKFLAGS) 


#  ---------------------------------------------------------------------------
#  Various C compilers, and the linker to be used when we are not linking in
#  non-ATLAS BLAS (which usually necessitate using the Fortran linker).
#  The C compilers recognized by ATLAS are:
#     CC :  Compiler to use to compile regular, non-generated code
#    MCC :  Compiler to use to compile generated, highly-optimized code
#    XCC :  Compiler to be used on the compile engine of a cross-compiler
#  These will typically all be the same.  An example of where this is not
#  the case would be DEC ALPHA 21164, where you want to use gcc for MCC,
#  because DEC's cc does not allow the programmer access to all 32 floating
#  point registers.  However, on normal C code, DEC's cc produces much faster
#  code than gcc, so you CC set to cc.  Of course, any system where you are
#  cross-compiling, you will need to set XCC differently than CC & MCC.
#  ---------------------------------------------------------------------------
   CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS) -DATL_NCPU=12

   GOODGCC = /usr/local/bin/gcc 
   CC = /opt/SUNWspro/bin/cc
   CCFLAG0 = -dalign -fsingle -xO5 -native -mt
   CCFLAGS = $(CDEFS) $(CCFLAG0)
   MCC = /opt/SUNWspro/bin/cc
   MMFLAGS = -dalign -fsingle -xO2 -native -mt
   XCC = /opt/SUNWspro/bin/cc
   XCCFLAGS = $(CDEFS) -dalign -fsingle -xO5 -native -mt
   CLINKER = $(CC)
   CLINKFLAGS = $(CCFLAGS)
   BC = $(CC)
   BCFLAGS = $(CCFLAGS)
   ARCHIVER = ar
   ARFLAGS  = r
   RANLIB   = echo

#  -------------------------------------
#  tar, gzip, gunzip, and parallel make
#  -------------------------------------
   TAR    = /usr/bin/tar 
   GZIP   = /usr/bin/gzip 
   GUNZIP = /usr/bin/gunzip 
   PMAKE  = $(MAKE)

#  ------------------------------------
#  Reference and system libraries
#  ------------------------------------
   BLASlib = -xlic_lib=sunperf
   FBLASlib = 
   FLAPACKlib = 
   LIBS = -lpthread -lm

#  ----------------------------------------------------------
#  ATLAS install resources (include arch default directories)
#  ----------------------------------------------------------
   ARCHDEF = 
   MMDEF = 
   INSTFLAGS = 

#  ---------------------------------------
#  Generic targets needed by all makefiles
#  ---------------------------------------
waitfile:


More information about the Scipy-dev mailing list