Thanks to visit codestin.com
Credit goes to github.com

Skip to content

re-enable building conda package artifacts on appveyor / fix conda recipe #6460

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
tacaswell opened this issue May 22, 2016 · 8 comments
Closed
Labels
Difficulty: Easy https://matplotlib.org/devdocs/devel/contribute.html#good-first-issues topic: testing

Comments

@tacaswell
Copy link
Member

In #6423 the conda package building was disabled due to libpng related build failures.

The failures are odd given that the build works the python setup.py develop used for running the tests.

See for details #6423 (comment)

@tacaswell tacaswell added the Difficulty: Easy https://matplotlib.org/devdocs/devel/contribute.html#good-first-issues label May 22, 2016
@tacaswell tacaswell added this to the 2.1 (next point release) milestone May 22, 2016
@tacaswell
Copy link
Member Author

@pelson

@jankatins
Copy link
Contributor

jankatins commented May 22, 2016

It seems that due to the way that conda-forge now has a libpng and this lib is differently named, we need a patch: conda-forge/matplotlib-feedstock@410106a#diff-ead893c9f392df956860bfe6a5dae3a8R6

The test run probably work because of https://github.com/matplotlib/matplotlib/blob/master/appveyor.yml#L80 which put the static version into a special dir and renames it.

I'm not sure how to proceed: I find it very unfortunate that the conda-forge and default libpng seem to differ.

@ocefpaf do you have any idea why that is so?

@ocefpaf
Copy link
Contributor

ocefpaf commented May 22, 2016

@ocefpaf do you have any idea why that is so?

The only difference is that we updated libpng. Not sure if there is any actual difference in the build that caused the different naming. I will investigate this more and, if that is something we can avoid, we will!

Pinging @gillins who might help shed some light in the issue.

@jankatins
Copy link
Contributor

jankatins commented May 22, 2016

I can't even install that lib?

c:\data\external\jupyter\jupyter_environment_kernels (conda_windows)
[cf_png] λ conda create -n cf_png2 libpng=1.6.21 -c conda-forge
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ..................
Solving package specifications: ....

The following specifications were found to be in conflict:
  - libpng 1.6.21*
Use "conda info <package>" to see the dependencies for each package.

I compare the vc14 versions of the default channel (.17) and the conda-forge channel (.21):

https://anaconda.org/anaconda/libpng/1.6.17/download/win-64/libpng-1.6.17-vc14_1.tar.bz2
https://anaconda.org/conda-forge/libpng/1.6.21/download/win-64/libpng-1.6.21-vc14_1.tar.bz2

The most interesting thing seems to be that the defaults versions contains an extra file called \Library\lib\png.lib which the conda-forge version does not contain. Both have the \Library\lib\libpng.lib.

It seems that the original recipe simply copies the file:

C:\data\downloads\libpng\win-64-libpng-1.6.17-vc14_1\Library\lib
λ diff libpng.lib  png.lib

C:\data\downloads\libpng\win-64-libpng-1.6.17-vc14_1\Library\lib
λ diff libpng16.lib  png.lib

C:\data\downloads\libpng\win-64-libpng-1.6.17-vc14_1\Library\lib
λ diff libpng16_static.lib  png.lib
Binary files libpng16_static.lib and png.lib differ

@ocefpaf: do you think it would be possible to simply do the same?

@jankatins
Copy link
Contributor

zlib seems to already do the same: https://github.com/conda-forge/zlib-feedstock/blob/master/recipe/bld.bat#L22

@jankatins
Copy link
Contributor

@ocefpaf:will send a PR against libpng-feedstock...

jankatins added a commit to jankatins/libpng-feedstock that referenced this issue May 22, 2016
matplotlib expects the lib under that name, so add it as well. The file is also
in the package from the defaults channel, so this could also be considered a
regression against that version.

See matplotlib/matplotlib#6460 for the discussion on
that topic.
@jankatins
Copy link
Contributor

PR is in conda-forge/libpng-feedstock#4

@tacaswell tacaswell modified the milestones: 2.1 (next point release), 2.2 (next next feature release) Oct 3, 2017
@tacaswell
Copy link
Member Author

This has been fully superseded by conda-forge, closing.

@story645 story645 removed this from the future releases milestone Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty: Easy https://matplotlib.org/devdocs/devel/contribute.html#good-first-issues topic: testing
Projects
None yet
Development

No branches or pull requests

5 participants