Bug 2046913 - python-seaborn: FTBFS in Fedora rawhide/f36
Summary: python-seaborn: FTBFS in Fedora rawhide/f36
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-seaborn
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sergio Pascual
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F36FTBFS F37FTBFS F38FTBFS
TreeView+ depends on / blocked
 
Reported: 2022-01-27 09:41 UTC by Fedora Release Engineering
Modified: 2022-08-25 22:41 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-08-25 22:41:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (32.00 KB, text/plain)
2022-01-27 09:41 UTC, Fedora Release Engineering
no flags Details
root.log (32.00 KB, text/plain)
2022-01-27 09:41 UTC, Fedora Release Engineering
no flags Details
state.log (1014 bytes, text/plain)
2022-01-27 09:41 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2022-01-27 09:41:12 UTC
python-seaborn failed to build from source in Fedora rawhide/f36

https://koji.fedoraproject.org/koji/taskinfo?taskID=81985770


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Please fix python-seaborn at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
python-seaborn will be orphaned. Before branching of Fedora 37,
python-seaborn will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2022-01-27 09:41:15 UTC
Created attachment 1856357 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2022-01-27 09:41:16 UTC
Created attachment 1856358 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2022-01-27 09:41:17 UTC
Created attachment 1856359 [details]
state.log

Comment 4 Ben Cotton 2022-02-08 20:35:50 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 5 Ben Beasley 2022-05-08 11:57:04 UTC
=================================== FAILURES ===================================
________________________ TestBoxPlotter.test_axes_data _________________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff2a7618d0>
    def test_axes_data(self):
    
        ax = cat.boxplot(x="g", y="y", data=self.df)
>       assert len(ax.artists) == 3
E       assert 0 == 3
E         +0
E         -3
seaborn/tests/test_categorical.py:775: AssertionError
____________________ TestBoxPlotter.test_draw_missing_boxes ____________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff74158e20>
    def test_draw_missing_boxes(self):
    
        ax = cat.boxplot(x="g", y="y", data=self.df,
                         order=["a", "b", "c", "d"])
>       assert len(ax.artists) == 3
E       assert 0 == 3
E         +0
E         -3
seaborn/tests/test_categorical.py:804: AssertionError
_______________________ TestBoxPlotter.test_missing_data _______________________
self = <seaborn.tests.test_categorical.TestBoxPlotter object at 0xffff2a540700>
    def test_missing_data(self):
    
        x = ["a", "a", "b", "b", "c", "c", "d", "d"]
        h = ["x", "y", "x", "y", "x", "y", "x", "y"]
        y = self.rs.randn(8)
        y[-2:] = np.nan
    
        ax = cat.boxplot(x=x, y=y)
>       assert len(ax.artists) == 3
E       assert 0 == 3
E         +0
E         -3
seaborn/tests/test_categorical.py:814: AssertionError
________________________ TestCatPlot.test_plot_elements ________________________
self = <seaborn.tests.test_categorical.TestCatPlot object at 0xffff748863e0>
    def test_plot_elements(self):
    
        g = cat.catplot(x="g", y="y", data=self.df, kind="point")
        assert len(g.ax.collections) == 1
        want_lines = self.g.unique().size + 1
        assert len(g.ax.lines) == want_lines
    
        g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="point")
        want_collections = self.h.unique().size
        assert len(g.ax.collections) == want_collections
        want_lines = (self.g.unique().size + 1) * self.h.unique().size
        assert len(g.ax.lines) == want_lines
    
        g = cat.catplot(x="g", y="y", data=self.df, kind="bar")
        want_elements = self.g.unique().size
        assert len(g.ax.patches) == want_elements
        assert len(g.ax.lines) == want_elements
    
        g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="bar")
        want_elements = self.g.unique().size * self.h.unique().size
        assert len(g.ax.patches) == want_elements
        assert len(g.ax.lines) == want_elements
    
        g = cat.catplot(x="g", data=self.df, kind="count")
        want_elements = self.g.unique().size
        assert len(g.ax.patches) == want_elements
        assert len(g.ax.lines) == 0
    
        g = cat.catplot(x="g", hue="h", data=self.df, kind="count")
        want_elements = self.g.unique().size * self.h.unique().size
        assert len(g.ax.patches) == want_elements
        assert len(g.ax.lines) == 0
    
        g = cat.catplot(x="g", y="y", data=self.df, kind="box")
        want_artists = self.g.unique().size
>       assert len(g.ax.artists) == want_artists
E       assert 0 == 3
E         +0
E         -3
seaborn/tests/test_categorical.py:2507: AssertionError
______________________ TestKDEPlotUnivariate.test_legend _______________________
self = <seaborn.tests.test_distributions.TestKDEPlotUnivariate object at 0xffff74223fa0>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
    def test_legend(self, long_df):
    
        ax = kdeplot(data=long_df, x="x", hue="a")
    
        assert ax.legend_.get_title().get_text() == "a"
    
        legend_labels = ax.legend_.get_texts()
        order = categorical_order(long_df["a"])
        for label, level in zip(legend_labels, order):
            assert label.get_text() == level
    
        legend_artists = ax.legend_.findobj(mpl.lines.Line2D)[::2]
        palette = color_palette()
        for artist, color in zip(legend_artists, palette):
>           assert artist.get_color() == color
E           assert (0.3333333333...4313725490196) == (0.8666666666...5686274509804)
E             At index 0 diff: 0.3333333333333333 != 0.8666666666666667
E             Full diff:
E             - (0.8666666666666667, 0.5176470588235295, 0.3215686274509804)
E             + (0.3333333333333333, 0.6588235294117647, 0.40784313725490196)
seaborn/tests/test_distributions.py:783: AssertionError
____________________ TestKDEPlotBivariate.test_fill_artists ____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff6fce8700>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
    def test_fill_artists(self, long_df):
    
        for fill in [True, False]:
            f, ax = plt.subplots()
            kdeplot(data=long_df, x="x", y="y", hue="c", fill=fill)
            for c in ax.collections:
                if fill:
                    assert isinstance(c, mpl.collections.PathCollection)
                else:
>                   assert isinstance(c, mpl.collections.LineCollection)
E                   AssertionError: assert False
E                    +  where False = isinstance(<matplotlib.collections.PathCollection object at 0xffff2a86ce80>, <class 'matplotlib.collections.LineCollection'>)
E                    +    where <class 'matplotlib.collections.LineCollection'> = <module 'matplotlib.collections' from '/usr/lib64/python3.10/site-packages/matplotlib/collections.py'>.LineCollection
E                    +      where <module 'matplotlib.collections' from '/usr/lib64/python3.10/site-packages/matplotlib/collections.py'> = mpl.collections
seaborn/tests/test_distributions.py:830: AssertionError
____________________ TestKDEPlotBivariate.test_common_norm _____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2ae16560>
rng = RandomState(MT19937) at 0xFFFF74176D40
    def test_common_norm(self, rng):
    
        hue = np.repeat(["a", "a", "a", "b"], 40)
        x, y = rng.multivariate_normal([0, 0], [(.2, .5), (.5, 2)], len(hue)).T
        x[hue == "a"] -= 2
        x[hue == "b"] += 2
    
        f, (ax1, ax2) = plt.subplots(ncols=2)
        kdeplot(x=x, y=y, hue=hue, common_norm=True, ax=ax1)
        kdeplot(x=x, y=y, hue=hue, common_norm=False, ax=ax2)
    
>       n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
seaborn/tests/test_distributions.py:843: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.0 = <generator object _AxesBase.ArtistList.__iter__ at 0xffff6fc8dd20>
>   n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
E   AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:843: AttributeError
_____________________ TestKDEPlotBivariate.test_log_scale ______________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2ae63700>
rng = RandomState(MT19937) at 0xFFFF74177340
    def test_log_scale(self, rng):
    
        x = rng.lognormal(0, 1, 100)
        y = rng.uniform(0, 1, 100)
    
        levels = .2, .5, 1
    
        f, ax = plt.subplots()
        kdeplot(x=x, y=y, log_scale=True, levels=levels, ax=ax)
        assert ax.get_xscale() == "log"
        assert ax.get_yscale() == "log"
    
        f, (ax1, ax2) = plt.subplots(ncols=2)
        kdeplot(x=x, y=y, log_scale=(10, False), levels=levels, ax=ax1)
        assert ax1.get_xscale() == "log"
        assert ax1.get_yscale() == "linear"
    
        p = _DistributionPlotter()
        kde = KDE()
        density, (xx, yy) = kde(np.log10(x), y)
        levels = p._quantile_to_level(density, levels)
        ax2.contour(10 ** xx, yy, density, levels=levels)
    
        for c1, c2 in zip(ax1.collections, ax2.collections):
>           assert_array_equal(c1.get_segments(), c2.get_segments())
E           AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:871: AttributeError
_____________________ TestKDEPlotBivariate.test_bandwiddth _____________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff745199c0>
rng = RandomState(MT19937) at 0xFFFF74176D40
    def test_bandwiddth(self, rng):
    
        n = 100
        x, y = rng.multivariate_normal([0, 0], [(.2, .5), (.5, 2)], n).T
    
        f, (ax1, ax2) = plt.subplots(ncols=2)
    
        kdeplot(x=x, y=y, ax=ax1)
        kdeplot(x=x, y=y, bw_adjust=2, ax=ax2)
    
        for c1, c2 in zip(ax1.collections, ax2.collections):
>           seg1, seg2 = c1.get_segments(), c2.get_segments()
E           AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:884: AttributeError
______________________ TestKDEPlotBivariate.test_weights _______________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2a4d38e0>
rng = RandomState(MT19937) at 0xFFFF74177640
    @pytest.mark.skipif(
        LooseVersion(scipy.__version__) < "1.2.0",
        reason="Weights require scipy >= 1.2.0"
    )
    def test_weights(self, rng):
    
        import warnings
        warnings.simplefilter("error", np.VisibleDeprecationWarning)
    
        n = 100
        x, y = rng.multivariate_normal([1, 3], [(.2, .5), (.5, 2)], n).T
        hue = np.repeat([0, 1], n // 2)
        weights = rng.uniform(0, 1, n)
    
        f, (ax1, ax2) = plt.subplots(ncols=2)
        kdeplot(x=x, y=y, hue=hue, ax=ax1)
        kdeplot(x=x, y=y, hue=hue, weights=weights, ax=ax2)
    
        for c1, c2 in zip(ax1.collections, ax2.collections):
>           if c1.get_segments() and c2.get_segments():
E           AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:909: AttributeError
__________________ TestKDEPlotBivariate.test_hue_ignores_cmap __________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff2a680b20>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
    def test_hue_ignores_cmap(self, long_df):
    
        with pytest.warns(UserWarning, match="cmap parameter ignored"):
            ax = kdeplot(data=long_df, x="x", y="y", hue="c", cmap="viridis")
    
>       color = tuple(ax.collections[0].get_color().squeeze())
E       AttributeError: 'PathCollection' object has no attribute 'get_color'
seaborn/tests/test_distributions.py:919: AttributeError
________________ TestKDEPlotBivariate.test_contour_line_colors _________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff745937f0>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
    def test_contour_line_colors(self, long_df):
    
        color = (.2, .9, .8, 1)
        ax = kdeplot(data=long_df, x="x", y="y", color=color)
    
        for c in ax.collections:
>           assert tuple(c.get_color().squeeze()) == color
E           AttributeError: 'PathCollection' object has no attribute 'get_color'
seaborn/tests/test_distributions.py:928: AttributeError
_________________ TestKDEPlotBivariate.test_levels_and_thresh __________________
self = <seaborn.tests.test_distributions.TestKDEPlotBivariate object at 0xffff6f8d0490>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
    def test_levels_and_thresh(self, long_df):
    
        f, (ax1, ax2) = plt.subplots(ncols=2)
    
        n = 8
        thresh = .1
        plot_kws = dict(data=long_df, x="x", y="y")
        kdeplot(**plot_kws, levels=n, thresh=thresh, ax=ax1)
        kdeplot(**plot_kws, levels=np.linspace(thresh, 1, n), ax=ax2)
    
        for c1, c2 in zip(ax1.collections, ax2.collections):
>           assert_array_equal(c1.get_segments(), c2.get_segments())
E           AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:960: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs0] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a932260>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
kwargs = {'x': 'x'}
    @pytest.mark.parametrize(
        "kwargs", [
            dict(x="x"),
            dict(x="x", y="y"),
            dict(x="x", hue="a"),
        ]
    )
    def test_with_rug(self, long_df, kwargs):
    
        ax = rugplot(data=long_df, **kwargs)
        g = displot(long_df, rug=True, **kwargs)
>       g.ax.patches = []
E       AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs1] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff746ab220>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
kwargs = {'x': 'x', 'y': 'y'}
    @pytest.mark.parametrize(
        "kwargs", [
            dict(x="x"),
            dict(x="x", y="y"),
            dict(x="x", hue="a"),
        ]
    )
    def test_with_rug(self, long_df, kwargs):
    
        ax = rugplot(data=long_df, **kwargs)
        g = displot(long_df, rug=True, **kwargs)
>       g.ax.patches = []
E       AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
______________________ TestDisPlot.test_with_rug[kwargs2] ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a55d0c0>
long_df =      x         y         z  a  b  c          t  s    f a_cat s_cat s_str
0   12  0.449243  6.611886  b  p  0 2004-01-0...0.3     a     8     8
99  15  0.073484  1.036343  c  p  0 2005-01-01  2  0.3     c     2     2
[100 rows x 12 columns]
kwargs = {'hue': 'a', 'x': 'x'}
    @pytest.mark.parametrize(
        "kwargs", [
            dict(x="x"),
            dict(x="x", y="y"),
            dict(x="x", hue="a"),
        ]
    )
    def test_with_rug(self, long_df, kwargs):
    
        ax = rugplot(data=long_df, **kwargs)
        g = displot(long_df, rug=True, **kwargs)
>       g.ax.patches = []
E       AttributeError: can't set attribute 'patches'
seaborn/tests/test_distributions.py:2042: AttributeError
_____________________ TestDisPlot.test_bivariate_kde_norm ______________________
self = <seaborn.tests.test_distributions.TestDisPlot object at 0xffff2a125ba0>
rng = RandomState(MT19937) at 0xFFFF2A638040
    def test_bivariate_kde_norm(self, rng):
    
        x, y = rng.normal(0, 1, (2, 100))
        z = [0] * 80 + [1] * 20
    
        g = displot(x=x, y=y, col=z, kind="kde", levels=10)
>       l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
seaborn/tests/test_distributions.py:2125: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.0 = <generator object _AxesBase.ArtistList.__iter__ at 0xffff6fc8f7d0>
>   l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
E   AttributeError: 'PathCollection' object has no attribute 'get_segments'
seaborn/tests/test_distributions.py:2125: AttributeError


Note You need to log in before you can comment on or make changes to this bug.