On 04/03/2014 10:32 PM, Dan Langille wrote:
> On 2014-04-03 02:27 PM, Kern Sibbald wrote:
>> Strange. I build FreeBSD binaries, and I never had to make *any*
>> patches to Bacula to build an run it. I seem to be missing something
>> here. Please don't get me wrong, I am not complaining or anything like
>> that, but I have a hard time understanding what the real problem is
>> other than "printf" doesn't work like echo and what to do about it in
>> a portable way.
>
> I have no explanation as to why I'm encountering this problem, but I
> have a simple test below.
>
>
> I hope what I have here may lead to a solution. I don't have one, but
> I know why the code fails:
>
> To test, I removed the patches for 5.2.12 which change ECHO to echo
> (see my previous post below for an outline of those changes).
>
> After doing a make configure, I run make. These are the errors:
>
> # make
> ===> Building for bacula-server-5.2.12_3
> ==>Entering directory
> /var/ports/root/bacula-server/work/bacula-5.2.12/src
> ==>Entering directory
> /var/ports/root/bacula-server/work/bacula-5.2.12/scripts
> ==>Entering directory
> /var/ports/root/bacula-server/work/bacula-5.2.12/src/cats
> "Makefile", line 518: Need an operator
> make: fatal errors encountered -- cannot continue
> ====== Error in
> /var/ports/root/bacula-server/work/bacula-5.2.12/src/cats ======
> *** [all] Error code 1
> 1 error
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the
> failure to
> the maintainer.
> *** [do-build] Error code 1
>
> Stop in /root/bacula-server.
> *** [build] Error code 1
>
> Stop in /root/bacula-server.
>
> I have copied src/cats/Makefile to
> http://www.langille.org/tmp/src-cats-Makefile.txt so you can view it.
>
> For comparison, this is the file created with the FreeBSD patches for
> echo:
>
> http://www.langille.org/tmp/src-cats-Makefile2.txt
>
> The file sizes?
>
> -rw-r--r-- 1 dan www 72754 Apr 3 19:54 src-cats-Makefile2.txt
> -rw-r--r-- 1 dan www 72757 Apr 3 19:48 src-cats-Makefile.txt
>
>
> Only 3 bytes difference. The error is clear in the diff. A missing
> newline:
>
> $ diff src-cats-Makefile.txt src-cats-Makefile2.txt
> 432c432
> < @$(ECHO) "# DO NOT DELETE: nice dependency list follows" >>
> Makefile
> ---
>> @echo "# DO NOT DELETE: nice dependency list follows" >> Makefile
> 456c456,457
> < # DO NOT DELETE: nice dependency list followsnbvfs.lo: bvfs.c
> ../bacula.h ../config.h /usr/include/stdint.h \
> ---
>> # DO NOT DELETE: nice dependency list follows
>> bvfs.lo: bvfs.c ../bacula.h ../config.h /usr/include/stdint.h \
>
> See that 'n' after 'follows'? That's not supposed to be there. It's
> supposed to be a newline.
>
> Could that be the \n from " ECHO='printf %s\n'" is causing an issue?
Yes, this is exactly where the problem is coming from. What I would
like to know is where does the line:
" ECHO='printf %s\n'"
come from. Hopefully it is not something in Bacula.
Why is ECHO set to anything other than echo or /bin/echo?
Best regards,
Kern
>
>
> Kern, this is the test you can try on your FreeBDS system:
>
> Which let me to this test:
>
> # echo testing
> testing
> # printf testing
> testing#
> #
> #
> # printf %s\n testing
> testingn# printf %s\n, testing
> testingn,#
> # printf "%s\n", testing
> testing
> ,# printf "%s\n" testing
> testing
> #
>
> It seems you have to have "double quotes"
>
> So I tried: ECHO='printf "%s\n"' but that gives:
>
> config.status: creating src/config.h
> config.status: executing libtool commands
> ./config.status: "printf: not found
> config.status: executing default-1 commands
>
>
> leading to:
>
> /var/ports/root/bacula-server/work/bacula-5.2.12/libtool: not found
>
>
> and more
>
>
>
>
> I also tried: ECHO='printf \'%s\n\''
>
>
> But that led to:
>
> checking how to print strings... ./configure: 4: Syntax error: end of
> file unexpected (expecting word)
> ./configure: 6396: Syntax error: Error in command substitution
> ===> Script "configure" failed unexpectedly.
>
>
>
> Does this help?
>
>>
>> Best regards,
>> Kern
>>
>> On 04/03/2014 04:00 PM, Dan Langille wrote:
>> > On 2014-04-03 09:51 AM, Martin Simmons wrote:
>> >> This problem with ECHO affects the main bacula makefiles as well.
>> The
>> >> definition of ECHO comes from libtool.m4, but it will not work in
>> makefiles
>> >> because of the backslash.
>> >>
>> >> I think the makefiles should stop using ECHO, or at least
>> Make.common.in
>> >> should do something like:
>> >>
>> >> ECHO = @MAKEFILEECHO@
>> >>
>> >> where configure can define MAKEFILEECHO correctly.
>> >>
>> >> __Martin
>> >
>> > I'm all for doing something like that.
>> >
>> > FYI, FreeBSD has had these patches for Bacula for years. If we can
>> fix them all, it will simplify the porting process. Each new release,
>> the patches need to be updated.
>> >
>> > [dan@slocum:/usr/ports/sysutils/bacula-server/files] $ grep ECHO
>> patch-src__*
>> > patch-src__cats__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> > patch-src__dird__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> > patch-src__findlib__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> > patch-src__lib__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> > patch-src__stored__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> > patch-src__tools__Makefile.in: $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c
>> $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE)
>> $(CFLAGS) $<
>> > patch-src__tools__Makefile.in:- @$(ECHO) "# DO NOT DELETE: nice
>> dependency list follows" >> Makefile
>> >
>> >
>> >>
>> >>
>> >>
>> >>>>>>> On Wed, 2 Apr 2014 19:19:16 -0400, Dan Langille said:
>> >>>
>> >>> I had local changes for this echo problem. I just did a 'git
>> stash' on my checkout so I could try 7.0.2
>> >>>
>> >>> It fails.
>> >>>
>> >>> I notice that the 5.x code using:
>> >>>
>> >>> @$(ECHO) "# DO NOT DELETE: nice dependency list follows" >>
>> Makefile
>> >>>
>> >>> It works.
>> >>>
>> >>> This makes me think: has configure changed?
>> >>>
>> >>> So I went looking at another regression testing jail. I found
>> this:
>> >>>
>> >>> $ diff configure configure.orig
>> >>> 6056c6056
>> >>> < ECHO='echo'
>> >>> ---
>> >>> > ECHO='printf %sn'
>> >>>
>> >>> I have a local patch. That's why it works here. I'm sure if we
>> search the archives, I reported this same problem back when I first
>> set up my first round of regression testing.
>> >>>
>> >>> Look what I have in my regression test script:
>> >>>
>> >>> # patch the printf / echo problem
>> >>> cd bacula
>> >>> patch -N < ${CONFIG_DIR_SRC}/patch-bacula-printf
>> >>> cd -
>> >>>
>> >>> Here is the patch itself:
>> >>>
>> >>> $ cat patch-bacula-printf
>> >>> --- bacula/configure.orig
>> >>> +++ bacula/configure
>> >>> @@ -6045,7 +6045,7 @@ if test "X`( print -r -- -n ) 2>/dev/null`"
>> = X-n &&
>> >>> test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
>> >>> ECHO='print -r --'
>> >>> elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
>> >>> - ECHO='printf %sn'
>> >>> + ECHO='echo'
>> >>> else
>> >>> # Use this function as a fallback that always works.
>> >>> func_fallback_echo ()
>> >>>
>> >>>
>> >>> And this is the patch I just created for bacula7:
>> >>>
>> >>> $ cat patch-bacula7-printf
>> >>> --- configure~ 2014-04-02 21:55:27.000000000 +0000
>> >>> +++ configure 2014-04-02 23:12:21.022646230 +0000
>> >>> @@ -5977,7 +5977,7 @@
>> >>> test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
>> >>> ECHO='print -r --'
>> >>> elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
>> >>> - ECHO='printf %sn'
>> >>> + ECHO='echo'
>> >>> else
>> >>> # Use this function as a fallback that always works.
>> >>> func_fallback_echo ()
>> >>>
>> >>>
>> >>> That local patch allows the regression testing to proceed
>> unhindered on FreeBSD (9.2 in this particular case). It's running now.
>> >>>
>> >>> On Apr 1, 2014, at 9:27 PM, Dan Langille <[email protected]>
>> wrote:
>> >>>
>> >>> > In addition to my previous post, this just in:
>> http://regress.bacula.org/viewTest.php?onlyfailed&buildid=24144 [1]
>> >>> >
>> >>> > Only disk:tls-test failed this time.
>> >>> >
>> >>> > On Mar 31, 2014, at 11:16 AM, Kern Sibbald <[email protected]>
>> wrote:
>> >>> >
>> >>> >> Hello Dan,
>> >>> >>
>> >>> >> Can you try applying the attached patch to release 7.0.0 and
>> see if it
>> >>> >> fixes the problem with the tls-test? I am not 100% convinced
>> that it
>> >>> >> will, but at least the code is much tighter now and will not
>> store any
>> >>> >> address if it is not either IPv4 or IPv6 and if IPv6 is not
>> configured
>> >>> >> and it resolves an IPv6 address, it will not be used.
>> >>> >>
>> >>> >> Best regards,
>> >>> >> Kern
>> >>> >>
>> >>> >> On 03/31/2014 03:44 PM, Dan Langille wrote:
>> >>> >>> On 2014-03-31 09:01 AM, Dan Langille wrote:
>> >>> >>>> On 2014-03-31 07:36 AM, Kern Sibbald wrote:
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>
>> >>>>>>> Links:
>> >>>>>>> ------
>> >>>>>>> [1] http://regress.bacula.org/buildSummary.php?buildid=24125
>> [2]
>> >>>>>>> [2] https://lists.sourceforge.net/lists/listinfo/bacula-devel
>> [3]
>> >>>>>>> [3] http://www.enigmail.net/ [4]
>> >>> >>
>> >>> >>
>> <ipv6_check.patch>------------------------------------------------------------------------------
>>
>> >>> >> _______________________________________________
>> >>> >> Bacula-devel mailing list
>> >>> >> [email protected]
>> >>> >> https://lists.sourceforge.net/lists/listinfo/bacula-devel [3]
>> >>> >
>> >>> > --
>> >>> > Dan Langille - http://langille.org [5]
>> >>> >
>> >>> >
>> ------------------------------------------------------------------------------
>>
>> >>> > _______________________________________________
>> >>> > Bacula-devel mailing list
>> >>> > [email protected]
>> >>> > https://lists.sourceforge.net/lists/listinfo/bacula-devel [3]
>> >>>
>> >>> --
>> >>> Dan Langille - http://langille.org [5]
>> >>>
>> >>>
>> >
>>
>>
>>
>> Links:
>> ------
>> [1] http://regress.bacula.org/viewTest.php?onlyfailed&buildid=24144
>> [2] http://regress.bacula.org/buildSummary.php?buildid=24125
>> [3] https://lists.sourceforge.net/lists/listinfo/bacula-devel
>> [4] http://www.enigmail.net/
>> [5] http://langille.org
>
------------------------------------------------------------------------------
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel