On Fri, Mar 27, 2020 at 11:28:26AM -0400, Nathan Hartman wrote:
> I wanted to run a full build and test all ra and backends overnight
> using my slightly modified variant of tools/dev/unix-build (mostly
> just different/newer versions of dependencies).
> 
> It built everything and ran through local|svn x fsfs|bdb, but when it
> prepared to test serf x fsfs, it quit with:
> 
> [[[
> 
> /home/nate/svndev/prefix/httpd/bin/htpasswd -bc
> /home/nate/svndev/prefix/httpd/conf/httpd-svn-check-users.tmp jrandom
> rayjandom
> /home/nate/svndev/prefix/httpd/bin/htpasswd: error while loading
> shared libraries: libdb-18.1.so: cannot open shared object file: No
> such file or directory
> make: *** [Makefile:1775:
> /home/nate/svndev/prefix/httpd/conf/httpd-svn-check-1.14.0-rc1.conf]
> Error 127
> 
> ]]]
> 
> Strange. This never happened before.
> 
> $ find . -name libdb-18.1.so -print
> ./src/db-18.1.32/build_unix/.libs/libdb-18.1.so
> ./prefix/bdb/lib/libdb-18.1.so
> 
> It's right where it should be, and Makefile.svn sets LD_LIBRARY_PATH.
> There shouldn't be any problem. Right?
> 
> I made the following change and then was able to run the serf x fsfs
> test successfully, but I have no idea how/why it worked before (it
> worked two days ago!) and why I needed to make this change now:
> 
> [[[
> 
> Index: Makefile.svn
> ===================================================================
> --- Makefile.svn (revision 1875781)
> +++ Makefile.svn (working copy)
> @@ -1820,11 +1820,11 @@
> 
>  $(HTTPD_CHECK_CONF): $(MOD_DONTDOTHAT_CONF) $(HTTPD_CHECK_GROUPS)
>   mkdir -p $(dir $@)
> - $(PREFIX)/httpd/bin/htpasswd -bc $(HTTPD_CHECK_USERS).tmp jrandom rayjandom
> - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp jconstant rayjandom
> - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp
> __dumpster__ __loadster__
> - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JRANDOM rayjandom
> - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JCONSTANT rayjandom
> + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd
> -bc $(HTTPD_CHECK_USERS).tmp jrandom rayjandom
> + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd
> -b $(HTTPD_CHECK_USERS).tmp jconstant rayjandom
> + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd
> -b $(HTTPD_CHECK_USERS).tmp __dumpster__ __loadster__
> + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd
> -b $(HTTPD_CHECK_USERS).tmp JRANDOM rayjandom
> + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd
> -b $(HTTPD_CHECK_USERS).tmp JCONSTANT rayjandom
>   mv -f $(HTTPD_CHECK_USERS).tmp $(HTTPD_CHECK_USERS)
>   echo > $@.tmp '# httpd config for make check'
>   echo >>$@.tmp 'ServerRoot "$(PREFIX)/httpd"'
> 
> ]]]
> 
> Still baffled,
> Nathan
> 

Not sure what happened either, but the change looks good and
shouldn't hurt.

Perhaps you had another libdb-something.so sitting somewhere else
on your system which ld.so picked up and which happened to work,
and now doesn't work any longer after an upgrade or something?

Reply via email to