>>>>> 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.

It then builds the package from the installed files, so again there should be
no .libs directory.

__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

Reply via email to