Current version 3.8.6 fails to build with R-4.6.0 in poudriere
Created attachment 270455 [details] Update sysutils/R-cran-processx to 3.9.0 and updated sysutils/R-cran-ps to 1.9.3 processx requires ps >= 1.9.3 now, so update that as well. Tested build with poudriere on 14.4-RELEASE amd64
The `make test` fails on R-cran-processx.
(In reply to Zsolt Udvari from comment #2) Sorry, the output: ===> Installing existing package /packages/All/R-cran-pillar-1.11.1.pkg [14-default] Installing R-cran-pillar-1.11.1... [14-default] `-- Installing R-cran-glue-1.8.1... [14-default] `-- Extracting R-cran-glue-1.8.1: 100% pkg-static: Missing dependency 'R-cran-lifecycle' Failed to install the following 1 package(s): /packages/All/R-cran-pillar-1.11.1.pkg *** Error code 1 I'll check it.
The devel/R-cran-rlang fails.
R-cran-rlang was fixed in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295048
Still having: [00:02:51] Failed ports: sysutils/R-cran-processx:stage math/R-cran-dplyr:stage I will take a look at math/R-cran-dplyr
(In reply to Nuno Teixeira from comment #6) nvm, theres an PR 295051 already
(In reply to Nuno Teixeira from comment #7) Yes, I was working through R libs that stopped working with R-4.6.0 (and their dependencies) and forgot to link the PR's. But I think what caused the most problems with the R upgrade is that libs like R-cran-vctrs get rebuilt when R is upgraded, but if there isn't a version bump pkg doesn't know it needs to re-install. It would have needed a PORTREVISION bump for the R upgrade
(In reply to Einar Bjarni Halldórsson from comment #8) yes, a bump on consumers and an exp-run would be good.
(In reply to Einar Bjarni Halldórsson from comment #8) Nuno let me know about these issues today. I spent a bit of time investigating, and here is part of my reply to Nuno's email. The main problem is that R 4.6.0 removed declarations for some non-API functions from its installed headers, and this change does not appear to have been well documented in the NEWS for this release. Here is a proposed commit message for this update. sysutils/R-cran-processx: Update to 3.9.0 The previous version (3.8.6) failed to build against math/R 4.6.0. Rf_findVar is a non-API entry point whose declaration is no longer available in R 4.6.0's installed headers. The vendored copy of cleancall in processx called Rf_findVar directly in both cleancall.c and init.c, causing a compile error. Version 3.9.0 fixes this upstream by replacing the calls with R_getVar, with a compatibility shim for R < 4.5.0. Release notes: https://github.com/r-lib/processx/releases/tag/v3.9.0
(In reply to Joseph Mingrone from comment #10) I agree, and it's the same with bug #295051
I'm testing R-cran-processx.
* checking tests ... Running 'testthat.R'Segmentation fault (core dumped) ERROR Running the tests in 'tests/testthat.R' failed. Last 13 lines of output: 28: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRA N") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip( paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 29: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 30: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call) 31: FUN(X[[i]], ...) 32: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call) 33: doTryCatch(return(expr), name, parentenv, handler) 34: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 35: tryCatchList(expr, classes, parentenv, handlers) 36: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 37: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)) 38: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = sto p_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call) 39: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, st op_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle) 40: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 41: test_check("processx", reporter = "summary") An irrecoverable exception occurred. R is aborting now ... * DONE
(In reply to Zsolt Udvari from comment #13) That's not good... I've updated TEST_DEPENDS in my tree, but I still get a segfault. I'll see what I can do to fix it.
Tried downgrading R to 4.5.3, made no difference. Seems to be a problem above my paygrade
My opinion is that you should commit update if you get a run-test OK and leave tests for later testing.
(In reply to Nuno Teixeira from comment #16) Yes. The port which builds fine is better than a port which doesn't build :)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=165891aa1d131e49d67355778bb22e0c6a4580b3 commit 165891aa1d131e49d67355778bb22e0c6a4580b3 Author: Einar Bjarni Halldórsson <einar@isnic.is> AuthorDate: 2026-05-12 18:01:00 +0000 Commit: Zsolt Udvari <uzsolt@FreeBSD.org> CommitDate: 2026-05-12 18:02:04 +0000 sysutils/R-cran-processx: Update to 3.9.0 Changelog: https://cran.r-project.org/web/packages/processx/news/news.html PR: 295049 sysutils/R-cran-processx/Makefile | 4 ++-- sysutils/R-cran-processx/distinfo | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)