Skip to content

Bug: cblas seems deprecated (and can't compile) #88

@dumblob

Description

@dumblob

The cblas module seems deprecated and unmaintained. It also can't compile:

cc -O2 -DDAO_WITH_NUMARRAY -DDAO_WITH_THREAD -DDAO_WITH_CONCURRENT -DDAO_WITH_RESTART -DTARGET_PLAT=\"linux\" -DLINUX=2 -DUNIX=1 -I../../kernel/ -I../auxlib/ -I../../kernel/ -I../../ -fPIC  -c dao_cblas.c -o DaoMake.Objs/dao_cblas.c.78BD.o
dao_cblas.c:145:8: error: unknown type name ‘DaoFuncItem’
 static DaoFuncItem dao__Funcs[] =
        ^~~~~~~~~~~
dao_cblas.c:147:3: warning: braces around scalar initializer
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
   ^
dao_cblas.c:147:3: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
     ^~~~~~~~~~~~~~~~~
dao_cblas.c:147:5: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:5: error: initializer element is not computable at load time
dao_cblas.c:147:5: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:24: warning: excess elements in scalar initializer
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dao_cblas.c:147:24: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:148:3: warning: braces around scalar initializer
   { dao__cblas_dsdot, "cblas_dsdot( n: int, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
   ^
dao_cblas.c:148:3: note: (near initialization for ‘dao__Funcs[1]’)
dao_cblas.c:148:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { dao__cblas_dsdot, "cblas_dsdot( n: int, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
     ^~~~~~~~~~~~~~~~

<snip>

dao_cblas.c:2735:3: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { NULL, 0, 0 }
     ^~~~
dao_cblas.c:2735:5: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:11: warning: excess elements in scalar initializer
   { NULL, 0, 0 }
           ^
dao_cblas.c:2735:11: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:14: warning: excess elements in scalar initializer
   { NULL, 0, 0 }
              ^
dao_cblas.c:2735:14: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c: In function ‘DaoOnLoad’:
dao_cblas.c:2755:36: warning: passing argument 2 of ‘DaoNamespace_AddConstNumbers’ from incompatible pointer type [-Wincompatible-pointer-types]
  DaoNamespace_AddConstNumbers( ns, dao__Nums );
                                    ^~~~~~~~~
In file included from dao_cblas.h:6:0,
                 from dao_cblas.c:1:
../../kernel/dao.h:1127:14: note: expected ‘DaoNumberEntry * {aka struct DaoNumberEntry *}’ but argument is of type ‘int *’
 DAO_DLL void DaoNamespace_AddConstNumbers( DaoNamespace *self, DaoNumberEntry *items );
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
dao_cblas.c:2757:34: warning: passing argument 2 of ‘DaoNamespace_WrapFunctions’ from incompatible pointer type [-Wincompatible-pointer-types]
  DaoNamespace_WrapFunctions( ns, dao__Funcs );
                                  ^~~~~~~~~~
In file included from dao_cblas.h:6:0,
                 from dao_cblas.c:1:
../../kernel/dao.h:1138:13: note: expected ‘DaoFunctionEntry * {aka struct DaoFunctionEntry *}’ but argument is of type ‘int *’
 DAO_DLL int DaoNamespace_WrapFunctions( DaoNamespace *self, DaoFunctionEntry fd[] );
             ^~~~~~~~~~~~~~~~~~~~~~~~~~

It seems very useful, so we should update it to the latest Dao (I would rather not abandon it).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions