Am 02.07.21 um 18:33 schrieb John Ralls:
It depends on whether you manage to get it to build and how you configure your library-loader 
defaults. Each executable needs to find the right set of shared libraries and loadable modules: 
/usr/bin/gnucash needs to find the ones in /usr/<libdir> and /opt/bin/gnucash needs to find the 
ones in /opt/<libdir>. Linux generally organizes loading the shared libraries with 
/etc/ldso.conf, but it can be tweaked with the environment variable $LD_LIBRARY_PATH. In general that 
config also applies to loadable modules, but Guile still uses the utterly obsolete Gnu libtool 
libltdl.so that has its own environment variable and redirection files ("lt libraries") 
that provide another layer of complexity for you to navigate.
You might be able to override the shared library half of the problem with 
additional CMake arguments that set up RPATHs to override the defaults and by 
running the self-built GnuCash from a shell script or .desktop that overrides 
the Guile and Gnu libtool environments to point at your /opt build. This isn't 
script-kiddie stuff so if you haven't been nodding along to all of that you've 
got some studying to do.

Thanks, I'm quite familiar with Linux. I'm using it now for about 25 years (and about 10 years more HP-UX).

After overwriting /usr/lib64/libgnucash-guile.so, the build succeded. The Makefile seems to do "the right thing", an "ldd /opt/bin/gnucash" shows the correct shared library paths, no fiddling with ldso.conf or LD_LIBRARY_PATH is necessary. And during make, there were a lot of messages like this:

;;; note: source file 
/home/lothar/src/work/gnucash/gnucash-4.6/build/share/guile/site/3.0/gnucash/report/html-chart.scm
;;;       newer than compiled 
/usr/lib64/guile/3.0/site-ccache/gnucash/report/html-chart.go

It seems, that all *.go files are built and installed correctly to /opt/gnucash/lib64/guile/3.0/site-ccache/gnucash/ and gnucash seems to run without problems. Maybe I'll do a last check and remove the package version. If everything still works, then I think, the use of /usr/lib64/libgnucash-guile.so by guile during make is the only issue.

Thanks and best regards
Lothar
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to