Simple receive hangs on macOS
Closed this issue · 23 comments
workers_running are only counted after a worker is registered, so you need to call w$recv() first (yielding NULL) - so this is expected, but the documentation should still be at bit clearer.
I tried this on my Mac:
options(clustermq.scheduler = "multiprocess")
library(clustermq)
w <- workers(n_jobs = 1L)
w$recv()
But it silently hangs at recv()
.
Originally posted by @wlandau in #303 (comment)
I got my Linux box back up and running, and I tried the example using 9f3d6d2. This time I got an explicit error:
options(clustermq.scheduler = "multiprocess")
library(clustermq)
w <- workers(n_jobs = 1L)
#> Error in eval(expr, envir, enclos): Invalid argument
Created on 2023-10-12 with reprex v2.0.2
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.0 (2023-04-21)
#> os Ubuntu 22.04.3 LTS
#> system x86_64, linux-gnu
#> ui X11
#> language
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/New_York
#> date 2023-10-12
#> pandoc 3.1.1 @ /usr/lib/rstudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> cli 3.6.1.9000 2023-10-04 [1] Github (r-lib/cli@d888311)
#> clustermq * 0.9.0 2023-10-11 [1] Github (mschubert/clustermq@9f3d6d2)
#> codetools 0.2-19 2023-02-01 [1] CRAN (R 4.3.0)
#> digest 0.6.33 2023-07-07 [1] CRAN (R 4.3.0)
#> evaluate 0.21 2023-05-05 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.0)
#> glue 1.6.2 2022-02-24 [1] CRAN (R 4.3.0)
#> htmltools 0.5.5 2023-03-23 [1] CRAN (R 4.3.0)
#> knitr 1.43 2023-05-25 [1] CRAN (R 4.3.0)
#> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.3.0)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> purrr 1.0.1 2023-01-10 [1] CRAN (R 4.3.0)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.3.0)
#> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.3.0)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0)
#> Rcpp 1.0.11 2023-07-06 [1] CRAN (R 4.3.0)
#> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.3.0)
#> rlang 1.1.1 2023-04-28 [1] CRAN (R 4.3.0)
#> rmarkdown 2.21 2023-03-26 [1] CRAN (R 4.3.0)
#> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.3.0)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> styler 1.10.1 2023-06-05 [1] CRAN (R 4.3.0)
#> vctrs 0.6.3 2023-06-14 [1] CRAN (R 4.3.0)
#> withr 2.5.1 2023-09-26 [1] CRAN (R 4.3.0)
#> xfun 0.40 2023-08-09 [1] CRAN (R 4.3.0)
#> yaml 2.3.7 2023-01-23 [1] CRAN (R 4.3.0)
#>
#> [1] /home/landau/R/R-4.3.0/library
#>
#> ──────────────────────────────────────────────────────────────────────────────
By the way, should I use the master
branch or develop
?
This is very strange, I've never seen that either on my own machine or on CI. Can you debug()
and R to see which argument is invalid and why?
By the way, should I use the
master
branch ordevelop
?
Please use master
, I'll try and keep it stable again
It happens here:
Line 17 in 9f3d6d2
addr
looks like this:
str(addr)
#> chr [1:100] "tcp://*:9643" "tcp://*:8037" "tcp://*:6011" "tcp://*:6130" "tcp://*:8978" "tcp://*:7333" ...
and private$master$listen
looks like this:
Class method definition for method listen()
function (...)
{
" std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > listen(Rcpp::CharacterVector) \n "
.External(list(name = "CppMethod__invoke_notvoid", address = <pointer: 0x557a74239dd0>,
dll = list(name = "Rcpp", path = "/home/landau/R/R-4.3.0/library/Rcpp/libs/Rcpp.so",
dynamicLookup = TRUE, handle = <pointer: 0x557a772e5500>,
info = <pointer: 0x557a745a95e0>), numParameters = -1L),
<pointer: 0x557a7d21cd90>, <pointer: 0x557a7935fc90>,
.pointer, ...)
}
<environment: 0x557a7cd86f68>
Does the following work for you?
m = methods::new(clustermq:::CMQMaster)
m$listen(c("tcp://*:9643", "tcp://*:8037", "tcp://*:6011" ))
Nope, same error.
But the following works?
clustermq:::has_connectivity("127.0.0.1")
Yes, it returns TRUE.
What about
m = methods::new(clustermq:::CMQMaster)
m$listen("tcp://*:*")
(sorry for all the requests, I'm not sure what's going on here - it may be that your system doesn't allow lower ports to be bound)
There I get "Error: Invalid argument"
I also got the same error with m$listen(c("tcp://*:59643", "tcp://*:58037", "tcp://*:56011" ))
(higher ports)
I'm not sure, but could it be a problem with how the C++ code accepts string inputs? Based on my experience using mirai
, my machine's ability to use ports seems normal.
I've created a branch debug-portbinding
to narrow this down further.
Can you please try this and paste the output here?
# remotes::install_github("mschubert/clustermq@debug-portbinding")
m = methods::new(clustermq:::CMQMaster)
m$listen("tcp://*:*")
m$listen("invalid")
I believe the Ubuntu issue is now fixed in master
(the #ifdef
check for the router notify option was checked incorrectly), but the macOS issue remains
Using remotes::install_github("mschubert/clustermq@debug-portbinding")
(fdc8236), I see:
m = methods::new(clustermq:::CMQMaster)
m$listen("tcp://*:*")
#> here1
#> here2
#> here3
#> here3.5
#> Error: Invalid argument
m$listen("invalid")
#> here1
#> here2
#> here3
#> here3.5
#> Error: Invalid argument
Yes, that's expected: it means that the issue is with setting the socket option, not the actual port binding. And this should be fixed in master
.
Odd, using 48317bf I still see:
options(clustermq.scheduler = "multiprocess")
library(clustermq)
w <- workers(n_jobs = 1L)
#> Error: Invalid argument
As for Mac OS, I could probably install a pre-compiled binary from r-universe.
On Mac OS, it turns out the installation is not finding automake or autoconf in the homebrew locations
$ which autoconf
/opt/homebrew/bin/autoconf
$ which automake
/opt/homebrew/bin/automake
I tried this in R:
Sys.setenv(PATH = paste("/opt/homebrew/bin", Sys.getenv("PATH"), sep=":"))
and I got a different set of errors:
> remotes::install_github("mschubert/clustermq")
Using github PAT from envvar GITHUB_PAT
Downloading GitHub repo mschubert/clustermq@HEAD
'/usr/bin/git' clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/zeromq/libzmq.git /var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/remotes32d638b9ba9b/mschubert-clustermq-48317bf/src/libzmq
Cloning into '/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/remotes32d638b9ba9b/mschubert-clustermq-48317bf/src/libzmq'...
'/usr/bin/git' clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/zeromq/cppzmq.git /var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/remotes32d638b9ba9b/mschubert-clustermq-48317bf/src/cppzmq
Cloning into '/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/remotes32d638b9ba9b/mschubert-clustermq-48317bf/src/cppzmq'...
── R CMD build ──────────────────────────
✔ checking for file ‘/private/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T/Rtmpq3SdLz/remotes32d638b9ba9b/mschubert-clustermq-48317bf/DESCRIPTION’ ...
─ preparing ‘clustermq’: (1.3s)
✔ checking DESCRIPTION meta-information ...
─ cleaning src
─ running ‘cleanup’
─ checking for LF line-endings in source and make files and shell scripts
─ checking for empty or unneeded directories (1.9s)
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/aarch64/le’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/aarch64’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/x86_64/o’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/x86_64’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto’
Removed empty directory ‘clustermq/src/libzmq/builds/openwrt’
─ building ‘clustermq_0.9.1.tar.gz’
* installing *source* package ‘clustermq’ ...
** using staged installation
* no system libzmq found -> using bundled libzmq
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I config --force -I config
autoreconf: configure.ac: tracing
autoreconf: running: glibtoolize --copy --force
glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
glibtoolize: copying file 'config/ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'config'.
glibtoolize: copying file 'config/libtool.m4'
glibtoolize: copying file 'config/ltoptions.m4'
glibtoolize: copying file 'config/ltsugar.m4'
glibtoolize: copying file 'config/ltversion.m4'
glibtoolize: copying file 'config/lt~obsolete.m4'
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal -I config --force -I config
autoreconf: running: /opt/homebrew/Cellar/autoconf/2.71/bin/autoconf --include=config --force
configure.ac:69: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:69: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
m4/ax_check_compile_flag.m4:60: AX_CHECK_COMPILE_FLAG is expanded from...
configure.ac:69: the top level
configure.ac:84: warning: The macro `AC_LIBTOOL_WIN32_DLL' is obsolete.
configure.ac:84: You should run autoupdate.
config/ltoptions.m4:148: AC_LIBTOOL_WIN32_DLL is expanded from...
configure.ac:84: the top level
configure.ac:84: warning: AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you
configure.ac:84: put the 'win32-dll' option into LT_INIT's first parameter.
./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from...
config/ltoptions.m4:148: AC_LIBTOOL_WIN32_DLL is expanded from...
configure.ac:84: the top level
configure.ac:85: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
configure.ac:85: You should run autoupdate.
config/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
configure.ac:85: the top level
configure.ac:451: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:451: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:451: the top level
configure.ac:480: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:480: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:646: LIBZMQ_CHECK_EVENTFD_CLOEXEC is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
./lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
lib/m4sugar/m4sh.m4:651: AS_FOR is expanded from...
./lib/autoconf/headers.m4:217: AC_CHECK_HEADERS is expanded from...
configure.ac:480: the top level
configure.ac:534: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:534: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:534: the top level
configure.ac:817: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:817: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:817: the top level
configure.ac:972: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:972: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:597: LIBZMQ_CHECK_SOCK_CLOEXEC is expanded from...
configure.ac:972: the top level
configure.ac:978: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:978: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:621: LIBZMQ_CHECK_O_CLOEXEC is expanded from...
configure.ac:978: the top level
configure.ac:984: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:984: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:703: LIBZMQ_CHECK_SO_BINDTODEVICE is expanded from...
configure.ac:984: the top level
configure.ac:991: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:991: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:730: LIBZMQ_CHECK_SO_KEEPALIVE is expanded from...
configure.ac:991: the top level
configure.ac:997: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:997: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:757: LIBZMQ_CHECK_TCP_KEEPCNT is expanded from...
configure.ac:997: the top level
configure.ac:1003: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1003: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:787: LIBZMQ_CHECK_TCP_KEEPIDLE is expanded from...
configure.ac:1003: the top level
configure.ac:1009: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1009: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:817: LIBZMQ_CHECK_TCP_KEEPINTVL is expanded from...
configure.ac:1009: the top level
configure.ac:1015: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1015: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:847: LIBZMQ_CHECK_TCP_KEEPALIVE is expanded from...
configure.ac:1015: the top level
configure.ac:1021: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1021: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:877: LIBZMQ_CHECK_SO_PRIORITY is expanded from...
configure.ac:1021: the top level
configure.ac:1027: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1027: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:904: LIBZMQ_CHECK_GETRANDOM is expanded from...
configure.ac:1027: the top level
configure.ac:28: error: possibly undefined macro: AC_SUBST
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:75: error: missing some pkg-config macros (pkg-config package)
configure.ac:133: error: possibly undefined macro: AC_MSG_RESULT
configure.ac:146: error: possibly undefined macro: AC_DEFINE
configure.ac:254: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:357: error: possibly undefined macro: AC_CHECK_HEADERS
configure.ac:359: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:546: error: missing some pkg-config macros (pkg-config package)
configure.ac:551: error: possibly undefined macro: AC_SEARCH_LIBS
configure.ac:594: error: possibly undefined macro: AC_MSG_NOTICE
configure.ac:889: error: possibly undefined macro: AC_MSG_WARN
autoreconf: error: /opt/homebrew/Cellar/autoconf/2.71/bin/autoconf failed with exit status: 1
autogen.sh: error: autoreconf exited with status 1
ERROR: configuration failed for package ‘clustermq’
* removing ‘/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/clustermq’
Warning messages:
1: In utils::install.packages(pkgs = pkgs, lib = lib, repos = myrepos, :
installation of package ‘/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/file32d6298a3335/clustermq_0.9.1.tar.gz’ had non-zero exit status
2: In utils::install.packages(pkgs = pkgs, lib = lib, repos = myrepos, :
installation of package ‘/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//Rtmpq3SdLz/file32d6298a3335/clustermq_0.9.1.tar.gz’ had non-zero exit status
I believe the Ubuntu issue is now fixed in master (the #ifdef check for the router notify option was checked incorrectly)
This time for real
but the macOS issue remains
I think this is fixed too. You could R CMD build
in the Ubuntu VM and install the tarball on macOS, or trust that it works on GHA (the CRAN 0.9.1
tarball will not require autoconf
/automake
)
Thanks @mschubert! My tests for targets
and drake
now work on Ubuntu. I have migrated both packages to the new interface, and the next CRAN releases will use it.
As for compilation on Mac OS, I am getting a new set of errors. It's no longer a roadblock for me, but if you would like me to open another issue, I can do that.
> remotes::install_github("mschubert/clustermq")
Using github PAT from envvar GITHUB_PAT
Downloading GitHub repo mschubert/clustermq@HEAD
'/usr/bin/git' clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/zeromq/libzmq.git /var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/remotes1dfd2f649c4c/mschubert-clustermq-0aa0e4a/src/libzmq
Cloning into '/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/remotes1dfd2f649c4c/mschubert-clustermq-0aa0e4a/src/libzmq'...
remote: Enumerating objects: 857, done.
remote: Counting objects: 100% (857/857), done.
remote: Compressing objects: 100% (630/630), done.
remote: Total 857 (delta 244), reused 607 (delta 199), pack-reused 0
Receiving objects: 100% (857/857), 1008.49 KiB | 6.22 MiB/s, done.
Resolving deltas: 100% (244/244), done.
'/usr/bin/git' clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/zeromq/cppzmq.git /var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/remotes1dfd2f649c4c/mschubert-clustermq-0aa0e4a/src/cppzmq
Cloning into '/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/remotes1dfd2f649c4c/mschubert-clustermq-0aa0e4a/src/cppzmq'...
remote: Enumerating objects: 43, done.
remote: Counting objects: 100% (43/43), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 43 (delta 1), reused 21 (delta 0), pack-reused 0
Receiving objects: 100% (43/43), 55.66 KiB | 1.14 MiB/s, done.
Resolving deltas: 100% (1/1), done.
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────
checking for file ‘/private/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T/RtmpYJ400S/remotes1dfd2f6✔ checking for file ‘/private/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T/RtmpYJ400S/remotes1dfd2f649c4c/mschubert-clustermq-0aa0e4a/DESCRIPTION’
─ preparing ‘clustermq’: (1.1s)
✔ checking DESCRIPTION meta-information ...
─ cleaning src
─ running ‘cleanup’
─ checking for LF line-endings in source and make files and shell scripts (399ms)
─ checking for empty or unneeded directories (1.9s)
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/aarch64/le’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/aarch64’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/x86_64/o’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto/x86_64’
Removed empty directory ‘clustermq/src/libzmq/build_qnx/nto’
Removed empty directory ‘clustermq/src/libzmq/builds/openwrt’
building ‘clustermq_0.9.1.tar.gz’
* installing *source* package ‘clustermq’ ...
** using staged installation
./configure: line 17: pkg-config: command not found
* no system libzmq found -> using bundled libzmq
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I config --force -I config
m4:configure.ac:9: ERROR: end of file in string
autom4te: error: /opt/homebrew/opt/m4/bin/m4 failed with exit status: 1
aclocal: error: /opt/homebrew/Cellar/autoconf/2.71/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1
autogen.sh: error: autoreconf exited with status 1
./configure: line 42: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
ERROR: configuration failed for package ‘clustermq’
* removing ‘/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/clustermq’
Warning messages:
1: In utils::install.packages(pkgs = pkgs, lib = lib, repos = myrepos, :
installation of package ‘/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/file1dfd234cce45/clustermq_0.9.1.tar.gz’ had non-zero exit status
2: In utils::install.packages(pkgs = pkgs, lib = lib, repos = myrepos, :
installation of package ‘/var/folders/4v/vh7xp8553lsbl49svl48g7p00000gp/T//RtmpYJ400S/file1dfd234cce45/clustermq_0.9.1.tar.gz’ had non-zero exit status
Great to hear it works on Ubuntu!
Please reopen if the Mac error is still an issue from the CRAN tarball of 0.9.1
.