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

LDSHARED needs to be [re]defined for packages that use distutils #1136

Closed
damianam opened this issue Mar 15, 2017 · 3 comments
Closed

LDSHARED needs to be [re]defined for packages that use distutils #1136

damianam opened this issue Mar 15, 2017 · 3 comments
Milestone

Comments

@damianam
Copy link
Member

damianam commented Mar 15, 2017

The background of the problem is that when python gets built LDSHARED gets defined in $EBROOTPYTHON/lib/python2.7/_sysconfigdata.py. If it is not overridden, that's the value used. That works fine in most cases. However, when mixing compilers (building Python with GCCcore but pandas with icc), that doesn't work, as the linker is gcc, but using intel flags.

We should consider explicitely setting the following variables in PythonPackage.py:

  • CC (already done)
  • CXX (already done)
  • OPT
  • CFLAGS (already done)
  • CCSHARED
  • LDSHARED
  • SO
  • AR
  • ARFLAGS
@damianam damianam changed the title LDSHARED needs to be [re]defined for packages that use distutils LDSHARED needs to be [re]defined for packages that use distutils Mar 15, 2017
@boegel boegel added this to the 3.2.0 milestone Mar 19, 2017
@boegel
Copy link
Member

boegel commented Mar 19, 2017

@damianam Makes sense, I wasn't aware that these variables are picked up from the 'host' Python...

It definitely makes sense to define these additional environment variables, ideally via prepare_step (i.e. where the toolchain build environment is being set up).

@boegel boegel modified the milestones: 3.2.0, 3.3.0 May 2, 2017
@boegel boegel modified the milestones: 3.3.0, 3.x, 3.4.0 Jun 22, 2017
@boegel boegel modified the milestones: 3.4.0, 3.5.0 Sep 4, 2017
@boegel boegel modified the milestones: 3.5.0, next release Dec 6, 2017
@boegel boegel modified the milestones: 3.5.1, 3.6.0 Jan 12, 2018
@boegel boegel modified the milestones: 3.5.2, 3.x Feb 22, 2018
@marscher
Copy link

python/cpython#7914

@boegel
Copy link
Member

boegel commented Sep 15, 2019

We have an easy way now to fix $LDSHARED via check_ldshared = True in the easyconfig file (cfr. #1455), and we're looking into auto-fixing the value for recent Python versions in EasyBuild v4.0 (see #1788), so closing this...

@boegel boegel closed this as completed Sep 15, 2019
@boegel boegel removed this from the 3.x milestone Sep 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants