• Bug#1091945: org-roam: FTBFS: error: (void-function emacsql-sqlite)

    From Santiago Vila@21:1/5 to All on Thu Jan 2 19:20:05 2025
    XPost: linux.debian.maint.emacsen

    Package: src:org-roam
    Version: 2.2.2-4
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --with elpa
    dh_clean
    debian/rules binary
    dh binary --with elpa
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure
    debian/rules override_dh_auto_build
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    rm -f doc/org-roam.texi
    make -C doc texi
    make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
    Loading /etc/emacs/site-start.d/00debian.el (source)...

    [... snipped ...]

    λ (emacsql-sqlite "/tmp/org-roam.db")
    error: (void-function emacsql-sqlite)

    ========================================
    org-roam-db-sync has the correct number of nodes

    Traceback (most recent call last):
    M (car
    (car
    (org-roam-db-query
    [:select
    (funcall count)
    :from nodes])))
    M (car
    (org-roam-db-query
    [:select
    (funcall count)
    :from nodes]))
    λ (org-roam-db-query
    [:select
    (funcall count)
    :from nodes])
    M (apply #'emacsql
    (org-roam-db)
    sql args)
    λ (org-roam-db)
    M (if
    (and
    (org-roam-db--get-connection)
    (emacsql-live-p
    (org-roam-db--get-connection)))
    nil
    (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))))
    M (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path"))))))
    M (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))
    λ (funcall emacsql-sqlite "/tmp/org-roam.db")
    λ (emacsql-sqlite "/tmp/org-roam.db")
    error: (void-function emacsql-sqlite)

    ========================================
    org-roam-db-sync has the correct number of links

    Traceback (most recent call last):
    M (car
    (car
    (org-roam-db-query
    [:select
    (funcall count)
    :from links])))
    M (car
    (org-roam-db-query
    [:select
    (funcall count)
    :from links]))
    λ (org-roam-db-query
    [:select
    (funcall count)
    :from links])
    M (apply #'emacsql
    (org-roam-db)
    sql args)
    λ (org-roam-db)
    M (if
    (and
    (org-roam-db--get-connection)
    (emacsql-live-p
    (org-roam-db--get-connection)))
    nil
    (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))))
    M (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path"))))))
    M (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))
    λ (funcall emacsql-sqlite "/tmp/org-roam.db")
    λ (emacsql-sqlite "/tmp/org-roam.db")
    error: (void-function emacsql-sqlite)

    ========================================
    org-roam-db-sync respects ROAM_EXCLUDE

    Traceback (most recent call last):
    M (mapcar #'car
    (org-roam-db-query
    [:select id :from nodes]))
    λ (org-roam-db-query
    [:select id :from nodes])
    M (apply #'emacsql
    (org-roam-db)
    sql args)
    λ (org-roam-db)
    M (if
    (and
    (org-roam-db--get-connection)
    (emacsql-live-p
    (org-roam-db--get-connection)))
    nil
    (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))))
    M (let
    ((init-db
    (not
    (file-exists-p org-roam-db-location))))
    (make-directory
    (file-name-directory org-roam-db-location)
    t)
    (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path"))))))
    M (let
    ((conn
    (funcall
    (org-roam-db--conn-fn)
    org-roam-db-location)))
    (emacsql conn
    [:pragma
    (= foreign_keys ON)])
    (let*
    ((process
    (and t
    (emacsql-process conn)))
    (_
    (and process
    (processp process))))
    (if _
    (set-process-query-on-exit-flag process nil)))
    (puthash
    (expand-file-name
    (file-name-as-directory org-roam-directory))
    conn org-roam-db--connection)
    (if init-db
    (progn
    (org-roam-db--init conn)))
    (let*
    ((version
    (car
    (car
    (emacsql conn "PRAGMA user_version"))))
    (version
    (org-roam-db--upgrade-maybe conn version)))
    (cond
    ((> version org-roam-db-version)
    (emacsql-close conn)
    (user-error "The Org-roam database was created with a newer Org-roam version. " "You need to update the Org-roam package"))
    ((< version org-roam-db-version)
    (emacsql-close conn)
    (error "BUG: The Org-roam database scheme changed %s" "and there is no upgrade path")))))
    λ (funcall emacsql-sqlite "/tmp/org-roam.db")
    λ (emacsql-sqlite "/tmp/org-roam.db")
    error: (void-function emacsql-sqlite)

    Ran 13 specs, 4 failed, in 287.53ms.
    buttercup-run failed: ""
    dh_elpa_test: error: buttercup -L . --traceback pretty returned exit code 255 make: *** [debian/rules:4: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202501/

    About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    If this is really a bug in one of the build-depends, please use
    reassign and add an affects on src:org-roam, so that this is still
    visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)