On 2/12/21 12:53 PM, Martin Simmons wrote:
On Thu, 11 Feb 2021 13:28:31 -0800, jmaness  said:
On Thu, Feb 11, 2021 at 12:54 PM Josh Fisher <jfis...@jaybus.com> wrote:

On 2/11/21 12:40 PM, jman...@engineering.ucsb.edu wrote:

Hello!

      About two years ago our Bacula client package stopped working in
Catalina. We've figured out that the binaries were compiled for PPC and
i386 Macs and I suspect the issue is that we need a client for x86_64 or
ia64.

      The official documentation points us to Fink which doesn't seem to
have a current version of the package. I believe their most recent version
is from 2013.

      We've tried compiling the source code but there seems to be a syntax
error in one of the functions. While our programmer was able to alter the
source code we aren't comfortable deploying with our in house changes.
Further our programmer thinks a refactor would be needed for the changes to
apply to all instances of the function.


Did you use the --enable-client-only flag when running configure?

Thank you for the reply. Here are our compile options and make error. We
are compiling for client only.

% CFLAGS="-g -O2" \
           ./configure \
             --sbindir=$HOME/bacula/bin \
             --sysconfdir=$HOME/bacula/bin \
             --with-pid-dir=$HOME/bacula/bin/working \
             --with-subsys-dir=$HOME/bacula/bin/working \
             --enable-smartalloc \
             --with-mysql \
             --with-working-dir=$HOME/bacula/bin/working \
             --enable-client-only

Compiling bsnprintf.c
bsnprintf.c:622:16: error: static declaration of 'round' follows non-static
       declaration
static int64_t round(LDOUBLE value)
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:476:15:
note:
       previous declaration is here
extern double round(double);
               ^
1 error generated.
make[1]: *** [bsnprintf.lo] Error 1
This should be fixable by the trivial change already in later versions of
Bacula:

https://www.bacula.org/git/cgit.cgi/bacula/commit/bacula/src/lib/bsnprintf.c?id=356330bd843be2ee51f948b3fb7179d2167518b8


Yes. That is the fix. Thanks for pointing that out.



I don't understand the comment about "refactor" or "all instances" unless
there are other errors as well.


By refactor, he means that when the function declaration is changed from round() to bround() to avoid the conflict, it has to be changed everywhere else in the code where it is called. In bsnprintf.c, round() is declared static, so this amounts to changing all calls to round() that are made inside the bsnprintf.c source file from round() to bround().



__Martin


_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to