Re: Boost updated to 1.58.0 in rawhide and f23

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23/07/15 18:50 +0100, Jonathan Wakely wrote:
On 23/07/15 14:27 +0200, David Tardon wrote:
Hi,

On Sat, Jul 18, 2015 at 12:46:51PM +0100, Jonathan Wakely wrote:
Any problems rebuilding either open a bug or feel free to email me or
ping me on IRC (my freenode nick is 'redi') and I'll be happy to help.

This is a work-in-progress list of FTBFS packages:

* Build failures:

- F23 + Rawhide

xs

This seems to be a bug caused by the new std::string in GCC-5, the
error I get is:

initial.cxx:2590:34: error: redefinition of 'const char X_7ffd70a41bb0 []'
static const char X_7ffd70a41bb0[] = "max-eval-depth";
                                ^
initial.cxx:104:19: note: 'const char X_7ffd70a41bb0 [15]' previously defined here
static const char X_7ffd70a41bb0[] = "fn-%background";
                 ^

which is due to this:

  const char *name = str("S_%F", string);
  if (strlen(name) > MAXVARNAME)
    name = str("X_%zulx", (long long) string);
  print("static const char %s[] = ", name);

This assumes that every const char* being printed has a unique
address, which is not a valid assumption, but probably worked with the
Copy-on-Write strings before GCC-5. Or maybe it's a change in
Boost.Foreach that causes it. Either way, the code makes invalid
assumptions.

I'm testing this patch.

The attached patch fixes the xs build for rawhide.


commit 2da49df85234094fa3f9c9dfabd25dcbb2740293
Author: Jonathan Wakely <jwakely@xxxxxxxxxx>
Date:   Thu Jul 23 19:03:32 2015 +0100

    Patch dump.cxx to make foreach loop use references not copies.

diff --git a/xs-dump-cxx.patch b/xs-dump-cxx.patch
new file mode 100644
index 0000000..18cee75
--- /dev/null
+++ b/xs-dump-cxx.patch
@@ -0,0 +1,11 @@
+--- dump.cxx~	2015-07-23 18:48:30.115033012 +0100
++++ dump.cxx	2015-07-23 18:48:31.567038423 +0100
+@@ -263,7 +263,7 @@
+ 	const List *title = runfd(0, "initial.xs", 0);
+ 
+ 	printheader(title);
+-	foreach (Dict::value_type var, vars) dumpvar(var.first.c_str(), var.second);
++	foreach (Dict::value_type& var, vars) dumpvar(var.first.c_str(), var.second);
+ 
+ 	/* these must be assigned in this order, or things just won't work */
+ 	varbuf << "\nstatic const struct { const char *name; List *value; } defs[] = {\n";
diff --git a/xs.spec b/xs.spec
index 6b78840..7e69d5b 100644
--- a/xs.spec
+++ b/xs.spec
@@ -2,7 +2,7 @@
 
 Name:		xs
 Version:	0.1
-Release:	15.git%{githash}%{?dist}
+Release:	16.git%{githash}%{?dist}
 Summary:	Shell supporting functional programming
 
 License:	Public Domain
@@ -10,6 +10,7 @@ URL:		https://github.com/frytvm
 # downloaded from https://github.com/frytvm/XS/tarball/master
 Source0:	frytvm-XS-%{githash}.tar.gz
 Patch0:         xs-automake-1.12-bison-hxx.patch
+Patch1:         xs-dump-cxx.patch
 
 BuildRequires:	automake
 BuildRequires:	bison
@@ -36,6 +37,7 @@ Frederic Koehler.
 # patch for automake-1.12
 %patch0 -p1 -b .orig
 %endif
+%patch1 -p0 -b .orig
 
 
 %build
@@ -59,6 +61,9 @@ make testxs
 
 
 %changelog
+* Thu Jul 23 2015 Jonathan Wakely <jwakely@xxxxxxxxxx> 0.1-16.git
+- Patch dump.cxx to make foreach loop use references not copies.
+
 * Wed Jul 22 2015 David Tardon <dtardon@xxxxxxxxxx> - 0.1-15.git9c19777
 - rebuild for Boost 1.58
 
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux