Bernd Paysan wrote:
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
Thank you for your replies Marcel and Bernd. Let me give a more detailed description with a simple example.

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_dgemv
libgsl 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]

Reply via email to