jeffreyhorner / rapache Goto Github PK
View Code? Open in Web Editor NEWR embedded inside Apache
Home Page: http://www.rapache.net/
License: Apache License 2.0
R embedded inside Apache
Home Page: http://www.rapache.net/
License: Apache License 2.0
To reproduce, get rApache to run a script with the following:
mailR::send.mail(
from = '',
to = "",
replyTo = "",
subject = "Subject of the email",
body = "Body of the email",
smtp = list(host.name = '',
port = 25,
user.name = '',
passwd = '',
ssl = TRUE),
authenticate = TRUE,
send = TRUE)
To get Amazon SES credentials (what I used) go here.
You'll have to verify an email address for to
, replyTo
, and from
(can all be the same) here.
mailR
uses rJava so you may have to edit /etc/apache2/envvars
as described in #47.
I personally got around the issue by using the aws.ses package instead, but thought it might be useful to post the issue in case it has broader implications.
The length
argument from receiveBin
causes trouble for any value other than -1
. To test, a simple script like:
print(rawToChar(receiveBin(-1)))
Then use curl
:
jeroen@Ubuntu:/var/www/R$ curl http://localhost/R/testbin -d 'blabla' -H "Content-Type: text"
[1] "blabla"
All is good. Now we change the script:
print(rawToChar(receiveBin(1024)))
Then in curl
:
jeroen@Ubuntu:/var/www/R$ curl http://localhost/R/testbin -d 'blabla' -H "Content-Type: text"
[1] "(\xab\001\r;\177"
try again
jeroen@Ubuntu:/var/www/R$ curl http://localhost/R/testbin -d 'blabla' -H "Content-Type: text"
[1] "\001
Try again
jeroen@Ubuntu:/var/www/R$ curl http://localhost/R/testbin -d 'blabla' -H "Content-Type: text"
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal
After updating to rApache 1.2.5, almost all of the redundant messages are gone from the apache error.log
. However, there is still one problem remaining: a bunch of errors with an empty error message:
[Mon Dec 23 18:23:25 2013] [error] [client 131.179.144.170] rApache Notice!, referer: https://public.opencpu.org/ocpu/library/stocks/www/
[Mon Dec 23 18:23:28 2013] [error] [client 131.179.144.170] rApache Notice!, referer: https://public.opencpu.org/ocpu/library/rollcorr/www/
[Mon Dec 23 18:23:30 2013] [error] [client 131.179.144.170] rApache Notice!, referer: https://public.opencpu.org/ocpu/library/markdownapp/www/
[Mon Dec 23 18:23:45 2013] [error] [client 131.179.144.170] rApache Notice!, referer: https://public.opencpu.org/ocpu/library/mapapp/www/
Bunch more of such. Any idea where they are coming from and how to get rid of them? They seem to appear only for POST, with content-type application/json
, so it's probably related to apreq/receiveBin.
Is it correct that rapache only allows specification of one cookie using setCookie? I tried adding a couple of them in a single script:
setCookie("foo", "bar");
setCookie("baz", "zoo");
but I only get to see the last one.
According to http://tools.ietf.org/html/rfc6265: "An origin server can include multiple Set-Cookie header fields in a single response."
I understand that R is single-threaded and it does not support concurrent requests. This is the same issue when we use rplumber:
R is a single-threaded programming language, meaning that it can only do one task at a time. This is still true when serving APIs using Plumber, so if you have a single endpoint that takes two seconds to generate a response, then every time that endpoint is requested, your R process will be unable to respond to any additional incoming requests for those two seconds.
What about rapache? Does it support concurrent requests? Can I use rapache as a server for rplumber?
Hi
I am using v 1.2.5. I am doing a simple POST to the RApache and trying to run a R script. sometime it does return the result correctly, sometime it doesn't rather return following:
"replacement has 1 row, data has 0"
To verify, I have ran the exact same R script directly under R command line, there was not any issue.
Here is my system info:
sysname Linux
release 3.11.0-23-generic
version #40~precise1-Ubuntu SMP Wed Jun 4 22:06:36 UTC 2014
nodename vb12
machine x86_64
login unknown
user www-data
effective_user www-data
Here is my R info:
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 1.0
year 2014
month 04
day 10
svn rev 65387
language R
version.string R version 3.1.0 (2014-04-10)
nickname Spring Dance
Please help me in this regards. Thanks.
When using receiveBin()
(with no arguments) on a payload larger than 1GB:
Error in receiveBin() :
'Realloc' could not re-allocate memory (18446744071562067968 bytes)
Looks like an integer overflow happens at mod_R.c#L2438. I think we should switch to R_xlen_t n = xlength(x)
to support long vectors?
If I call to a non existent R script I get a 500 error instead of a 404 error. The rscript handler shouldn't process non-existant scripts.
My conf:
# rapache configuration by Justin Dearing <[email protected]>
LoadModule R_module modules/mod_R.so
<Location /RApacheInfo>
SetHandler r-info
</Location>
AddHandler r-script .R
RHandler sys.source
Related to #21. So I was getting a lot of warnings:
Can't read with R since libapreq already started![Sat Dec 21 13:21:15 2013] [error] [client 131.179.144.170] rApache Notice!
I think the problem here was that the application tried to call receiveBin()
even though the POST body had already been parsed by libapreq. Instead of suppressing these warnings, it would be better to give the application a way to avoid calling receiveBin()
when not needed.
Is there any way the application can detect whether or not the POST payload has already been parsed by libapreq? So then I can make sure to only call receiveBin()
if this is not the case.
Jeff,
Do you have any tip on how to build rApache to work with apache 2.4? I just upgraded to 2.4 to have support for webSockets, but when I try to start httpd24 I get the following.
$ sudo service httpd24-httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: Syntax error on line 57 of /opt/rh/httpd24/root/etc/httpd/conf/httpd.conf: Syntax error on line 2 of /opt/rh/httpd24/root/etc/httpd/conf.modules.d/99-rapache.conf: Cannot load /etc/httpd/modules/mod_R.so into server: /etc/httpd/modules/mod_R.so: undefined symbol: ap_log_rerror
[FAILED]
The server starts all right if I remove 99-rapache.conf
and 00-rapache.conf
.
Thanks a lot! --Mel.
I have followed the instructions, built and installed R with shared library support, built and installed Apache with prefork and mod_so support, built and installed RApache as per the instructions. Included LoadModule line for R_module (at the start of config file). I am trying to test the RApacheInfo (I included this in apache config) but it says the requested URL was not found. Could you help me on how to debug where is the problem?
It looks like the requests are not reaching the R_module. How can I debug this?
Hi Jeffrey,
I am trying to install RApache in Ubuntu 16.04 Apache/2.4.18 (Ubuntu) but I get some errors:
1- First when i install some packages:
sudo apt-get install apache2-prefork-dev apache2-mpm-prefork libapreq2-dev r-base-dev
I get an error message:
Package apache2-mpm-prefork is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Unable to locate package apache2-prefork-dev E: Package 'apache2-mpm-prefork' has no installation candidate
When I try
debuild -us -uc
I get the message:
This package has a Debian revision number but there does not seem to be an appropriate original tar file or .orig directory in the parent directory; (expected one of libapache2-mod-r-base_1.2.8.orig.tar.gz, libapache2-mod-r-base_1.2.8.orig.tar.bz2, libapache2-mod-r-base_1.2.8.orig.tar.lzma, libapache2-mod-r-base_1.2.8.orig.tar.xz or rapache.orig) continue anyway? (y/n)
I decide for yes but it does not work, I get:
dpkg-buildpackage -rfakeroot -D -us -uc dpkg-buildpackage: warning: using a gain-root-command while being root dpkg-buildpackage: source package libapache2-mod-r-base dpkg-buildpackage: source version 1.2.8-xenial0 dpkg-buildpackage: source distribution xenial0 dpkg-buildpackage: source changed by Jeroen Ooms dpkg-source --before-build rapache dpkg-buildpackage: host architecture amd64 dpkg-checkbuilddeps: error: Unmet build dependencies: apache2-dev dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.) debuild: fatal error at line 1376: dpkg-buildpackage -rfakeroot -D -us -uc failed
Is there anybody who can help me please?
I really appreciate any help you can provide.
Roberto
How do you install third party R packages needed by the scripts I want to run from rApache?
Recapture of email conversation.
Currently rapache has no way to determine if the scheme/protocol of a request. This is problematic for redirects with an absolute URL, because it is unclear whether to redirect to a http://
or https://
address. The SERVER$protocol
variable always contains HTTP/1.1
, both for http and https. Note that apache2 can run both http and https simultaneously, so that this value is request specific.
Also when using Rook on rApache, we need to determine rook.url_scheme
. The rook spec says:
SERVER_NAME, SERVER_PORT: When combined with SCRIPT_NAME and PATH_INFO, these variables can be used to complete the URL. Note, however, that HTTP_HOST, if present, should be used in preference to SERVER_NAME for reconstructing the request URL. SERVER_NAME and SERVER_PORT can never be empty strings, and so are always required.
However it does not mention SERVER_PROTOCOL, which is required to reconstruct the request URL. The spec does mention rook.url_scheme
, so it assumes any rook implementation runs either http or https, but not both?
If you make a GET request with a query string like this: ?foo=&bar=123
, Rook's req$GET() returns a list with NULL values in it when running under RApache: list(foo = NULL, bar = "123")
. When running in R interactively with Rhttpd, req$GET() returns a list with empty strings: list(foo = "", bar = "123)
. The behavior is inconsistent.
According to /etc/mime.types the .rhtml extention is reserved for eruby applications. As a result, a standard configuration of a recent Apache will automatically default all these pages to:
Content-Type: application/x-httpd-eruby
which will prevent a browser from displaying them properly.
Hi! Thanks for providing an rApache RPM! I appreciate your nice note to the community.
I noticed that rapache 1.2.8 has been released but the RPM spec file is still at 1.2.7: https://github.com/jeffreyhorner/rapache/blob/v1.2.8/rpm/rapache.spec#L2
I was just building a new rApache RPM for CentOS 7 over at IQSS/dataverse#3208 and would have used rapache 1.2.8 if the spec file had been updated. Instead I built version 1.2.7.
Can the RPM spec file version please be increased to 1.2.8? I figure we should probably use the latest and greatest. Thanks!
Does R remain memory resident or is it loaded for each request?
If the former, is it possible to load a dataset once in memory and then perform some work on it for each request?
It could be that I suck at reading configure.in, but it seems like there is no autodetection of apxs or apxs2. Am I incorrect?
When navigation to the "SetHandler r-info" handler, apache throws the following in the error logs:
[Thu Oct 21 21:08:15.133206 2021] [:error] [pid 11] [client 172.17.0.1:59310] rApache Notice!
Error in textConnection("stt", "w") :
cannot change value of locked binding for 'stt'
In addition: Warning messages:
1: In is.na(st) :
is.na() applied to non-(list or vector) of type 'closure'
2: In is.na(st) :
is.na() applied to non-(list or vector) of type 'closure'
Seems to be coming from mod_R.c
It worked in a previous version of R(3.1.#)
The OpenCPU error.log is filled with thousands of these:
No apreq2 parser for 'application/json'
No apreq2 parser for 'application/json'
[Sat Dec 21 13:17:43 2013] [error] [client 131.179.144.170] rApache Notice!, referer: http://slidify.github.io/playground/
No apreq2 parser for 'application/json'
[Sat Dec 21 13:20:25 2013] [error] [client 131.179.144.170] rApache Notice!
Can't read with R since libapreq already started![Sat Dec 21 13:20:25 2013] [error] [client 131.179.144.170] rApache Notice!
Can't read with R since libapreq already started![Sat Dec 21 13:20:39 2013] [error] [client 131.179.144.170] rApache Notice!, referer: http://slidify.github.io/playground/
No apreq2 parser for 'application/json'
[Sat Dec 21 13:21:14 2013] [error] [client 131.179.144.170] rApache Notice!
Can't read with R since libapreq already started![Sat Dec 21 13:21:15 2013] [error] [client 131.179.144.170] rApache Notice!
Can't read with R since libapreq already started![Sat Dec 21 13:25:08 2013] [error] [client 131.179.144.170] rApache Notice!, referer: http://rcharts.io/playground/
So there are two warnings here. One is
No apreq2 parser for 'application/json'
This is expected; the application is manually parsing input using receiveBin(). Can we make an option to suppress these warnings?
The other one i'm less certain about:
Can't read with R since libapreq already started![Sat Dec 21 13:20:39 2013] [error]
It seems to be related to the other warning. Can we ignore this one as well?
+:~$ sudo apt-get install libapache2-mod-r-base
+:~$ sudo apt-get install devscripts git
+:~$ sudo apt-get install apache2-prefork-dev apache2-mpm-prefork libapreq2-dev r-base-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
-E: Unable to locate package apache2-prefork-dev
-E: Unable to locate package apache2-mpm-prefork
+:~$ sudo add-apt-repository ppa:opencpu/rapache
More info: https://launchpad.net/~opencpu/+archive/ubuntu/rapache
!Press [ENTER] to continue or Ctrl-c to cancel adding it.
Get:1 file:/var/cuda-repo-ubuntu2004-11-3-local InRelease
Ign:1 file:/var/cuda-repo-ubuntu2004-11-3-local InRelease
...
...
...
-Err:36 http://ppa.launchpad.net/opencpu/rapache/ubuntu focal Release
- 404 Not Found [IP: 2001:67c:1560:8008::19 80]
Reading package lists... Done
-E: The repository 'http://ppa.launchpad.net/opencpu/rapache/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reference :
Links in the README files are broken. They lead to the following error:
Not Found
The requested URL was not found on this server.
I tried the following links:
http://biostat.mc.vanderbilt.edu/rapache/
http://biostat.mc.vanderbilt.edu/rapache/manual.html
I was wondering if anyone knows a way to do a HTTP redirect in rApache. In order to do a http redirect, the response needs to have HTTP status 302, with a header "Location" that defines the url. However, because of how rApache works, once you set the header you can no longer modify the status code. E.g:
setHeader("Location", "http://www.google.com");
return(HTTP_MOVED_TEMPORARILY)
won't work because it returns a HTTP 200 OK. Any smart suggestions for a workaround? I am currently using a HTML redirect, but that is suboptimal and won't work on non-browser clients.
Hi there -
We're working on integrating rApache in such a way that we can configure and launch instances of it with user provided code. The rub is, we ideally want the ability to kill the Apache process from some R code if some sanity checks fail. Is this possible or even possible to be implemented?
Hi,
Is it possible to install rapache using microsoft r open instead of R-devel? Currently I get errors about R-devel requirements.
Thanks
rApache Notice!
Error: '.' is an unrecognized escape in character string starting "[."
Internal Server Error occurred when I start apache. The error info above is in the error logs of apache.
we are getting the strange issue when we use RGoogleAnalytics in the RApache code.
ISSUE : unable to get the request ( post/get) parameters into the Apache server occasionally, except RGoogleAnalytics package the code is working fine for all the packages.
*ERROR *
function (url = NULL, config = list(), ..., body = NULL, encode = c("multipart",
"form", "json"), multipart = TRUE, handle = NULL)
we have installed RApache in centos 6
please suggest us how to proceed.
thanks®ards,
mallik.
In the README, I think:
--with-apache2-apxs=/path/to/apxs
should be
--with-apxs=/path/to/apxs
On Debian Jessie:
mod_R.c: In function 'RApache_getServer':
mod_R.c:2125:4: warning: implicit declaration of function 'ap_get_server_port' [-Wimplicit-function-declaration]
INTMBR("port",ap_get_server_port(MR_Request.r));
On Fedora 21:
od_R.c: In function 'ReadRequestBody':
mod_R.c:792:41: warning: pointer targets in passing argument 2 of 'apr_brigade_flatten' differ in signedness [-Wpointer-sign]
rv = apr_brigade_flatten(MR_BBin, buf+bpos, &len);
^
In file included from /usr/include/httpd/httpd.h:55:0,
from mod_R.c:39:
/usr/include/apr-1/apr_buckets.h:749:27: note: expected 'char *' but argument is of type 'unsigned char *'
APU_DECLARE(apr_status_t) apr_brigade_flatten(apr_bucket_brigade *bb,
^
mod_R.c:764:16: warning: unused variable 'data' [-Wunused-variable]
const char *data;
^
mod_R.c: In function 'OnStartupCallback':
mod_R.c:1479:9: warning: variable 'val' set but not used [-Wunused-but-set-variable]
SEXP val;
^
mod_R.c: In function 'RApache_setCookie':
mod_R.c:1802:40: warning: unused variable 'cookies' [-Wunused-variable]
const char *name, *value, *cookie, *cookies;
^
mod_R.c: In function 'RApache_getServer':
mod_R.c:2125:4: warning: implicit declaration of function 'ap_get_server_port' [-Wimplicit-function-declaration]
INTMBR("port",ap_get_server_port(MR_Request.r));
^
mod_R.c: In function 'dirname':
mod_R.c:1106:20: warning: 'j' may be used uninitialized in this function [-Wmaybe-uninitialized]
return (j > 0)? apr_pstrndup(p,path,j) : NULL;
^
In file included from /usr/include/R/R.h:50:0,
from mod_R.c:71:
mod_R.c: In function 'RApache_receiveBin':
/usr/include/R/R_ext/RS.h:64:25: warning: 'buf' may be used uninitialized in this function [-Wmaybe-uninitialized]
#define Free(p) (R_chk_free( (void *)(p) ), (p) = NULL)
^
mod_R.c:2406:19: note: 'buf' was declared here
unsigned char *buf;
^
mod_R.c: In function 'RApache_setCookie':
mod_R.c:1830:60: warning: 'tmpExpires' may be used uninitialized in this function [-Wmaybe-uninitialized]
apr_time_ansi_put(&texpires,(time_t)(REAL(tmpExpires)[0]));
Running Ubuntu 16.04 with r-cran-java
. Loading rJava
in the console works fine, but when loading it inside rApache
on the same machine gives:
.onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/lib/R/site-library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
I think /usr/bin/R
sources /usr/lib/R/etc/ldpaths
which sets LD_LIBRARY_PATH
to the path where libjvm.so
lives (i.e. ${JAVA_HOME}/jre/lib/amd64/server
) before starting the repl.
What would be the most natural way to do this accomplish the same thing in rapache? The problem is that ldpaths
is a shell script which sets an environment variable, so calling this via system()
does not work because that sets the LD_LIBRARY_PATH
only in the system()
subprocess.
error: fda8e12cca707aeb4b33ef2b86c0b226d89895f4
On an azure VM runing the latest ubuntu. Version details:
rapache@RBuntu:~/src/rapache$ apache2 -v
Server version: Apache/2.4.6 (Ubuntu)
Server built: Dec 5 2013 18:32:22
rapache@RBuntu:~/src/rapache$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.10
DISTRIB_CODENAME=saucy
DISTRIB_DESCRIPTION="Ubuntu 13.10"
rapache@RBuntu:~/src/rapache$ apache2 -v
Server version: Apache/2.4.6 (Ubuntu)
Server built: Dec 5 2013 18:32:22
rapache@RBuntu:~/src/rapache$
This problem occurs in the current master, as well as fda8e12, before I made the improvements to itest. I'll investigate, if no one has a quick fix. I assume that they switched default mpm module.
Using
<Location /RApacheInfo>
SetHandler r-info
</Location>
on recent versions of Fedora and CentOS gives:
Error in if (is.na(st)) return("NA") : argument is of length zero
In addition: Warning message:
In is.na(st) : is.na() applied to non-(list or vector) of type 'closure'
When doing a HTTP POST without setting any arguments, the apache error.log
shows the following warnings:
No apreq2 parser for '(null)'
I built rapache on Centos against httpd-2.2.15 and R 3.0.2. I went to run make itest ant I got the following
LD_LIBRARY_PATH=
/usr/bin/R RHOME
/lib:/home/jdearing/src/rapache/libapreq2/library/.libs R_HOME=/usr/bin/R RHOME
/usr/sbin/httpd -X -f /home/jdearing/src/rapache/test/httpd.conf
Syntax error on line 160 of /home/jdearing/src/rapache/test/httpd.conf:
Invalid command 'LogFormat', perhaps misspelled or defined by a module not included in the server configuration
make: *** [itest] Error 1
The fix was to add the following line: LoadModule log_config_module /usr/lib64/httpd/modules/mod_log_config.so
I don't know if Apache can determine if a module exists, but m4 probably can. I'll work on submitting a patch that work work in a general case.
in case of an exception in RSourceOnStartup, the request simply hangs. it does not log it to the errorlog or throw a 500 and move on.
This change removed the autodetection for HTTPD:
When the request content-type is other than multipart/form-data
or application/x-www-form-urlencoded
, the request body cannot be parsed automatically. In this case, apache2 writes a message to the error.log saying:
No apreq2 parser for 'application/json'
We then need to use receiveBin
function to read the request-body within R, but it is not working correctly. First of all, the SERVER variables that specify the size of the request body are never set, they are always 0:
$clength
[1] 0
$remaining
[1] 0
$read_length
[1] 0
Also if we just use a large value, say, receiveBin(1e8)
, it never seems to read more than 8000 bytes. To reproduce, simply create an R script like:
print(SERVER)
body <- receiveBin(1e6);
cat("Body Length:\n")
print(length(body));
And access it with curl. So the basic idea works:
curl http://localhost/R/test -d "foobar" --header "Content-Type:application/json"
To test with a large request body, simply upload some random file
curl http://localhost/R/test -d @somefile.pdf --header "Content-Type:application/json"
See also this topic
As from http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RApacheProject/presentation.pdf,
This config file should work,
<Location />
SetHandler r-handler
Rsource /home/vds/www/api.grendel.no/R/api.R
RreqHandler handler
</Location>
but apachectl says
Invalid command 'Rsource', perhaps misspelled or defined by a module not included in the server configuration
Same for RreqHandler
Using RFileHandler
instead works.
I would like to use the SetEnv
directive from mod_env (included in apache2 base) to pass environment variables to rApache. In particular, I would like to set R_ENVIRON_USER
and R_PROFILE_USER
before initiating R as described in the Startup manual.
<Directory /var/www/R-files>
SetEnv R_PROFILE_USER /etc/rapache/Rprofile
SetEnv R_ENVIRON_USER /etc/rapache/Renviron
SetHandler r-script
RHandler sys.source
</Directory>
However no matter where in the apache config the SetEnv
is defined, the environment variable is not accessible from R. From my debugging it looks as if rApache initiates the R process before SetEnv
can do its job.
Using Rapache (1.2.5) I am trying to read an excel file with a ฮ character in it. I then write the content back out to csv but end up with "<U+0394>". I found that if I ran the line below before my code, then the csv would get the correct ฮ character.
Sys.setlocale("LC_ALL", "en_US.utf8")
I came across this old post that I don't think answers the question:
http://stackoverflow.com/questions/20577764/set-locale-to-system-default-utf-8
I am wondering what the best way is to set UTF-8 instead of "C" on an rapache server (given I may use Ubuntu, Centos and other linux flavors).
Thanks,
Brian
I got a new M1 Mac and tried to compile an rapache docker image using buildx build --platform linux/arm64/v8 and hit the following error when building:
#7 3.603 rapache-master/tools/install-sh
#7 3.604 rapache-master/tools/ltmain.sh
#7 3.605 rapache-master/tools/missing
#7 3.677 checking for a BSD-compatible install... /usr/bin/install -c
#7 3.684 checking whether build environment is sane... yes
#7 4.713 checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
#7 4.716 checking for gawk... gawk
#7 4.717 checking whether make sets $(MAKE)... yes
#7 4.738 checking whether to enable maintainer-specific portions of Makefiles... no
#7 4.749 checking build system type... tools/config.guess: unable to guess system type
#7 4.814
#7 4.814 This script, last modified 2009-06-10, has failed to recognize
#7 4.814 the operating system you are using. It is advised that you
#7 4.814 download the most up to date version of the config scripts from
#7 4.814
#7 4.814 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#7 4.814 and
#7 4.814 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
#7 4.814
#7 4.814 If the version you run (tools/config.guess) is already up to date, please
#7 4.814 send the following data and any information you think might be
#7 4.814 pertinent to <[email protected]> in order to provide the needed
#7 4.814 information to handle your system.
#7 4.814
#7 4.814 config.guess timestamp = 2009-06-10
#7 4.814
#7 4.814 uname -m = aarch64
#7 4.814 uname -r = 5.10.76-linuxkit
#7 4.814 uname -s = Linux
#7 4.814 uname -v = #1 SMP PREEMPT Mon Nov 8 11:22:26 UTC 2021
#7 4.814
#7 4.814 /usr/bin/uname -p = aarch64
#7 4.814 /bin/uname -X =
#7 4.814
#7 4.814 hostinfo =
#7 4.814 /bin/universe =
#7 4.814 /usr/bin/arch -k =
#7 4.814 /bin/arch = aarch64
#7 4.814 /usr/bin/oslevel =
#7 4.814 /usr/convex/getsysinfo =
#7 4.814
#7 4.814 UNAME_MACHINE = aarch64
#7 4.814 UNAME_RELEASE = 5.10.76-linuxkit
#7 4.814 UNAME_SYSTEM = Linux
#7 4.814 UNAME_VERSION = #1 SMP PREEMPT Mon Nov 8 11:22:26 UTC 2021
#7 4.817 configure: error: cannot guess build type; you must specify one
I believe its caused by outdated versions of these files:
config.guess
config.sub
Here is the docker file:
FROM quay.io/centos/centos:stream8
RUN \
dnf update -y && \
dnf upgrade -y && \
dnf install -y epel-release && \
dnf config-manager --set-enabled powertools && \
dnf builddep -y R-devel
ENV R_VERSION 4.1.2
RUN \
dnf install -y make cmake httpd-devel libapreq2-devel redhat-rpm-config wget tar && \
curl -O https://cran.rstudio.com/src/base/R-4/R-${R_VERSION}.tar.gz && \
tar -xzvf R-${R_VERSION}.tar.gz && \
cd R-${R_VERSION} && \
./configure \
--prefix=/opt/R/${R_VERSION} \
--enable-memory-profiling \
--enable-R-shlib \
--with-blas \
--with-lapack && \
make && \
make install
RUN ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
RUN ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript
RUN \
dnf install -y MTA mod_ssl /usr/sbin/semanage && \
cd ~ && \
wget https://github.com/jeffreyhorner/rapache/archive/master.tar.gz -O rapache-master.tar.gz && \
tar xzvf rapache-master.tar.gz && \
cd rapache-master && \
./configure \
--with-R=/usr/local/bin/R\
--with-apreq2-config=/usr/bin/apreq2-config && \
make && \
make install
In the debian/control file, please add apache2-mpm-itk as an alternative to apache2-mpm-prefork in the Depends
and Build-depends
fields. I tested it, and it works perfectly. Not having the field there creates conflicts on systems that have apache2-mpm-itk in use.
Just checked out the website of this project and it routes to a Thai football page. Heads up.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.