Bacula-users

Re: [Bacula-users] [Bacula-devel] Beta release 7.9.2

2017-06-07 03:59:50
Subject: Re: [Bacula-users] [Bacula-devel] Beta release 7.9.2
From: Kern Sibbald <kern AT sibbald DOT com>
To: "Gary R. Schmidt" <grs AT mcleod-schmidt.id DOT au>
Date: Wed, 7 Jun 2017 09:59:03 +0200
Hello,

Bacula does not require g++ to build, but you may need to adjust things. For example, on FreeBSD Bacula is built with clang. On Solaris you can use the Solaris compiler. I don't know what Developer Studio is, so I cannot say. However, you will need to have GNU tools installed.

See comments below ...


On 06/07/2017 09:17 AM, Gary R. Schmidt wrote:
On 2017-06-06 21:57, Kern Sibbald wrote:
Hello,

This is to inform you that we have release Bacula BETA version 7.9.2

Hi Kern,

Trying to build on Solaris 10 x64, using Developer Studio 12.3.

Can't disable libtool - oh great, can't work out what is going on underneath, just ducky.
Yes, we rely on libtool. It is complicated, but it is less complicated than trying to have different linking on each different OS. It is portable in the sense that gnu tools are everywhere.

Configure:
./configure \
        CC=cc CXX=CC \
        CFLAGS="-g -O" \
        LDFLAGS="-Lpath_to/lib/mysql -Rpath_to/lib/mysql" \
        ...
        --with-mysql=path_to_mysql \
        --enable-smartalloc \
        --enable-batch-insert \
        ...
I have removed the options that just set the prefix and names of things and so on.

        ...
        checking term.h usability... no
        checking term.h presence... yes
        configure: WARNING: term.h: present but cannot be compiled
configure: WARNING: term.h: check for missing prerequisite headers?
        configure: WARNING: term.h: see the Autoconf documentation
configure: WARNING: term.h: section "Present But Cannot Be Compiled"
        configure: WARNING: term.h: proceeding with the compiler's result
        checking for term.h... no
        ...
The real problem is that you shouldn't be including term.h on it's own, you should use curses.h.

Making it:

Requires GNU make to build - portable? Oh yes, it builds on Fedora Core *and* Ubuntu.
It builds on Mac OSX, Windows, FreeBSD, Solaris and others.

gmake[1]: Entering directory `.../bacula/BETA/bacula-7.9.2/src/lib'
        Compiling bsys.c
"../lib/bsock.h", line 293: Warning: Identifier expected instead of "}". "../lib/bsock.h", line 311: Warning: Identifier expected instead of "}". Sigh. Trailing ',' on the last element in a struct. Yes, I know the new standards allow it.

        "bsys.c", line 1219: Error: Use ";" to terminate declarations.
Oh, line 1218:
        int tmp_errno = errno
How did that one get through?

This is brand new code, and apparently is not enabled on Linux.

Thanks for pointing it out.  I have fixed it in the source.


Okay, fix this lot, try again...

Ignoring warnings for the moment, next!

        Compiling lz4.c
        "lz4.c", line 174: Error: Syntax error in pragma.
        "lz4.c", line 174: Error: Missing ')' in #pragma.
        "lz4.c", line 174: Error: Syntax error in pragma.
        "lz4.c", line 182: Error: Syntax error in pragma.
        "lz4.c", line 182: Error: Missing ')' in #pragma.
        "lz4.c", line 182: Error: Syntax error in pragma.

So, what's at these lines...

You will have to ask the lz4 guys, but I admit, it looks pretty ugly.

        #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
        #  pragma pack(push, 1)
        #endif
        ...
        #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
        #  pragma pack(pop)
        #endif
That's a new one, a pragma that pushes and pops state, not part of 12.3, nor part of 12.5.
I wonder if it's in 12.6???  No, I wonder what compiler supplies it?

Should probably be, unless there is a test for push/pop?:
        #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
        #  pragma pack(1)
        #endif
        ...
        #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
        #  pragma pack()
        #endif

Giving up at this point, I will try with GCC 5.2.0 after I send this.

You will probably have better luck with gcc. I have not tried building on Solaris recently, so you will undoubtedly face a few goof ups.

This is a BETA release, so these problems do not surprise me, though I certainly would rather not have them.

Thanks for testing this new version.

Best regards,
Kern

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users


ADSM.ORG Privacy and Data Security by https://kimlaw.us