racket / db

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

postgreql-connect runs error: EVP_MD_size: implementation not found

kalxd opened this issue · comments

Hi all.
I am using Racket 8.7 on debian bookworm, and trying to connect to postgresql 15(from docker image postgresql:15).
the database is deployed well, and I can connect it by psql. while I try connect by racket/db, a error occurs:

#lang racket/base

(require db)

(define conn
  (postgresql-connect #:user "null"
                      #:database "null"
                      #:password "null"
                      #:server "192.168.31.10"))

and shows out:

EVP_MD_size: implementation not found
  arguments...:
   #<cpointer>
  context...:
   /usr/share/racket/pkgs/sasl-lib/private/crypto.rkt:88:0: pbkdf2
   /usr/share/racket/pkgs/sasl-lib/private/scram.rkt:72:0: scram-client-receive-1
   /usr/share/racket/pkgs/db-lib/db/private/postgresql/connection.rkt:307:4: connect:auth/scram method in connection-base%
   /usr/share/racket/pkgs/db-lib/db/private/postgresql/connection.rkt:260:4: connect:expect-auth method in connection-base%
   /usr/share/racket/collects/db/private/generic/common.rkt:308:13
   /usr/share/racket/collects/db/private/generic/common.rkt:215:18
   /usr/share/racket/collects/db/private/generic/common.rkt:180:8
   /usr/share/racket/collects/db/private/generic/common.rkt:209:4: call-with-lock* method in locking%
   /usr/share/racket/pkgs/db-lib/db/private/postgresql/main.rkt:13:0: postgresql-connect
   /usr/share/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3

How do I fix it? Is it the problem of SASL-LIB?
thanks.

Yes, there was a bug in sasl-lib related to OpenSSL 3.0 and later. It is fixed in recent version of Racket.