Comments (9)
I guess it's not SELinux actually, derp:
$ sudo /usr/sbin/sestatus
SELinux status: disabled
from build-couchdb.
I think I got around it by making autoconf-2.59 w/o rake:
$ cd dependencies/autoconf-2.59
$ sudo ./configure --prefix=/usr/local/build-couchdb/build --program-suffix=2.59
$ sudo make && sudo make install
... but now I'm seeing a similar error later in the process
STDERR make[2]: execvp: /tmp/tracemonkey_build20111207-5353-1a9cdxi/config/nsinstall: Permission denied
Trying to figure out how to get around this. current rake.log: http://richardhoward.net/rake.log
from build-couchdb.
Did the same thing for autoconf-2.13, since it's required to build spidermonkey:
$ cd dependencies/autoconf-2.13
$ sudo ./configure --prefix=/usr/local/build-couchdb/build --program-suffix=2.13
$ sudo make && sudo make install
Then built spidermonkey manually (according to https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation but using our local autoconf2.13):
$ cd dependencies/js_src
$ sudo ../../build/bin/autoconf2.13
$ sudo ./configure --prefix=/usr/local/build-couchdb/build --without-x
$ sudo make && sudo make install
Then rake failed on ICU4C so attempting to build that manually now...
$ cd dependencies/icu4c-4_4
$ sudo ./configure --prefix=/usr/local/build-couchdb/build
$ sudo make && sudo make install
from build-couchdb.
OK, built curl manually:
$ cd dependencies/curl
$ sudo ../../build/bin/autoconf2.59
$ sudo ./buildconf
$ env LDFLAGS='-Xlinker -rpath=/usr/local/build-couchdb/build/lib -L/usr/local/build-couchdb/build/lib' CPPFLAGS='-I/usr/local/build-couchdb/build/include -I/usr/local/build-couchdb/build/include/js' sudo /usr/local/build-couchdb/dependencies/curl/configure --prefix='/usr/local/build-couchdb/build' --with-js-include='/usr/local/build-couchdb/build/include/js' --with-js-lib='/usr/local/build-couchdb/build/lib' --with-erlang=/usr/local/build-couchdb/build/lib/erlang/usr/include
Looks like I must now build couchdb manually:
$ sudo mkdir -p /usr/local/build-couchdb/build/var/run/couchdb
$ cd dependencies/couchdb
$ sudo ./bootstrap
$ env LDFLAGS='-Xlinker -rpath=/usr/local/build-couchdb/build/lib -L/usr/local/build-couchdb/build/lib' CPPFLAGS='-I/usr/local/build-couchdb/build/include -I/usr/local/build-couchdb/build/include/js' sudo /usr/local/build-couchdb/dependencies/couchdb/configure --prefix='/usr/local/build-couchdb/build' --with-js-include='/usr/local/build-couchdb/build/include/js' --with-js-lib='/usr/local/build-couchdb/build/lib' --with-erlang=/usr/local/build-couchdb/build/lib/erlang/usr/include
Okay, that failed with a message about a missing icu-config, I'll have to see if I built ICU4C correctly...
from build-couchdb.
Down to chewing gum and baling wire.
Rebuild icu4c using its runConfigureICU script. Still not sure I'm building that correctly.
Ended up hard-coding the paths to icu-config, curl-config, erl, erlc in the couchdb configure script.
Also added a newline to the end of a utf8.h file that hung the first make pass (?).
after make && make install, the icu4c lib still doesn't appear to be linked properly; running couchdb results in this error:
=CRASH REPORT==== 8-Dec-2011::10:02:08 ===
crasher:
initial call: application_master:init/4
pid: <0.30.0>
registered_name: []
exception exit: {bad_return,
{{couch_app,start,
[normal,
["/usr/local/build-couchdb/build/etc/couchdb/default.ini",
"/usr/local/build-couchdb/build/etc/couchdb/local.ini"]]},
{'EXIT',
"libicuuc.so.44: cannot open shared object file: No such file or directory"}}}
in function application_master:init/4
ancestors: [<0.29.0>]
messages: [{'EXIT',<0.31.0>,normal}]
links: [<0.29.0>,<0.7.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 1597
stack_size: 24
reductions: 141
neighbours:
=INFO REPORT==== 8-Dec-2011::10:02:08 ===
application: couch
exited: {bad_return,{{couch_app,start,
[normal,
["/usr/local/build-couchdb/build/etc/couchdb/default.ini",
"/usr/local/build-couchdb/build/etc/couchdb/local.ini"]]},
{'EXIT',"libicuuc.so.44: cannot open shared object file: No such file or directory"}}}
type: temporary
I guess that's about it for this approach, which was probably foolish anyhow. (I may try to rebuild icu4c again if I can figure out what I'm doing wrong there.)
Checked my versions of ruby and rake against a machine where build-couchdb worked. Both are at 1.8.5 and 0.8.7, respectively, so that's not the root problem; hmm...
from build-couchdb.
Thanks for all the valuable feedback. I need to install a new VM, and I'm unsure if I have a RHEL release. It may have to be CentOS.
Based on your difficulties doing it manually, I am starting to think that it would be better to correct that first bug which derailed the build. It is likely that subsequent steps will work correctly and you'll get a nice build.
"Permission denied" can mean that the execution bits aren't set correctly, or also a noexec
flag in the mount options, and I vaguely remember it can even come up if there are linker or some kind of error with the script language (sh, bash, etc.)--but I don't remember how that works anymore.
I have never tested building as root so you may want to try a fresh checkout and build as a standard user. (Unfortunately it still tries to run sudo
which was a design mistake that I have not corrected yet.)
from build-couchdb.
Actually just doing a regular build from source was pretty painless, given that I'm accessing epel. Yum handled libicu-devel and js-devel, and latest curl (in this case to /usr/local) and erlang from source were straightforward. Only problem is that --enable-js-trunk was required to configure couchdb; I'm unsure of the precise ramifications of this; is it just that all our view functions will need to be named?
I'll try running build-couchdb as a standard user just in case that works...
from build-couchdb.
Trying build-couchdb as standard user did not result in any differences--got the same original "permission denied" error.
I'm inclined to close this issue since RHEL 5.4 is technically unsupported and just doing a regular build from source was straightforward.
I'll try to get clear on the exact consequences of --enable-js-trunk first, though.
from build-couchdb.
Thanks for the update. Yes, Couch isn't that bad, and most of build-couchdb is just running the make, configure, etc. commands you would usually do.
When you say RHEL 5.4 is technically unsupported, do you mean by Red Hat, or by build-couchdb? Ideally, I want build-couchdb to support all major Linux releases which are still supported by their vendors. But we're not there yet of course.
from build-couchdb.
Related Issues (20)
- Depending packages missing on Debian Squeeze HOT 2
- Ubuntu 10.04 failure due to python 2.7 requirement
- [Mac OS X 10.7.5] Autoconf build fails. Blocks 1.3.0 binaries. HOT 2
- Error building jsstr in spidermonkey
- build fails on Ubuntu 12.04: "automake" and "autoconf" needed HOT 1
- build couchdb-1.3.0 fails with python-2.6, passes with python-2.7 ... HOT 6
- rake fails on Debian Wheezy
- Missing dependencies (e.g. flex) on Ubuntu 13.04 HOT 3
- Rake fails on OS X HOT 1
- build fails on Fedora 19
- git submodule update command fails on Ubuntu 12.04
- automake problem? HOT 10
- Build won't start — {app_would_not_start,asn1} HOT 8
- Missing package: libxslt1-dev (i have it) HOT 1
- Build fails on OS X Mavericks 10.9 due to lack of ODBC HOT 4
- autom4te: not found HOT 1
- How to copy documents (including attachments) from couchdb backup to couchdb?
- rake fails on openSUSE 12.3 HOT 1
- help2man required HOT 3
- Missing amhello-1.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from build-couchdb.