Sergey Plis
Wed, 04 Jun 2008 23:45:37 -0700
Bernd Paysan wrote:
Thank you for your replies Marcel and Bernd. Let me give a more detailed description with a simple example.Well, have you tried to copy the libptcblas.so of the 32 bit box to your 64 bit system? The only reason I can see is that on your 64 bit system, the 32 bit library build process is somewhat broken (distribution problem then). Has Ubuntu something like "linux32" which opens an environment where everything thinks it's on a 32 bit box? So far, on my OpenSuSE installation, I haven't seen any of those problems
All of the 32 bit libraries used in gsl.fs are compiled by myself in 32 bit mode. All tests of ATLAS suite including shared libraries test (undocumented) pass without any problem. Here is the output of file on my local lib directory (symbolic links removed):
libatlas.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libcblas.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libf77blas.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libgslcblas.so.0.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libgsl.so.0.12.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped liblapack.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libltdl.so.3.1.5: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libptcblas.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped libptf77blas.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
I have constructed a very minimal example that can recreate my error with these libraries. It behaves differently if called from within bigforth or if passed on the command line:
[EMAIL PROTECTED] ../mBN_ex> bigforth test.fs
ANS bigFORTH 386-Linux rev. 2.2.0
.s <1> 134534440 ok
q
[EMAIL PROTECTED] ../mBN_ex> bigforth
ANS bigFORTH 386-Linux rev. 2.2.0
include test.fs bigforth: symbol lookup error: ~/soft/lib/libgsl.so:
undefined symbol: cblas_dgemv
[EMAIL PROTECTED] ../mBN_ex> My gsl.fs library has to be started like that: bigforth -e 'include atlas.fs'and only then gsl.fs included. Otherwise liblapack.so is always not found even though strace -e open reports success. I get undefined symbol error when I include gsl.fs from within bigforth and when I include it on the command line.
The file test.fs looks like following: (* START *) also dos library libatlas libatlas.so library libblas libptcblas.so depends libatlas library libgsl libgsl.so depends libblas legacy off libgsl gsl_blas_dgemv int df int int df int (int/fp) gsl_blas_dgemvlibgsl gsl_vector_calloc int (int) gsl_vector_calloc ( n -- addr )
libgsl gsl_matrix_calloc int int (int) gsl_matrix_calloc
legacy on
111 Constant CblasNoTrans
struct{
cell size1
cell size2
cell tda
cell data
cell block
cell owner
} gsl_matrix
: fmatrix ( n m -- | -- id addr )
create gsl_matrix_calloc ,
does> @ ;
: fvector ( n -- | -- id addr )
create gsl_vector_calloc ,
does> @ ;
: ]]size1 gsl_matrix size1 @ ;
: ]]*] ( *gsl_matrix *gsl_vector -- *gsl_vector )
over ]]size1 gsl_vector_calloc >r
CblasNoTrans -rot r@ !1 !0 gsl_blas_dgemv drop r> ;
10 10 fmatrix x[[
10 fvector x[
x[[ x[ ]]*]
(* END *)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]