snoweye / pbdZMQ

Interface to ZeroMQ
GNU General Public License v3.0
17 stars 12 forks source link

Unable to install pbdZMQ #33

Open seekshreyas opened 7 years ago

seekshreyas commented 7 years ago

Hi I'm unable to install pbdZMQ package, needed as a dependency for IRkernel.

Error

ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/lib/R/library/pbdZMQ’
Error: Command failed (1)

Command

install_github("RBigData/pbdZMQ")

Using the Github version because it gave the same error when installing via CRAN

Full Error

Downloading GitHub repo RBigData/pbdZMQ@master
from URL https://api.github.com/repos/RBigData/pbdZMQ/zipball/master
Installing pbdZMQ
'/Users/shreyas/anaconda/lib/R/bin/R' --no-site-file --no-environ --no-save  \
  --no-restore --quiet CMD INSTALL  \
  '/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/Rtmp63VrUX/devtools3b57643b1152/RBigData-pbdZMQ-3f78dbe'  \
  --library='/Users/shreyas/anaconda/lib/R/library' --install-tests

* installing *source* package ‘pbdZMQ’ ...
checking for pkg-config... no

****************** Results of pbdZMQ package configure *****************

>> GET_PKG_CONFIG = no
>> GET_SYSTEM_ZMQ = no
>> PKG_CONFIG =
>> SYSTEM_ZMQ_INCLUDEDIR =
>> SYSTEM_ZMQ_LIBDIR =
>> ENABLE_INTERNAL_ZMQ = no
>> INTERNAL_ZMQ_INCLUDEDIR = ./zmqsrc/include
>> INTERNAL_ZMQ_LIBDIR = ./
>> EXTERNAL_ZMQ_INCLUDE =
>> EXTERNAL_ZMQ_LDFLAGS =
>> ZMQ_INCLUDE = -I./zmqsrc/include
>> ZMQ_LDFLAGS = -L./ -lzmq
>> EXT_LIBS = $(R_ZMQ)
>> ZMQ_POLLER = select

************************************************************************

configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
config.status: creating R/zzz.r
** libs
( sh ./chmod_zmq.inc; cd zmqsrc; sh ../build_zmq )
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... yes
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/Rtmp63VrUX/devtools3b57643b1152/RBigData-pbdZMQ-3f78dbe/src/zmqsrc':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
make[1]: *** No rule to make target `all'.  Stop.
make[1]: *** No rule to make target `install'.  Stop.
make: *** [libzmq] Error 2
ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/lib/R/library/pbdZMQ’
Error: Command failed (1)
snoweye commented 7 years ago
seekshreyas commented 7 years ago

@snoweye : Thanks for responding. Sorry I forgot to mention them

I'm on OSX Sierra 10.12.3 R version output

               _
platform       x86_64-apple-darwin11.4.2
arch           x86_64
os             darwin11.4.2
system         x86_64, darwin11.4.2
status
major          3
minor          3.2
year           2016
month          10
day            31
svn rev        71607
language       R
version.string R version 3.3.2 (2016-10-31)
nickname       Sincere Pumpkin Patch

I tried installing this in both R studio and R command. Failed in both.

wrathematics commented 7 years ago

I'm not a Mac person so I'm just sort of taking a stab in the dark here. This looks like some kind of fundamental build problem and not one specific to pbdZMQ. Do you possibly have multiple Xcode versions, or more to the point, using the old Xcode for the new (and non-backwards compatible?) kernel? This thread suggests trying xcode-select --switch and choosing the latest Xcode. That was for a much older OSX (and presumably Xcode) version, but it seems reasonable to me that this could be the problem.

snoweye commented 7 years ago
seekshreyas commented 7 years ago

I think I do have ZeroMQ installed

$ brew install zeromq
Warning: zeromq-4.2.1 already installed

When I ran this again,

> library('devtools')
> install_github("RBigData/pbdZMQ")

it still failed with the following error

ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
Error: Command failed (1)

Full install log

> library('devtools')
> install_github("RBigData/pbdZMQ")
Downloading GitHub repo RBigData/pbdZMQ@master
from URL https://api.github.com/repos/RBigData/pbdZMQ/zipball/master
Installing pbdZMQ
'/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/bin/R' --no-site-file  \
  --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  '/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/RtmpeO3JBE/devtools5dd81d62c337/RBigData-pbdZMQ-3f78dbe'  \
  --library='/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library'  \
  --install-tests

* installing *source* package ‘pbdZMQ’ ...
checking for pkg-config... no

****************** Results of pbdZMQ package configure *****************

>> GET_PKG_CONFIG = no
>> GET_SYSTEM_ZMQ = no
>> PKG_CONFIG =
>> SYSTEM_ZMQ_INCLUDEDIR =
>> SYSTEM_ZMQ_LIBDIR =
>> ENABLE_INTERNAL_ZMQ = no
>> INTERNAL_ZMQ_INCLUDEDIR = ./zmqsrc/include
>> INTERNAL_ZMQ_LIBDIR = ./
>> EXTERNAL_ZMQ_INCLUDE =
>> EXTERNAL_ZMQ_LDFLAGS =
>> ZMQ_INCLUDE = -I./zmqsrc/include
>> ZMQ_LDFLAGS = -L./ -lzmq
>> EXT_LIBS = $(R_ZMQ)
>> ZMQ_POLLER = select

************************************************************************

configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
config.status: creating R/zzz.r
** libs
( sh ./chmod_zmq.inc; cd zmqsrc; sh ../build_zmq )
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... yes
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/RtmpeO3JBE/devtools5dd81d62c337/RBigData-pbdZMQ-3f78dbe/src/zmqsrc':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
make[1]: *** No rule to make target `all'.  Stop.
make[1]: *** No rule to make target `install'.  Stop.
make: *** [libzmq] Error 2
ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
Error: Command failed (1)
seekshreyas commented 7 years ago

When I try installing from CRAN

install.packages('pbdZMQ')

Error

See `config.log' for more details
make[1]: *** No rule to make target `all'.  Stop.
make[1]: *** No rule to make target `install'.  Stop.
make: *** [libzmq] Error 2
ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’

The downloaded source packages are in
    ‘/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/RtmpeO3JBE/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("pbdZMQ") :
  installation of package ‘pbdZMQ’ had non-zero exit status

Full log

> install.packages('pbdZMQ')
--- Please select a CRAN mirror for use in this session ---
HTTPS CRAN mirror

 1: 0-Cloud [https]                 2: Algeria [https]
 3: Australia (Canberra) [https]    4: Australia (Melbourne) [https]
 5: Australia (Perth) [https]       6: Austria [https]
 7: Belgium (Ghent) [https]         8: Brazil (RJ) [https]
 9: Brazil (SP 1) [https]          10: Bulgaria [https]
11: Canada (MB) [https]            12: Chile 1 [https]
13: Chile 2 [https]                14: China (Beijing) [https]
15: China (Hefei) [https]          16: China (Lanzhou) [https]
17: Colombia (Cali) [https]        18: Czech Republic [https]
19: Denmark [https]                20: France (Lyon 1) [https]
21: France (Lyon 2) [https]        22: France (Marseille) [https]
23: France (Montpellier) [https]   24: France (Paris 2) [https]
25: Germany (Falkenstein) [https]  26: Germany (Münster) [https]
27: Iceland [https]                28: India [https]
29: Ireland [https]                30: Italy (Padua) [https]
31: Japan (Tokyo) [https]          32: Malaysia [https]
33: Mexico (Mexico City) [https]   34: New Zealand [https]
35: Norway [https]                 36: Philippines [https]
37: Russia (Moscow) [https]        38: Serbia [https]
39: Spain (A Coruña) [https]       40: Spain (Madrid) [https]
41: Sweden [https]                 42: Switzerland [https]
43: Taiwan (Chungli) [https]       44: Turkey (Denizli) [https]
45: UK (Bristol) [https]           46: UK (Cambridge) [https]
47: UK (London 1) [https]          48: USA (CA 1) [https]
49: USA (IA) [https]               50: USA (IN) [https]
51: USA (KS) [https]               52: USA (MI 1) [https]
53: USA (OR) [https]               54: USA (TN) [https]
55: USA (TX) [https]               56: (HTTP mirrors)

Selection: 1
trying URL 'https://cloud.r-project.org/src/contrib/pbdZMQ_0.2-5.tar.gz'
Content type 'application/x-gzip' length 963129 bytes (940 KB)
==================================================
downloaded 940 KB

* installing *source* package ‘pbdZMQ’ ...
** package ‘pbdZMQ’ successfully unpacked and MD5 sums checked
checking for pkg-config... no

****************** Results of pbdZMQ package configure *****************

>> GET_PKG_CONFIG = no
>> GET_SYSTEM_ZMQ = no
>> PKG_CONFIG =
>> SYSTEM_ZMQ_INCLUDEDIR =
>> SYSTEM_ZMQ_LIBDIR =
>> ENABLE_INTERNAL_ZMQ = no
>> INTERNAL_ZMQ_INCLUDEDIR = ./zmqsrc/include
>> INTERNAL_ZMQ_LIBDIR = ./
>> EXTERNAL_ZMQ_INCLUDE =
>> EXTERNAL_ZMQ_LDFLAGS =
>> ZMQ_INCLUDE = -I./zmqsrc/include
>> ZMQ_LDFLAGS = -L./ -lzmq
>> EXT_LIBS = $(R_ZMQ)
>> ZMQ_POLLER = select

************************************************************************

configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
config.status: creating R/zzz.r
** libs
( sh ./chmod_zmq.inc; cd zmqsrc; sh ../build_zmq )
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... yes
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/RtmpEvxBoh/R.INSTALL61e37f5ad4ac/pbdZMQ/src/zmqsrc':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
make[1]: *** No rule to make target `all'.  Stop.
make[1]: *** No rule to make target `install'.  Stop.
make: *** [libzmq] Error 2
ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’
* restoring previous ‘/Users/shreyas/anaconda/envs/quasiexperiments/lib/R/library/pbdZMQ’

The downloaded source packages are in
    ‘/private/var/folders/22/gqtzzjw558704rxdbx3t463r0000gp/T/RtmpeO3JBE/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("pbdZMQ") :
  installation of package ‘pbdZMQ’ had non-zero exit status
wrathematics commented 7 years ago

I really think this is the relevant line:

configure: error: cannot run C compiled programs.

Poking around, it seems to be a fairly common issue that pops up when people upgrade to Sierra. Whatever the cause, it's a system build issue. I'm guessing you can't build anything else from source (and run it) either. Other projects people try to build with this error end up suggesting things like:

xcode-select --install

or

xcode-select --switch

from the command line. Have you tried that?

snoweye commented 7 years ago

You need to manually set the header and library paths.

afkoeppel commented 7 years ago

I'm experiencing a similar problem attempting to install pbdZMQ (I need it for the bioconductor BiSeq package).

The error I'm getting (a bunch of times during the install) is: /home/afk2s/Software_alex/Anaconda_Install/include/sodium/crypto_stream_salsa208.h:31: error: ISO C++ 1998 does not support 'long long'

This error occurs whether I install via CRAN, or via github using devtools, or installing from source with the configure options set to point to the zeromq libraries.

Any help you can provide in solving this problem would be greatly appreciated. Thanks.

OS: CentOS release 6.9 (Final) R.Version() platform "x86_64-pc-linux-gnu" arch "x86_64" os "linux-gnu" system . "x86_64, linux-gnu" status "" major "3" minor . "3.2" year "2016" month "10" day "31" svn rev "71607" language "R" version.string "R version 3.3.2 (2016-10-31)" nickname "Sincere Pumpkin Patch"

wrathematics commented 7 years ago

I think this is a separate issue. You could try adding the line CXXFLAGS = -std=c++11 to the file ~/.R/Makevars for a quick fix (I think it'll fix it, anyway).

Alternatively, you could try adding C++11 to the SystemRequirements line of the DESCRIPTION file. For simplicity, you could try replacing lines 33 and 34 with the following:

SystemRequirements: C++11

Please report back if either works for you, because I can't reproduce this on my end.

setegonz commented 4 years ago

I'm experiencing the same situation described by @seekshreyas:

> install.packages('pbdZMQ')
--- Please select a CRAN mirror for use in this session ---
Fontconfig warning: ignoring UTF-8: not a valid region tag
Package which is only available in source form, and may need
  compilation of C/C++/Fortran: ‘pbdZMQ’
Do you want to attempt to install these from sources? (Yes/no/cancel) yes
installing the source package ‘pbdZMQ’

probando la URL 'https://cran.asia/src/contrib/pbdZMQ_0.3-3.tar.gz'
Content type 'application/x-gzip' length 1052217 bytes (1.0 MB)
==================================================
downloaded 1.0 MB

* installing *source* package ‘pbdZMQ’ ...
** package ‘pbdZMQ’ successfully unpacked and MD5 sums checked
** using staged installation
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.25... yes
checking for zmq... yes

****************** Results of pbdZMQ package configure *****************

>> GET_PKG_CONFIG = yes
>> GET_SYSTEM_ZMQ = yes
>> PKG_CONFIG = /usr/local/bin/pkg-config
>> SYSTEM_ZMQ_INCLUDEDIR = /usr/local/Cellar/zeromq/4.3.2/include
>> SYSTEM_ZMQ_LIBDIR = /usr/local/Cellar/zeromq/4.3.2/lib
>> ENABLE_INTERNAL_ZMQ = no
>> INTERNAL_ZMQ_INCLUDEDIR = ./zmqsrc/include
>> INTERNAL_ZMQ_LIBDIR = ./
>> EXTERNAL_ZMQ_INCLUDE = 
>> EXTERNAL_ZMQ_LDFLAGS = 
>> ZMQ_INCLUDE = -I/usr/local/Cellar/zeromq/4.3.2/include
>> ZMQ_LDFLAGS = -L/usr/local/Cellar/zeromq/4.3.2/lib -lzmq
>> EXT_LIBS = 
>> ZMQ_POLLER = select

************************************************************************

configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/build_zmq
config.status: creating R/zzz.r
** libs
/usr/local/Cellar/gcc/8.2.0/bin/gcc-8 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/usr/local/Cellar/zeromq/4.3.2/include  -I/usr/local/include  -I/usr/local/Cellar/zeromq/4.3.2/include -fPIC  -Wall -g -O2  -c R_zmq_context.c -o R_zmq_context.o
/bin/sh: /usr/local/Cellar/gcc/8.2.0/bin/gcc-8: No such file or directory
make: *** [R_zmq_context.o] Error 127
ERROR: compilation failed for package ‘pbdZMQ’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/pbdZMQ’

The downloaded source packages are in
    ‘/private/var/folders/_z/6m23p8xs07qb04gn36cdpdxc0000gn/T/RtmpKjhgqP/downloaded_packages’
Warning message:
In install.packages("pbdZMQ") :
  installation of package ‘pbdZMQ’ had non-zero exit status

Has anyone found a solution to this issue?

setegonz commented 4 years ago

Informing that installing pbdZMQ works if CC and CXX are temporarily set to clang/clang++, respectively.in ~/.R/Makevars: ~/.R/Makevars configuration to complete pbdZMQ instalation: CC=clang CCX=clang++ CXX11=/usr/local/Cellar/gcc/8.2.0/bin/g++-8 CXX14=/usr/local/Cellar/gcc/8.2.0/bin/g++-8 cxx17=/usr/local/cellar/gcc/8.2.0/bin/g++-8 cxx1X=/usr/local/cellar/gcc/8.2.0/bin/g++-8 LDFLAGS=-L/usr/local/Cellar/gcc/8.2.0/lib

I took the information from this issue https://github.com/igraph/rigraph/issues/191

al-jshen commented 4 years ago

Just wanted to add my experience here. Arch Linux, Kernel 5.7.9, R 4.0.2. Also ran into problems installing this package. Changing the flags didn't work for me. What did was installing ZeroMQ from my OS package manager first. This package installed without a hitch after that. Didn't need the flags.

keryruo commented 4 years ago

if you use conda, then you can try installing it by 'conda install -c r r-pbdzmq' just as suggested by https://anaconda.org/r/r-pbdzmq

Cimbali commented 2 months ago

To second previous comments with a slight subtlety, make sure to install the zeromq development package (headers etc). It may have a -dev or -devel suffix on your platform.

Without it, I can report similar compiling failures on OpenSuse with kernel 6.9.9 and R 4.4.1.