>>>>> On Wed, 18 Nov 2009 20:12:43 -0500, Dan Langille said: > > Martin Simmons wrote: > >>>>>> On Tue, 17 Nov 2009 22:45:51 -0500, Dan Langille said: > >> Martin Simmons wrote: > >>>>>>>> On Mon, 16 Nov 2009 22:32:56 -0500, Dan Langille said: > >>>> Martin Simmons wrote: > >>>>>>>>>> On Sun, 15 Nov 2009 23:45:43 -0500, Dan Langille said: > >>>>>> Folks, > >>>>>> > >>>>>> I am finding that the location of the executable binary varies from > >>>>>> one > >>>>>> system to another. I am trying to find out why. The answer will help > >>>>>> to improve the build and install process. > >>>>>> > >>>>>> Sometimes the binary is at: > >>>>>> > >>>>>> src/qt-console/bat > >>>>>> > >>>>>> If not there, it is at: > >>>>>> > >>>>>> src/qt-console/.libs/bat > >>>>>> > >>>>>> Within a given system, the location is always consistent. It is one > >>>>>> of > >>>>>> the above. Why the location varies, I do not know. >>>>> The .libs directory is the default location when building with libtool >>>>> (for >>>>> Bacula shared libraries). > >>>> This is interesting. Please, can you elaborate? > >>> The libtool utility is a wrapper around compiling/linking/install to deal > >>> with > >>> portability for shared library naming. > >>> > >>> In the build tree, it puts all shared libraries and executables into > >>> subdirectories which are called .libs by default. It also creates a shell > >>> script for each executable, which sets LD_LIBRARY_PATH appropriately to > >>> make > >>> it work in the build tree. > >>> > >>> Note that this is only in the build tree. During "make install", it > >>> installs > >>> the real libraries and binaries. > >>> > >>> My guess is that that some are not being linked with shared libraries for > >>> some > >>> reason, so Bacula is not using libtool and the real executable is built in > >>> src/qt-console/bat. > >>> > >>> It isn't clear to me why the location of the binaries matters, unless the > >>> Makefile is broken. > >> It matters because building the FreeBSD port/packages needs to know > >> where the binary is. Without knowing, you can't install it or build it > >> into a package. > > > > OK, but I don't understand why. > > > > Normally, a port's Makefile (or bsd.port.mk) installs the software by > > running > > make install with the software's Makefile. The installed location should > > never have a .libs directory (it should only exist in the build tree). If > > the > > installed location has a .libs directory, then the software's Makefile is > > broken. > > Yes, that is the normal situation. However, for sysutils/bacula-bat, > the bat file is installed by the port's Makefile. I do not know why. > That's how it's done.
Perhaps the port's Makefile can be changed to use Bacula's make install like bacula-bat.spec does for the rpms? That must be better than adding more hacks... __Martin ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users