I have a conda env with R4.0.2. When I tried to install R package zip I had problems with C compilation.
At first installation was failing as it could not find R.h. I had set C paths for R.h as described in https://stackoverflow.com/a/33573979, e.g. export CPATH=/home/kh/miniconda3/envs/rpy2_3/lib/R/include/
where the path leads to dir with R.h. However, I then got the below error. It seems that make install is not working properly. Any suggestions?
-o zip init.o miniz.o rzip.o zip.o unixutils.o
/bin/sh: line 2: -o: command not found
make: *** [/home/kh/miniconda3/envs/rpy2_3/lib/R/share/make/shlib.mk:6: zip] Error 127
ERROR: compilation failed for package 'zip'
* removing '/home/kh/miniconda3/envs/rpy2_3/lib/R/library/zip'
EDIT:
conda install r-zip (from within evn)
does not work properly - I have R4.0.2 and conda installs zip from earlier version:
Error: package or namespace load failed for 'zip':
package 'zip' was installed before R 4.0.0: please re-install it
regarding my shlib.mk, this are the contents. I will try to set the variables OBJECTS and SHLIB_LINK
cat /home/kh/miniconda3/envs/rpy2_3/lib/R/share/make/shlib.mk
## ${R_HOME}/share/make/shlib.mk
all: $(SHLIB)
$(SHLIB): $(OBJECTS)
@if test "z$(OBJECTS)" != "z"; then
echo $(SHLIB_LINK) -o $@ $(OBJECTS) $(ALL_LIBS);
$(SHLIB_LINK) -o $@ $(OBJECTS) $(ALL_LIBS);
fi
.PHONY: all shlib-clean
shlib-clean:
@rm -Rf .libs _libs
@rm -f $(OBJECTS) symbols.rds
## FIXME: why not Rscript?
symbols.rds: $(OBJECTS)
@$(ECHO) "tools:::.shlib_objects_symbol_tables()" |
$(R_HOME)/bin/R --vanilla --no-echo --args $(OBJECTS)
EDIT
What at the end worked was copying Makeconf file from freshly made env (as suggested before) and editing the paths to point to the correct env. I also reset the variables from above, but I am not sure if this was in fact needed.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…