Skip to content
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

Require openspecfun #26

Merged
merged 4 commits into from
Sep 18, 2017
Merged

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Sep 17, 2017

Fixes #24

Changes the recipe to make use of openspecfun. Also as that is the last Fortran dependency, drop gcc as the system toolchain should now be sufficient for building Julia. Trigger a rebuild of the package under build number 4 given these changes.

Also fixes the disconcerting warning: parsing line table prologue at ... should have ended at ... but it ended at ... issue that we have been seeing. Appears this was caused by using the gcc package. Using the system toolchain does not encounter the same issues.

Due to fixing the aforementioned warning and the removal of the Fortran dependency, this should help unblock 0.6.0.

A minor stylistic change that makes it easier to keep all of the
`USE_SYSTEM_*` flags together and extend them without burying them in
the `USE_SYSTEM_*` flags.
This is a dependency of Julia's that is normally built internally.
However it can be built externally and used in the Julia build. In order
to better express Julia's requirements, we break this out and make it an
external dependency of Julia.

For now we pin openspecfun exactly as we are unsure of its compatibility
between versions. Plus we want to make sure it matches what Julia wants
it to be. We can revisit how to pin openspecfun once we know more about
its compatibility.
Neither of these are needed any more as all the compiled code is now C
or C++. Any portions that use Fortran are now broken out as
dependencies. So the regular system toolchain should be sufficient for
building Julia.
As this now has a new dependency, openspecfun, and no longer uses the
gcc package, we need to do a rebuild to get a package built with these
changed dependencies.
@jakirkham jakirkham mentioned this pull request Sep 17, 2017
@@ -6,10 +6,11 @@ export LIBRARY_PATH=${PREFIX}/lib
export CMAKE_PREFIX_PATH=${PREFIX}

make -j 4 prefix=${PREFIX} MARCH=core2 sysconfigdir=${PREFIX}/etc NO_GIT=1 \
LIBBLAS=-lopenblas LIBBLASNAME=libopenblas.so LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas.so \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these really needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe so. They had come from the staged-recipes PR ( conda-forge/staged-recipes#3503 ), but I'm not finding the part in the conversation where these were added. In any event, just changing where they show up here not adding them outright.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@tkelman
Copy link
Member

tkelman commented Sep 18, 2017

the system toolchain should now be sufficient for building Julia

That's a bad idea and I'd advise against it. LLVM and Julia should be built with c++11 capable compilers.

jakirkham added a commit that referenced this pull request Sep 18, 2017
* Move BLAS and LAPACK flags before System flags

A minor stylistic change that makes it easier to keep all of the
`USE_SYSTEM_*` flags together and extend them without burying them in
the `USE_SYSTEM_*` flags.

* Require openspecfun

This is a dependency of Julia's that is normally built internally.
However it can be built externally and used in the Julia build. In order
to better express Julia's requirements, we break this out and make it an
external dependency of Julia.

For now we pin openspecfun exactly as we are unsure of its compatibility
between versions. Plus we want to make sure it matches what Julia wants
it to be. We can revisit how to pin openspecfun once we know more about
its compatibility.

* Drop gcc and libgcc

Neither of these are needed any more as all the compiled code is now C
or C++. Any portions that use Fortran are now broken out as
dependencies. So the regular system toolchain should be sufficient for
building Julia.

* Bump build number to 4

As this now has a new dependency, openspecfun, and no longer uses the
gcc package, we need to do a rebuild to get a package built with these
changed dependencies.

(cherry picked from commit e257c32)
@jakirkham
Copy link
Member Author

We use C++11 supporting compilers on both macOS and Linux.

@tkelman
Copy link
Member

tkelman commented Sep 18, 2017

Is it the devtoolset with its messed up handling of libstdc++? We don't recommend using that, especially not for creating anything you plan on redistributing

@jakirkham
Copy link
Member Author

Are there reported issues that you have encountered with devtoolset and Julia or is this personal preference?

@tkelman
Copy link
Member

tkelman commented Sep 18, 2017

The way it splits its libstdc++ caused problems. Was quite some time ago, would have to look up the exact issues.

@jakirkham
Copy link
Member Author

FWIW tried grepping the Julia tracker and saw mention of such an issue, but didn't find the issue itself. Will keep an eye on it. Though I think right now we are in a better situation than we were having fixed the warnings that were being produced.

Some people at Continuum are working on newer compilers that we will be switching to. This work is nearing its completion FWIK. So I don't think we will be using devtoolset compilers for much longer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants