On Wed, Feb 10, 2010 at 09:48:38AM +0100, Marco van Wieringen wrote:
> On Wed, Feb 10, 2010 at 08:28:25AM +0100, Kern Sibbald wrote:
> > Hello Marco,
> >
> > I think you have completely misunderstood the point of my email and the
> > problem I posed.
> I'm not sure I really understand the problem you are posing. I'm wondering
> if it is really a problem (I know it is for you but I didn't have time to
> have an indepth search into what and why)
>
> >
> > I have no problem with changing the library version from 1 to 5, in fact,
> > it
> > was I who suggested that you do it based on the Bacula version. This was
> > and
> > is in my opinion the right thing to do.
> Sure it is but it has some impact.
>
> >
> > The problem is that for some reason changing the version (all components
> > were
> > changed correctly and installed correctly) did not resolve the problem but
> > in
> > fact created a whole new problem which is the complete failure of Bacula to
> > be able to run.
> As I explained in the previous mail changing the major number only fixes one
> specific problem and that is you can have both Bacula Enterprise Edition and
> the Community edition on one server. But symbol changes are still a problem.
>
> >
> > I was trying to explain that according to the new numbering scheme,
> > everything
> > was correctly compiled and installed -- however, it left the old 1.0.0
> > version of the shared objects installed. I expected that would only use a
> > bit of disk space, but in fact, having the old shared objects installed in
> > the same directory as the new shared objects prevented Bacula from running
> > --
> > or at least printed out the error messages I pasted below.
> I must say that I don't understand this, as you ldd clearly shows it was
> linked
> against the 5.0.0 libs. I will copy my old 1.0.0 libs also in and see if I
> reproduce the behaviour.
To answer my own question:
I now have this:
9:58 [root:corona][62] /opt/ELMbacula/lib > ls -l
total 4246
drwxr-xr-x 2 bin bin 32 Feb 10 09:54 amd64
-r-xr-xr-x 1 bin bin 908 Feb 10 09:54 libbac.la
lrwxrwxrwx 1 root root 11 Feb 10 09:54 libbac.so -> libbac.so.5
lrwxrwxrwx 1 bin bin 15 Feb 10 09:53 libbac.so.1 ->
libbac.so.1.0.0
-r-xr-xr-x 1 bin bin 647888 Oct 27 21:27 libbac.so.1.0.0
lrwxrwxrwx 1 root root 15 Feb 7 15:54 libbac.so.5 ->
libbac.so.5.0.0
-r-xr-xr-x 1 bin bin 649808 Feb 7 14:19 libbac.so.5.0.0
-r-xr-xr-x 1 bin bin 926 Feb 10 09:54 libbaccfg.la
lrwxrwxrwx 1 root root 14 Feb 10 09:54 libbaccfg.so ->
libbaccfg.so.5
lrwxrwxrwx 1 bin bin 18 Feb 10 09:53 libbaccfg.so.1 ->
libbaccfg.so.1.0.0
-r-xr-xr-x 1 bin bin 44384 Oct 27 21:27 libbaccfg.so.1.0.0
lrwxrwxrwx 1 root root 18 Feb 7 15:54 libbaccfg.so.5 ->
libbaccfg.so.5.0.0
-r-xr-xr-x 1 bin bin 42048 Feb 7 14:19 libbaccfg.so.5.0.0
-r-xr-xr-x 1 bin bin 932 Feb 10 09:54 libbacfind.la
lrwxrwxrwx 1 root root 15 Feb 10 09:54 libbacfind.so ->
libbacfind.so.5
lrwxrwxrwx 1 bin bin 19 Feb 10 09:53 libbacfind.so.1 ->
libbacfind.so.1.0.0
-r-xr-xr-x 1 bin bin 90964 Oct 27 21:27 libbacfind.so.1.0.0
lrwxrwxrwx 1 root root 19 Feb 7 15:54 libbacfind.so.5 ->
libbacfind.so.5.0.0
-r-xr-xr-x 1 bin bin 86344 Feb 7 14:19 libbacfind.so.5.0.0
-r-xr-xr-x 1 bin bin 956 Feb 10 09:54 libbacpy.la
lrwxrwxrwx 1 root root 13 Feb 10 09:54 libbacpy.so ->
libbacpy.so.5
lrwxrwxrwx 1 bin bin 17 Feb 10 09:53 libbacpy.so.1 ->
libbacpy.so.1.0.0
-r-xr-xr-x 1 bin bin 21348 Oct 27 21:27 libbacpy.so.1.0.0
lrwxrwxrwx 1 root root 17 Feb 7 15:54 libbacpy.so.5 ->
libbacpy.so.5.0.0
-r-xr-xr-x 1 bin bin 20724 Feb 7 14:19 libbacpy.so.5.0.0
-r-xr-xr-x 1 bin bin 955 Feb 10 09:54 libbacsql.la
lrwxrwxrwx 1 root root 14 Feb 10 09:54 libbacsql.so ->
libbacsql.so.5
lrwxrwxrwx 1 bin bin 18 Feb 10 09:53 libbacsql.so.1 ->
libbacsql.so.1.0.0
-r-xr-xr-x 1 bin bin 214936 Oct 27 21:27 libbacsql.so.1.0.0
lrwxrwxrwx 1 root root 18 Feb 7 15:54 libbacsql.so.5 ->
libbacsql.so.5.0.0
-r-xr-xr-x 1 bin bin 227152 Feb 7 14:19 libbacsql.so.5.0.0
drwxr-xr-x 3 bin bin 4 Feb 7 15:54 plugins
9:58 [root:corona][63] /opt/ELMbacula/lib > cd amd64
9:58 [root:corona][64] /opt/ELMbacula/lib/amd64 > ls -l
total 4858
-r-xr-xr-x 1 bin bin 966 Feb 10 09:54 libbac.la
lrwxrwxrwx 1 root root 11 Feb 10 09:54 libbac.so -> libbac.so.5
lrwxrwxrwx 1 bin bin 15 Feb 10 09:53 libbac.so.1 ->
libbac.so.1.0.0
-r-xr-xr-x 1 bin bin 722104 Oct 27 21:27 libbac.so.1.0.0
lrwxrwxrwx 1 root root 15 Feb 7 15:54 libbac.so.5 ->
libbac.so.5.0.0
-r-xr-xr-x 1 bin bin 720080 Feb 7 14:01 libbac.so.5.0.0
-r-xr-xr-x 1 bin bin 984 Feb 10 09:54 libbaccfg.la
lrwxrwxrwx 1 root root 14 Feb 10 09:54 libbaccfg.so ->
libbaccfg.so.5
lrwxrwxrwx 1 bin bin 18 Feb 10 09:53 libbaccfg.so.1 ->
libbaccfg.so.1.0.0
-r-xr-xr-x 1 bin bin 54136 Oct 27 21:27 libbaccfg.so.1.0.0
lrwxrwxrwx 1 root root 18 Feb 7 15:54 libbaccfg.so.5 ->
libbaccfg.so.5.0.0
-r-xr-xr-x 1 bin bin 51152 Feb 7 14:01 libbaccfg.so.5.0.0
-r-xr-xr-x 1 bin bin 990 Feb 10 09:54 libbacfind.la
lrwxrwxrwx 1 root root 15 Feb 10 09:54 libbacfind.so ->
libbacfind.so.5
lrwxrwxrwx 1 bin bin 19 Feb 10 09:53 libbacfind.so.1 ->
libbacfind.so.1.0.0
-r-xr-xr-x 1 bin bin 104696 Oct 27 21:27 libbacfind.so.1.0.0
lrwxrwxrwx 1 root root 19 Feb 7 15:54 libbacfind.so.5 ->
libbacfind.so.5.0.0
-r-xr-xr-x 1 bin bin 97928 Feb 7 14:01 libbacfind.so.5.0.0
-r-xr-xr-x 1 bin bin 1014 Feb 10 09:54 libbacpy.la
lrwxrwxrwx 1 root root 13 Feb 10 09:54 libbacpy.so ->
libbacpy.so.5
lrwxrwxrwx 1 bin bin 17 Feb 10 09:53 libbacpy.so.1 ->
libbacpy.so.1.0.0
-r-xr-xr-x 1 bin bin 26584 Oct 27 21:27 libbacpy.so.1.0.0
lrwxrwxrwx 1 root root 17 Feb 7 15:54 libbacpy.so.5 ->
libbacpy.so.5.0.0
-r-xr-xr-x 1 bin bin 25712 Feb 7 14:01 libbacpy.so.5.0.0
-r-xr-xr-x 1 bin bin 1013 Feb 10 09:54 libbacsql.la
lrwxrwxrwx 1 root root 14 Feb 10 09:54 libbacsql.so ->
libbacsql.so.5
lrwxrwxrwx 1 bin bin 18 Feb 10 09:53 libbacsql.so.1 ->
libbacsql.so.1.0.0
-r-xr-xr-x 1 bin bin 238232 Oct 27 21:27 libbacsql.so.1.0.0
lrwxrwxrwx 1 root root 18 Feb 7 15:54 libbacsql.so.5 ->
libbacsql.so.5.0.0
-r-xr-xr-x 1 bin bin 250920 Feb 7 14:01 libbacsql.so.5.0.0
e.g. I have both the old and the new libs in one place.
and when I then try
/opt/ELMbacula/sbin/bacula-fd: illegal option -- x
Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
Version: 5.0.1 (06 February 2010)
Usage: bacula-fd [-f -s] [-c config_file] [-d debug_level]
-c <file> use <file> as configuration file
-d <nn> set debug level to <nn>
-dt print a timestamp in debug output
-f run in foreground (for debugging)
-g groupid
-k keep readall capabilities
-m print kaboom output (for debugging)
-s no signals (for debugging)
-t test configuration file and exit
-u userid
-v verbose user messages
-? print this message.
9:59 [root:corona][66] /opt/ELMbacula/lib/amd64 > /opt/ELMbacula/sbin/bacula-sd
-x
/opt/ELMbacula/sbin/bacula-sd: illegal option -- x
Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
Version: 5.0.1 (06 February 2010)
Usage: stored [options] [-c config_file] [config_file]
-c <file> use <file> as configuration file
-d <nn> set debug level to <nn>
-dt print timestamp in debug output
-f run in foreground (for debugging)
-g <group> set groupid to group
-m print kaboom output (for debugging)
-p proceed despite I/O errors
-s no signals (for debugging)
-t test - read config and exit
-u <user> userid to <user>
-v verbose user messages
-? print this message.
9:59 [root:corona][67] /opt/ELMbacula/lib/amd64 >
/opt/ELMbacula/sbin/bacula-dir -x
/opt/ELMbacula/sbin/bacula-dir: illegal option -- x
Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
Version: 5.0.1 (06 February 2010)
Usage: dird [-f -s] [-c config_file] [-d debug_level] [config_file]
-c <file> set configuration file to file
-d <nn> set debug level to <nn>
-dt print timestamp in debug output
-f run in foreground (for debugging)
-g groupid
-m print kaboom output (for debugging)
-r <job> run <job> now
-s no signals
-t test - read configuration and exit
-u userid
-v verbose user messages
-? print this message.
It just seems to work (Ok I know this is on Solaris but dynamic loading should
work the same on Linux)
So the only thing I can think of is that there were old 5.0.0 libs with older
symbols which lead
to the error you are seeing. I would like to see what happens on Linux when you
do exactly the same
e.g. put the 1.0.0 libs back.
Marco
------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel