Bacula BETA Release 7.9.4

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Bacula BETA Release 7.9.4

Kern Sibbald
Hello,

Versions of Bacula BETA 7.9.0, 1, 2, and 3, all had what I thought was a
trivial change to the DIR<->SD protocol.  It turned out to be a rather
significant change that affected the FD as well.  So if you were running
version 7.9.0, 1, 2, or 3 you would possibly see messages that said that
it was a "Malformed message: ...".  These messages were essentially
harmless but annoying especially because the messages were never
properly dispatched.

I believe that I have now fixed all these problems with version 7.9.4.,
which is currently released on www.bacula.org.  Since I am not at home,
this is an expedited release without updating the ReleaseNotes.

Sorry for the problems, and thanks to those who reported them.

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-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Gary R. Schmidt-3
On 2017-06-11 16:23, Kern Sibbald wrote:

> Hello,
>
> Versions of Bacula BETA 7.9.0, 1, 2, and 3, all had what I thought was
> a trivial change to the DIR<->SD protocol.  It turned out to be a
> rather significant change that affected the FD as well.  So if you
> were running version 7.9.0, 1, 2, or 3 you would possibly see messages
> that said that it was a "Malformed message: ...".  These messages were
> essentially harmless but annoying especially because the messages were
> never properly dispatched.
>
> I believe that I have now fixed all these problems with version
> 7.9.4., which is currently released on www.bacula.org.  Since I am not
> at home, this is an expedited release without updating the
> ReleaseNotes.
>
> Sorry for the problems, and thanks to those who reported them.
>
Just got around to building this on Solaris 10.

It still has the bad code in lz4.c:
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.
6 Error(s) detected.

Here is a context diff for the fix, as I can't see how to turn off lz4
in configure:
===============================================================
bacula-7.9.4/src/lib $ diff -c lz4.c.bad lz4.c
*** lz4.c.bad   Fri Jun 16 17:27:26 2017
--- lz4.c       Fri Jun 16 17:27:43 2017
***************
*** 171,177 ****
   #endif

   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
! #  pragma pack(push, 1)
   #endif

   typedef struct _U16_S { U16 v; } _PACKED U16_S;
--- 171,177 ----
   #endif

   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
! #  pragma pack(1)
   #endif

   typedef struct _U16_S { U16 v; } _PACKED U16_S;
***************
*** 179,185 ****
   typedef struct _U64_S { U64 v; } _PACKED U64_S;

   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
! #  pragma pack(pop)
   #endif

   #define A64(x) (((U64_S *)(x))->v)
--- 179,185 ----
   typedef struct _U64_S { U64 v; } _PACKED U64_S;

   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
! #  pragma pack()
   #endif

   #define A64(x) (((U64_S *)(x))->v)
===============================================================

         Cheers,
                 Gary    B-)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
Hello,

I will take a look at that.  This is the first time I saw the patch.

Best regards,

Kern


On 06/16/2017 10:14 AM, Gary R. Schmidt wrote:

> On 2017-06-11 16:23, Kern Sibbald wrote:
>> Hello,
>>
>> Versions of Bacula BETA 7.9.0, 1, 2, and 3, all had what I thought was
>> a trivial change to the DIR<->SD protocol.  It turned out to be a
>> rather significant change that affected the FD as well.  So if you
>> were running version 7.9.0, 1, 2, or 3 you would possibly see messages
>> that said that it was a "Malformed message: ...".  These messages were
>> essentially harmless but annoying especially because the messages were
>> never properly dispatched.
>>
>> I believe that I have now fixed all these problems with version
>> 7.9.4., which is currently released on www.bacula.org.  Since I am not
>> at home, this is an expedited release without updating the
>> ReleaseNotes.
>>
>> Sorry for the problems, and thanks to those who reported them.
>>
> Just got around to building this on Solaris 10.
>
> It still has the bad code in lz4.c:
> 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.
> 6 Error(s) detected.
>
> Here is a context diff for the fix, as I can't see how to turn off lz4
> in configure:
> ===============================================================
> bacula-7.9.4/src/lib $ diff -c lz4.c.bad lz4.c
> *** lz4.c.bad   Fri Jun 16 17:27:26 2017
> --- lz4.c       Fri Jun 16 17:27:43 2017
> ***************
> *** 171,177 ****
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(push, 1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> --- 171,177 ----
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> ***************
> *** 179,185 ****
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(pop)
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> --- 179,185 ----
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack()
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> ===============================================================
>
>         Cheers,
>                 Gary    B-)
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
In reply to this post by Gary R. Schmidt-3
Hello Gary,

Would you please try the current version that is in the public git repo
on www.bacula.org.  It should now compile correctly on Solaris 10.  
Note: you need to do a ./configure prior to compiling.   Also, the
"portable" patch was slightly more complicated as configure.in had to be
modified.

Best regards,
Kern

On 06/16/2017 10:14 AM, Gary R. Schmidt wrote:

> On 2017-06-11 16:23, Kern Sibbald wrote:
>> Hello,
>>
>> Versions of Bacula BETA 7.9.0, 1, 2, and 3, all had what I thought was
>> a trivial change to the DIR<->SD protocol.  It turned out to be a
>> rather significant change that affected the FD as well.  So if you
>> were running version 7.9.0, 1, 2, or 3 you would possibly see messages
>> that said that it was a "Malformed message: ...".  These messages were
>> essentially harmless but annoying especially because the messages were
>> never properly dispatched.
>>
>> I believe that I have now fixed all these problems with version
>> 7.9.4., which is currently released on www.bacula.org.  Since I am not
>> at home, this is an expedited release without updating the
>> ReleaseNotes.
>>
>> Sorry for the problems, and thanks to those who reported them.
>>
> Just got around to building this on Solaris 10.
>
> It still has the bad code in lz4.c:
> 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.
> 6 Error(s) detected.
>
> Here is a context diff for the fix, as I can't see how to turn off lz4
> in configure:
> ===============================================================
> bacula-7.9.4/src/lib $ diff -c lz4.c.bad lz4.c
> *** lz4.c.bad   Fri Jun 16 17:27:26 2017
> --- lz4.c       Fri Jun 16 17:27:43 2017
> ***************
> *** 171,177 ****
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(push, 1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> --- 171,177 ----
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> ***************
> *** 179,185 ****
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(pop)
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> --- 179,185 ----
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack()
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> ===============================================================
>
>         Cheers,
>                 Gary    B-)
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
In reply to this post by Gary R. Schmidt-3
Hello Gary,

Could you send me a diff -u of your patch or simply the patched lz4.c
file.  I think I did the inverse of what is needed -- that is I removed
the pack() on Solaris 10.  If I did get it backwards, the code will
obviously not work.

Best regards,

Kern


On 06/16/2017 10:14 AM, Gary R. Schmidt wrote:

> On 2017-06-11 16:23, Kern Sibbald wrote:
>> Hello,
>>
>> Versions of Bacula BETA 7.9.0, 1, 2, and 3, all had what I thought was
>> a trivial change to the DIR<->SD protocol.  It turned out to be a
>> rather significant change that affected the FD as well.  So if you
>> were running version 7.9.0, 1, 2, or 3 you would possibly see messages
>> that said that it was a "Malformed message: ...".  These messages were
>> essentially harmless but annoying especially because the messages were
>> never properly dispatched.
>>
>> I believe that I have now fixed all these problems with version
>> 7.9.4., which is currently released on www.bacula.org.  Since I am not
>> at home, this is an expedited release without updating the
>> ReleaseNotes.
>>
>> Sorry for the problems, and thanks to those who reported them.
>>
> Just got around to building this on Solaris 10.
>
> It still has the bad code in lz4.c:
> 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.
> 6 Error(s) detected.
>
> Here is a context diff for the fix, as I can't see how to turn off lz4
> in configure:
> ===============================================================
> bacula-7.9.4/src/lib $ diff -c lz4.c.bad lz4.c
> *** lz4.c.bad   Fri Jun 16 17:27:26 2017
> --- lz4.c       Fri Jun 16 17:27:43 2017
> ***************
> *** 171,177 ****
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(push, 1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> --- 171,177 ----
>   #endif
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(1)
>   #endif
>
>   typedef struct _U16_S { U16 v; } _PACKED U16_S;
> ***************
> *** 179,185 ****
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack(pop)
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> --- 179,185 ----
>   typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>   #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> ! #  pragma pack()
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> ===============================================================
>
>         Cheers,
>                 Gary    B-)
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Gary R. Schmidt-3
Hi Kern,

On 2017-06-19 02:55, Kern Sibbald wrote:
> Hello Gary,
>
> Could you send me a diff -u of your patch or simply the patched lz4.c
> file.  I think I did the inverse of what is needed -- that is I
> removed the pack() on Solaris 10.  If I did get it backwards, the code
> will obviously not work.
>
diff -u:
===================================================
bacula-7.9.4/src/lib $ diff -u lz4.c.bad lz4.c
--- lz4.c.bad   Fri Jun 16 17:27:26 2017
+++ lz4.c       Fri Jun 16 17:27:43 2017
@@ -171,7 +171,7 @@
  #endif

  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
-#  pragma pack(push, 1)
+#  pragma pack(1)
  #endif

  typedef struct _U16_S { U16 v; } _PACKED U16_S;
@@ -179,7 +179,7 @@
  typedef struct _U64_S { U64 v; } _PACKED U64_S;

  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
-#  pragma pack(pop)
+#  pragma pack()
  #endif

  #define A64(x) (((U64_S *)(x))->v)
===================================================

And lz4.c file attached as well.

         Cheers,
                 Gary    B-)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

lz4.c (32K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
Hello Gary,

Thanks for the quick response.  Please don't even try what I committed.
It will not work.

I believe that I now understand what to do ...

Thanks,
Kern

On 06/19/2017 05:09 AM, Gary R. Schmidt wrote:

> Hi Kern,
>
> On 2017-06-19 02:55, Kern Sibbald wrote:
>> Hello Gary,
>>
>> Could you send me a diff -u of your patch or simply the patched lz4.c
>> file.  I think I did the inverse of what is needed -- that is I
>> removed the pack() on Solaris 10.  If I did get it backwards, the code
>> will obviously not work.
>>
> diff -u:
> ===================================================
> bacula-7.9.4/src/lib $ diff -u lz4.c.bad lz4.c
> --- lz4.c.bad   Fri Jun 16 17:27:26 2017
> +++ lz4.c       Fri Jun 16 17:27:43 2017
> @@ -171,7 +171,7 @@
>  #endif
>
>  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(push, 1)
> +#  pragma pack(1)
>  #endif
>
>  typedef struct _U16_S { U16 v; } _PACKED U16_S;
> @@ -179,7 +179,7 @@
>  typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(pop)
> +#  pragma pack()
>  #endif
>
>  #define A64(x) (((U64_S *)(x))->v)
> ===================================================
>
> And lz4.c file attached as well.
>
>         Cheers,
>                 Gary    B-)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
In reply to this post by Gary R. Schmidt-3
Hello Gary,

OK, I have now pushed another fix, which I am pretty confident will fix
your build problem on Solaris 10 without breaking any other
architecture.  Please pull the latest version of Bacula from the git
repo.  It is version 7.9.6 19 June 2017.   As previously mentioned, you
will need to do a proper ./configure prior to the make.

I would appreciate it if you would let me know if it works "out of the
box" now.

Thanks for reporting this and for giving me rapid feedback.

Best regards,
Kern

On 06/19/2017 05:09 AM, Gary R. Schmidt wrote:

> Hi Kern,
>
> On 2017-06-19 02:55, Kern Sibbald wrote:
>> Hello Gary,
>>
>> Could you send me a diff -u of your patch or simply the patched lz4.c
>> file.  I think I did the inverse of what is needed -- that is I
>> removed the pack() on Solaris 10.  If I did get it backwards, the code
>> will obviously not work.
>>
> diff -u:
> ===================================================
> bacula-7.9.4/src/lib $ diff -u lz4.c.bad lz4.c
> --- lz4.c.bad   Fri Jun 16 17:27:26 2017
> +++ lz4.c       Fri Jun 16 17:27:43 2017
> @@ -171,7 +171,7 @@
>  #endif
>
>  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(push, 1)
> +#  pragma pack(1)
>  #endif
>
>  typedef struct _U16_S { U16 v; } _PACKED U16_S;
> @@ -179,7 +179,7 @@
>  typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
>  #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(pop)
> +#  pragma pack()
>  #endif
>
>  #define A64(x) (((U64_S *)(x))->v)
> ===================================================
>
> And lz4.c file attached as well.
>
>         Cheers,
>                 Gary    B-)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Gary R. Schmidt-3
On 19/06/2017 18:13, Kern Sibbald wrote:

> Hello Gary,
>
> OK, I have now pushed another fix, which I am pretty confident will fix
> your build problem on Solaris 10 without breaking any other
> architecture.  Please pull the latest version of Bacula from the git
> repo.  It is version 7.9.6 19 June 2017.   As previously mentioned, you
> will need to do a proper ./configure prior to the make.
>
> I would appreciate it if you would let me know if it works "out of the
> box" now.
>
> Thanks for reporting this and for giving me rapid feedback.
>
Hi Kern,

I cannot see 'Release-7.9.6' in the git repository, or else I am doing
something wrong.

        Cheers,
                Gary B-)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Wanderlei Huttel
Hello Gary

Probably Kern forgot to include the tag, but you can clone the repository that you will get the last version.

Best regards

Wanderlei Hüttel

2017-06-19 8:14 GMT-03:00 Gary R. Schmidt <[hidden email]>:
On 19/06/2017 18:13, Kern Sibbald wrote:
Hello Gary,

OK, I have now pushed another fix, which I am pretty confident will fix your build problem on Solaris 10 without breaking any other architecture.  Please pull the latest version of Bacula from the git repo.  It is version 7.9.6 19 June 2017.   As previously mentioned, you will need to do a proper ./configure prior to the make.

I would appreciate it if you would let me know if it works "out of the box" now.

Thanks for reporting this and for giving me rapid feedback.

Hi Kern,

I cannot see 'Release-7.9.6' in the git repository, or else I am doing something wrong.


        Cheers,
                Gary    B-)

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


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
In reply to this post by Gary R. Schmidt-3
You need to checkout Branch-7.9.  The code you need is at the HEAD of
that branch and there is as of this moment no specific tag setup for it.

The easiest is to clone the repository then checkout Branch-7.9.

Best regards,

Kern


On 06/19/2017 01:14 PM, Gary R. Schmidt wrote:

> On 19/06/2017 18:13, Kern Sibbald wrote:
>> Hello Gary,
>>
>> OK, I have now pushed another fix, which I am pretty confident will
>> fix your build problem on Solaris 10 without breaking any other
>> architecture.  Please pull the latest version of Bacula from the git
>> repo.  It is version 7.9.6 19 June 2017.   As previously mentioned,
>> you will need to do a proper ./configure prior to the make.
>>
>> I would appreciate it if you would let me know if it works "out of
>> the box" now.
>>
>> Thanks for reporting this and for giving me rapid feedback.
>>
> Hi Kern,
>
> I cannot see 'Release-7.9.6' in the git repository, or else I am doing
> something wrong.
>
>     Cheers,
>         Gary    B-)
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Gary R. Schmidt-3
Hi Kern,

On 19/06/2017 22:48, Kern Sibbald wrote:
> You need to checkout Branch-7.9.  The code you need is at the HEAD of
> that branch and there is as of this moment no specific tag setup for it.
>
> The easiest is to clone the repository then checkout Branch-7.9.
>
Thanks for that, I got it out eventually, but I can't get at the S10
system at the moment, that doesn't matter, I have an S11 box right in
front of me...

Your fix doesn't work on Solaris 11.  Nor will it work on Solaris 5.2.1,
6, 7, 8, or 9.

And the code is invalid on HP-UX and AIX unless you use GCC to compile.

Just get rid of the push/pop thing entirely, and surround the code with
pack(1) ... pack() as I did in my original fix.  Just because someone
gives you a tool-kit that includes a hammer, you don't have to use it.
(My google-fu is weak, as far as I can tell pragma push/pop fot pack()
is CLANG/VC++/some magic 6502 compiler specific.)

        Cheers,
                Gary B-)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald


On 06/19/2017 03:23 PM, Gary R. Schmidt wrote:

> Hi Kern,
>
> On 19/06/2017 22:48, Kern Sibbald wrote:
>> You need to checkout Branch-7.9.  The code you need is at the HEAD of
>> that branch and there is as of this moment no specific tag setup for it.
>>
>> The easiest is to clone the repository then checkout Branch-7.9.
>>
> Thanks for that, I got it out eventually, but I can't get at the S10
> system at the moment, that doesn't matter, I have an S11 box right in
> front of me...

>
> Your fix doesn't work on Solaris 11.  Nor will it work on Solaris
> 5.2.1, 6, 7, 8, or 9.
Well that is a big surprise because I implemented the change to work
only on Solaris 10 (i.e 5.10).
>
> And the code is invalid on HP-UX and AIX unless you use GCC to compile.
That is possible.  Not many people know how to write portable code these
days :-(
>
> Just get rid of the push/pop thing entirely, and surround the code
> with pack(1) ... pack() as I did in my original fix.  Just because
> someone gives you a tool-kit that includes a hammer, you don't have to
> use it. (My google-fu is weak, as far as I can tell pragma push/pop
> fot pack() is CLANG/VC++/some magic 6502 compiler specific.)
I did get rid of the push/pop thing entirely and used pack(1) and pack()
exactly as you did, but only for Solaris 10.  Otherwise, I risk to
introduce new problems and I do not have the systems to test it on.

Are you sure you have the Bacula version that logs on as 7.9.6 also is
in <bacula>/src/version.h ?

At this point, I am quite sure (not 100%) that I duplicated what you
did, so if it doesn't work, either you are not running on a Solaris 5.10
or there is some other subtly
that I am missing.

One last attempt:

In your src/config.h file you should have something that looks like:

#define HAVE_SOLARIS10 1

If it is not there then simply add it to the file and try compiling again.

Best regards,
Kern

>
>     Cheers,
>         Gary    B-)
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Gary R. Schmidt-3
On 20/06/2017 00:46, Kern Sibbald wrote:

>
>
> On 06/19/2017 03:23 PM, Gary R. Schmidt wrote:
>> Hi Kern,
>>
>> On 19/06/2017 22:48, Kern Sibbald wrote:
>>> You need to checkout Branch-7.9.  The code you need is at the HEAD of
>>> that branch and there is as of this moment no specific tag setup for it.
>>>
>>> The easiest is to clone the repository then checkout Branch-7.9.
>>>
>> Thanks for that, I got it out eventually, but I can't get at the S10
>> system at the moment, that doesn't matter, I have an S11 box right in
>> front of me...
>
>>
>> Your fix doesn't work on Solaris 11.  Nor will it work on Solaris
>> 5.2.1, 6, 7, 8, or 9.
> Well that is a big surprise because I implemented the change to work
> only on Solaris 10 (i.e 5.10).
>>
>> And the code is invalid on HP-UX and AIX unless you use GCC to compile.
> That is possible.  Not many people know how to write portable code these
> days :-(
I've spent more than three decades being paid to write portable C (and
Pascal and other) code, but mainly C, so please just apply this fix, it
is correct, portable, readable, and maintainable.

It will work on any C or C++ compiler that supports the pack() pragma
and #if defined(), so that's pretty much anything in use for the past
twenty-five or more years.  I'd say forty, but I can't recall pragmas
from the original K&R compiler (or the Portable C Compiler or VAX-C or
Greenhills or ...).

The corrected code is below, as are "diff -c" and "diff -u" output, and
the entire file is attached as well.

I will submit this fix to the lz4 maintainer.

Remove the setting of "HAVE_SOLARIS10" it is pointless.

Make the dodgy part of lz4.c look like this:
=======================================================================
#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
#  pragma pack(1)
#endif

typedef struct _U16_S { U16 v; } U16_S;
typedef struct _U32_S { U32 v; } U32_S;
typedef struct _U64_S { U64 v; } U64_S;

#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
#  pragma pack()
#endif
=======================================================================
It is so much neater and more legible that what was there, and for extra
points replace "#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)" with "#ifndef
LZ4_FORCE_UNALIGNED_ACCESS" as well.

diff -c:
=======================================================================
$ diff -c lz4.c.worse lz4.c
*** lz4.c.worse Tue Jun 20 12:42:47 2017
--- lz4.c       Tue Jun 20 12:43:56 2017
***************
*** 167,192 ****
     typedef unsigned long long  U64;
   #endif

! #if defined(__GNUC__)  && !defined(LZ4_FORCE_UNALIGNED_ACCESS)
! #  define _PACKED __attribute__ ((packed))
! #else
! #  define _PACKED
! #endif
!
! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
defined(HAVE_SOLARIS10)
   #  pragma pack(1)
- #elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
- #  pragma pack(push, 1)
   #endif

! typedef struct _U16_S { U16 v; } _PACKED U16_S;
! typedef struct _U32_S { U32 v; } _PACKED U32_S;
! typedef struct _U64_S { U64 v; } _PACKED U64_S;

! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
defined(HAVE_SOLARIS10)
   #  pragma pack()
- #elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
- #  pragma pack(pop)
   #endif

   #define A64(x) (((U64_S *)(x))->v)
--- 167,182 ----
     typedef unsigned long long  U64;
   #endif

! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
   #  pragma pack(1)
   #endif

! typedef struct _U16_S { U16 v; } U16_S;
! typedef struct _U32_S { U32 v; } U32_S;
! typedef struct _U64_S { U64 v; } U64_S;

! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
   #  pragma pack()
   #endif

   #define A64(x) (((U64_S *)(x))->v)
=======================================================================

diff -u:
=======================================================================
paranoia ~/src/bacula/bacula/src/lib $ diff -u lz4.c.worse lz4.c
--- lz4.c.worse Tue Jun 20 12:42:47 2017
+++ lz4.c       Tue Jun 20 12:43:56 2017
@@ -167,26 +167,16 @@
    typedef unsigned long long  U64;
  #endif

-#if defined(__GNUC__)  && !defined(LZ4_FORCE_UNALIGNED_ACCESS)
-#  define _PACKED __attribute__ ((packed))
-#else
-#  define _PACKED
-#endif
-
-#if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
defined(HAVE_SOLARIS10)
+#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
  #  pragma pack(1)
-#elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
-#  pragma pack(push, 1)
  #endif

-typedef struct _U16_S { U16 v; } _PACKED U16_S;
-typedef struct _U32_S { U32 v; } _PACKED U32_S;
-typedef struct _U64_S { U64 v; } _PACKED U64_S;
+typedef struct _U16_S { U16 v; } U16_S;
+typedef struct _U32_S { U32 v; } U32_S;
+typedef struct _U64_S { U64 v; } U64_S;

-#if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
defined(HAVE_SOLARIS10)
+#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
  #  pragma pack()
-#elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
-#  pragma pack(pop)
  #endif

  #define A64(x) (((U64_S *)(x))->v)
=======================================================================

And I have attached the file as well.

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

lz4.c (32K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula BETA Release 7.9.4

Kern Sibbald
Hello Gary,

OK, thanks for the fast feedback. It looks like you have supplied a fix
that is  more than just a hammer fix.  Your new file certainly looks
cleaner. I will test it, and if it works here on Ubuntu 16.04 and
cross-compiled Windows, I will release it.

Thanks,
Kern

On 06/20/2017 05:01 AM, Gary R. Schmidt wrote:

> On 20/06/2017 00:46, Kern Sibbald wrote:
>>
>>
>> On 06/19/2017 03:23 PM, Gary R. Schmidt wrote:
>>> Hi Kern,
>>>
>>> On 19/06/2017 22:48, Kern Sibbald wrote:
>>>> You need to checkout Branch-7.9.  The code you need is at the HEAD
>>>> of that branch and there is as of this moment no specific tag setup
>>>> for it.
>>>>
>>>> The easiest is to clone the repository then checkout Branch-7.9.
>>>>
>>> Thanks for that, I got it out eventually, but I can't get at the S10
>>> system at the moment, that doesn't matter, I have an S11 box right
>>> in front of me...
>>
>>>
>>> Your fix doesn't work on Solaris 11.  Nor will it work on Solaris
>>> 5.2.1, 6, 7, 8, or 9.
>> Well that is a big surprise because I implemented the change to work
>> only on Solaris 10 (i.e 5.10).
>>>
>>> And the code is invalid on HP-UX and AIX unless you use GCC to compile.
>> That is possible.  Not many people know how to write portable code
>> these days :-(
>
> I've spent more than three decades being paid to write portable C (and
> Pascal and other) code, but mainly C, so please just apply this fix,
> it is correct, portable, readable, and maintainable.
>
> It will work on any C or C++ compiler that supports the pack() pragma
> and #if defined(), so that's pretty much anything in use for the past
> twenty-five or more years.  I'd say forty, but I can't recall pragmas
> from the original K&R compiler (or the Portable C Compiler or VAX-C or
> Greenhills or ...).
>
> The corrected code is below, as are "diff -c" and "diff -u" output,
> and the entire file is attached as well.
>
> I will submit this fix to the lz4 maintainer.
>
> Remove the setting of "HAVE_SOLARIS10" it is pointless.
>
> Make the dodgy part of lz4.c look like this:
> =======================================================================
> #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
> #  pragma pack(1)
> #endif
>
> typedef struct _U16_S { U16 v; } U16_S;
> typedef struct _U32_S { U32 v; } U32_S;
> typedef struct _U64_S { U64 v; } U64_S;
>
> #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
> #  pragma pack()
> #endif
> =======================================================================
> It is so much neater and more legible that what was there, and for
> extra points replace "#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)" with
> "#ifndef LZ4_FORCE_UNALIGNED_ACCESS" as well.
>
> diff -c:
> =======================================================================
> $ diff -c lz4.c.worse lz4.c
> *** lz4.c.worse Tue Jun 20 12:42:47 2017
> --- lz4.c       Tue Jun 20 12:43:56 2017
> ***************
> *** 167,192 ****
>     typedef unsigned long long  U64;
>   #endif
>
> ! #if defined(__GNUC__)  && !defined(LZ4_FORCE_UNALIGNED_ACCESS)
> ! #  define _PACKED __attribute__ ((packed))
> ! #else
> ! #  define _PACKED
> ! #endif
> !
> ! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
> defined(HAVE_SOLARIS10)
>   #  pragma pack(1)
> - #elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> - #  pragma pack(push, 1)
>   #endif
>
> ! typedef struct _U16_S { U16 v; } _PACKED U16_S;
> ! typedef struct _U32_S { U32 v; } _PACKED U32_S;
> ! typedef struct _U64_S { U64 v; } _PACKED U64_S;
>
> ! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
> defined(HAVE_SOLARIS10)
>   #  pragma pack()
> - #elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> - #  pragma pack(pop)
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> --- 167,182 ----
>     typedef unsigned long long  U64;
>   #endif
>
> ! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
>   #  pragma pack(1)
>   #endif
>
> ! typedef struct _U16_S { U16 v; } U16_S;
> ! typedef struct _U32_S { U32 v; } U32_S;
> ! typedef struct _U64_S { U64 v; } U64_S;
>
> ! #if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
>   #  pragma pack()
>   #endif
>
>   #define A64(x) (((U64_S *)(x))->v)
> =======================================================================
>
> diff -u:
> =======================================================================
> paranoia ~/src/bacula/bacula/src/lib $ diff -u lz4.c.worse lz4.c
> --- lz4.c.worse Tue Jun 20 12:42:47 2017
> +++ lz4.c       Tue Jun 20 12:43:56 2017
> @@ -167,26 +167,16 @@
>    typedef unsigned long long  U64;
>  #endif
>
> -#if defined(__GNUC__)  && !defined(LZ4_FORCE_UNALIGNED_ACCESS)
> -#  define _PACKED __attribute__ ((packed))
> -#else
> -#  define _PACKED
> -#endif
> -
> -#if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
> defined(HAVE_SOLARIS10)
> +#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
>  #  pragma pack(1)
> -#elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(push, 1)
>  #endif
>
> -typedef struct _U16_S { U16 v; } _PACKED U16_S;
> -typedef struct _U32_S { U32 v; } _PACKED U32_S;
> -typedef struct _U64_S { U64 v; } _PACKED U64_S;
> +typedef struct _U16_S { U16 v; } U16_S;
> +typedef struct _U32_S { U32 v; } U32_S;
> +typedef struct _U64_S { U64 v; } U64_S;
>
> -#if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__) &&
> defined(HAVE_SOLARIS10)
> +#if !defined(LZ4_FORCE_UNALIGNED_ACCESS)
>  #  pragma pack()
> -#elif !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
> -#  pragma pack(pop)
>  #endif
>
>  #define A64(x) (((U64_S *)(x))->v)
> =======================================================================
>
> And I have attached the file as well.


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