Paul, Thanks. That pushed me in the correct direction. It's working now.
I'm in the habit of installing separate packages in their own versioned directory - e.g. /usr/local/apache-couchdb-1.0.1 - rather than the more typical /usr/local. With a consistent use of the '--prefix' option that works 95% of the time. In addition to the 'ldconfig' hint, it would appear the the couchdb build really wants everything in the same directory implied by whatever '--prefix' it's configured with. BTW, 'icu' has a non-standard configuration tool ./runConfigureICU Linux --prefix=/usr/local rather than the usual ./configure --prefix=/usr/local Once I fixed both things, everything fell into place. Thanks again. Tracy On Oct 10, 2010, at 8:51 PM, Paul Davis wrote: > Cool. > > Try adding "/usr/local/lib" to /etc/ld.so.conf on a line by itself and then > run: > > $ sudo ldconfig > > Then do this again: > > $ ldconfig -p | grep libicuuc > > Hopefully the linker will pick up the libraries in /usr/local/lib by > default now. > > Alternatively, you could do something like this: > > $ sudo su - couchdb > $ LD_LIBRARY_PATH=/usr/local/lib couchdb > > But that's much less awesome. > > HTH, > Paul Davis > > On Sun, Oct 10, 2010 at 8:33 PM, Tracy Flynn (couchdb) > <[email protected]> wrote: >> Thanks for the reply >> >> The manually installed version of ICU is 4.4.2 >> ==================================== >> >> See previous attachment - configured with --prefix=/usr/local >> >> ls -l /usr/local/lib | grep libicuuc >> >>> lrwxrwxrwx 1 root root 16 Oct 8 17:28 libicuuc.so -> libicuuc.so.44.2 >>> lrwxrwxrwx 1 root root 16 Oct 8 17:28 libicuuc.so.44 -> >>> libicuuc.so.44.2 >>> -rwxr-xr-x 1 root root 6577801 Oct 8 17:28 libicuuc.so.44.2 >> >> ls -l /usr/local/lib64 | grep libicuuc >> >> (nothing) >> >> The 'automatically' installed version of ICU is 3.6. >> ====================================== >> >> yum install couchdb >> >> yum list installed | grep couch >> >>> couchdb.x86_64 0.11.2-2.el5 >>> installed >> >> yum list installed | grep icu >> >>> libicu.i386 3.6-5.11.4 >>> installed >>> libicu.x86_64 3.6-5.11.4 >>> installed >>> libicu-devel.i386 3.6-5.11.4 >>> installed >>> libicu-devel.x86_64 3.6-5.11.4 >>> installed >> >> The answer to your question >> ======================= >> >> /sbin/ldconfig -p | grep libicuuc >> >>> libicuuc.so.36 (libc6,x86-64) => /usr/lib64/libicuuc.so.36 >>> libicuuc.so.36 (libc6) => /usr/lib/libicuuc.so.36 >>> libicuuc.so (libc6,x86-64) => /usr/lib64/libicuuc.so >>> libicuuc.so (libc6) => /usr/lib/libicuuc.so >> >> Current path >> ========== >> >> /usr/local/couchdb-1.0.1/bin:/usr/local/bin:/usr/local/jdk1.6.0_19/bin:/usr/local/apache-tomcat-6.0.26/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin: >> >> Some conclusions >> ============== >> >> - The manual build must have been missing some necessary configuration / >> build instructions - e.g. no 64-bit libraries produced >> - ldconfig only shows the 3.6 versions - clearly something didn't get >> configured correctly for 4.4. >> >> >> >> >> >> On Oct 10, 2010, at 8:09 PM, Paul Davis wrote: >> >>> Oh, totally read that too fast and though OS X was the failing install. >>> >>> When you ran ./configure in the manual install, did you need to >>> specify locations to locate ICU? >>> >>> Alternatively, what does this give you? >>> >>> $ ldconfig -p | grep libicuuc >>> >>> >>> On Sun, Oct 10, 2010 at 8:01 PM, Tracy Flynn (couchdb) >>> <[email protected]> wrote: >>>> Failing installation is on a Linux box - ports is a Mac OS X - only tool - >>>> and everything works on OS X. >>>> >>>> What am I missing? >>>> >>>> >>>> >>>> >>>> On Oct 10, 2010, at 6:18 PM, Paul Davis wrote: >>>> >>>>> On Sun, Oct 10, 2010 at 5:54 PM, couchdb <[email protected]> >>>>> wrote: >>>>>> Hello, >>>>>> I'm new to CouchDB. >>>>>> I've successfully installed and used CouchDB 1.0.1 on Mac OS X. >>>>>> MacOS X Installation summary >>>>>> --------------------------------------- >>>>>> sudo port install icu erlang spidermonkey curl >>>>>> Then conventional installation from source >>>>>> apache-couchdb-1.0.1.tar.gz >>>>>> Automated Linux installation >>>>>> --------------------------------------- >>>>>> su -c 'rpm -Uvh >>>>>> http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm' >>>>>> sudo yum install couchdb >>>>>> Installs a runnable couchdb >>>>>> couchdb.x86_64 0.11.2-2.el5 >>>>>> installed >>>>>> >>>>>> Manual Linux Installation summary - apache-couchdb-1.0.1.tar.gz >>>>>> ----------------------------------------------------------------------------------- >>>>>> (Details attached) >>>>>> Manually from sources - no errors during build / install >>>>>> When run via >>>>>> sudo -u couchdb couchdb >>>>>> Multiple errors - samples below - full log in attachment >>>>>>> {error_logger,{{2010,10,10},{17,35,37}},std_error,"File operation error: >>>>>>> eacces. Target: .. Function: read_file_info. Process: code_server."} >>>>>>> {error_logger,{{2010,10,10},{17,35,37}},std_error,"File operation error: >>>>>>> eacces. Target: ./beam_lib.beam. Function: get_file. Process: >>>>>>> code_server."} >>>>>> =CRASH REPORT==== 10-Oct-2010::17:35:37 === >>>>>>> crasher: >>>>>>> initial call: application_master:init/4 >>>>>>> pid: <0.29.0> >>>>>>> registered_name: [] >>>>>>> exception exit: {bad_return, >>>>>>> {{couch_app,start, >>>>>>> [normal, >>>>>>> >>>>>>> ["/usr/local/couchdb-1.0.1/etc/couchdb/default.ini", >>>>>>> >>>>>>> "/usr/local/couchdb-1.0.1/etc/couchdb/local.ini"]]}, >>>>>>> {'EXIT', >>>>>>> "libicuuc.so.44: cannot open shared object >>>>>>> file: No such file or directory"}}} >>>>>>> in function application_master:init/4 >>>>>> This second error suggests that the appropriate libraries are not >>>>>> accessible >>>>>> - however, they show up with correct ownership and permissions. >>>>>> Any insights would be appreciated. >>>>>> >>>>>> Regards, >>>>>> Tracy Flynn >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> Looks like your not linked against ICU properly. Seeing as you're >>>>> using ports, is your DYLD_LIBRARY_PATH set correctly? >>>> >>>> >> >>
