> On Aug 29, 2018, at 2:08 PM, Dan Langille <d...@langille.org> wrote:
> 
>> On Aug 28, 2018, at 8:51 AM, Radosław Korzeniewski 
>> <rados...@korzeniewski.net> wrote:
>> 
>> Hello,
>> 
>> wt., 28 sie 2018 o 14:42 Dan Langille <d...@langille.org> napisał(a):
>> The comment in the patch is not accurate: "not defined on BSD systems" 
>> because this is not always true.
>> 
>> Sorry about that. I'm not a *BSD expert, I wrote my understanding of the 
>> problem.
>> 
>> 
>> It appears to be a special circumstance as indicated by my initial queries 
>> here: 
>> https://lists.freebsd.org/pipermail/freebsd-ports/2018-August/114171.html
>> 
>> From the above URL:
>> 
>> "I'd say it's libc++ missing its errno.h having ENODATA defined if the 
>> following is true:
>> 
>> - both builds are using clang++
>> - both builds are using libc++
>> 
>> That header defining ENODATA exists in 11.2 and doesn't exist in 10.4 
>> (contrib/libc++/include/errno.h)."
>> 
>> On a FreeBSD 11 box, I get this value:
>> 
>> $ grep ENODATA /usr/src/contrib/libc++/include/errno.h
>> #ifndef ENODATA
>> #define ENODATA 9919
>> 
>> Whereas:
>> $ grep EPIPE /usr/include/c++/v1/errno.h
>> #ifndef EPIPE
>> #define EPIPE 9950\
>> 
>> On FreeBSD 10.4, we see:
>> 
>> $ grep EPIPE *
>> errno.h:#define EPIPE           32              /* Broken pipe */
>> 
>> I do not know the implications of using a different value here. Can you 
>> advise here please?
>> 
>> Well, the fix to this problem is the solution existed in Bacula for a very 
>> long time. I just placed it in one file (bsockcore.c) but forget to add it 
>> to other one (bsock.c). I'm not sure who was an original author for this 
>> fix, I have to check a git log.
>> 
>> I am still working on finding a better solution.
>> 
>> Great! Thank you.
> 
> I got a reply back from the FreeBSD ports mailing list.  I do not yet see 
> that in the mailing list archives, so I will copy/paste it here.
> 
> The patch has been uploaded to: 
> https://gist.github.com/dlangille/2f59782e4b2ed3bb15922932be8aa0c3
> 
> Does this suggestion make more sense than: 
> http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-9.2&id=eea817f035d32221ab46d1a4f95193cd4d6dbda7
> 
> Thank you.
> 
> ###
> 
> You can patch the port for now and submit it upstream. Looks like they
> had ENODATA defined as EPIPE and missed it when they refactored:
> http://www.bacula.org/git/cgit.cgi/bacula/commit/bacula/src/lib/bsock.c?h=Release-9.2.1&id=c3c124adbe784a55bb31c66401630b2d22768baf.
> Now that code is in:
> http://www.bacula.org/git/cgit.cgi/bacula/tree/bacula/src/lib/bsockcore.c?h=Release-9.2.1#n44,
> but it needs to be in both files.
> I think it would make more sense to factor it out to src/baconfig.h.
> That way, they could remove the #if block from bsockcore.c. I've
> attached a patch and put it in plain text below in case it gets
> scrubbed.
> 
> Cheers,
> Jason
> 
> Index: sysutils/bacula9-server/files/patch-src_baconfig.h
> ===================================================================
> --- sysutils/bacula9-server/files/patch-src_baconfig.h  (nonexistent)
> +++ sysutils/bacula9-server/files/patch-src_baconfig.h  (working copy)

Sorry, this is probably confusing.

This is a patch for the FreeBSD ports tree.  It creates a patch file to be 
applied against src/baconfig.h
 

> @@ -0,0 +1,13 @@
> +--- src/baconfig.h.orig        2018-08-29 14:09:36 UTC
> ++++ src/baconfig.h
> +@@ -38,6 +38,10 @@
> + #define have_tls 0
> + #endif
> +
> ++#ifndef ENODATA
> ++#define ENODATA EPIPE
> ++#endif
> ++
> + #ifndef ETIME
> + #define ETIME ETIMEDOUT
> + #endif
> 
> Property changes on: sysutils/bacula9-server/files/patch-src_baconfig.h
> ___________________________________________________________________
> Added: fbsd:nokeywords
> ## -0,0 +1 ##
> +yes
> \ No newline at end of property
> Added: svn:eol-style
> ## -0,0 +1 ##
> +native
> \ No newline at end of property
> Added: svn:mime-type
> ## -0,0 +1 ##
> +text/plain
> \ No newline at end of property
> ------------------------------------------------------------------------------
> 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
> Bacula-devel@lists.sourceforge.net
> 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
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to