Hi, I'm working on Bug 618646, and it's almost done, but I have a problem and don't know how to do it correctly.
The problem is that there is libgncmod*.dll are installed in lib/gnucash, $pkglibdir, however, gnucash-bin.exe are installed in bin/. There are some libgncmod*.dll are linked with gnucash-bin.exe. During the loading executable file, the system will load all the linked .dll to memory, it will search in current directory and PATH, however, lib/gnucash is not (and should not) in the environment variable PATH. So, it's fail to find the linked "libgncmod*.dll" and show error dialog and exit immediately. When gnucash is compiled under Linux, it will use -rpath, and hardcode the current $pkglibdir and $libdir into the gnucash-bin binary file, so when gnucash-bin is loading, it will find the $pkglibdir for the *.so files. However, since it's hardcoded, if we move the installed location, or rename the directory, gnucash-bin will not be able to find the *.so file, and show following warning: ./gnucash-bin: error while loading shared libraries: libgnc-qof.so.1: cannot open shared object file: No such file or directory. So, I have 2 questions: 1) should we just change all "pkglib_LT*" to "lib_LT*" in Makefile.am? which will build everything to lib/ and in Windows installation script, they are automatically copied to bin/ 2) Not change "pkglib_" prefix, and installed all "libgncmod*.dll" to bin/ on Windows only. But how to do that? Modify configure.ac? or packaging/win32/install.sh(or dist.sh)? Thanks. -- Regards Tao Wang _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel