Thanks very much! I added it as a dependency to the easyconfig, since we use 
GCC here. Now on to other modules (and R).

Do you guys have an idea of how big/small the easybuild user base is? Double 
figures, triple? Just curious.

Todd

From: Kenneth Hoste <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Thursday, February 13, 2014 at 6:45 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: [easybuild] trouble with python modules and R packages built as 
extensions

Hi Todd,

OK, after some digging around, we figured out that the problem is not
with your system Python, but with the one EasyBuild is building.

The reason we've missed this so far is because we usually have
openssl-dev installed system-wide, so our EB Python builds do have SSL
support.

We can fix things such that EasyBuild will always built an SSL-enabled
Python, but it gets tricky for a couple of reasons.

First of all: telling the Python build system to use an OpenSSL lib in a
non-standard location is tricky, but not impossible. Petar opened a PR
with a rather hackish solution, I figured out that there's a (slightly)
better approach, see
https://github.com/hpcugent/easybuild-easyblocks/pull/359 . This works.

Next up is specifying OpenSSL as a dependency in the Python easyconfig.
No biggy, except that building OpenSSL with the Intel compilers (the
ictce toolchain) is a problem (the OpenSSL tests fail, which is not a
good sign).

One way around that problem is to simply link against an OpenSSL library
that was built with the system compilers (i.e. using a dummy-dummy
toolchain). It's dirty, but that's what also happens when you rely on
the OpenSSL lib provided by the OS.
See https://github.com/hpcugent/easybuild-easyconfigs/pull/703 for the
PR that adds the OpenSSL deps in the Python easyconfigs.

This probably needs a little bit more love (i.e. make sure that the SSL
support effectively works when OpenSSL is listed as a dependency), but
this should resolve the problem you've been seeing.

We're doing what we can to get these fixes included in EasyBuild v1.11,
but that's already running late, so no promises there.

regards,

Kenneth

On 12/02/14 15:46, Heywood, Todd wrote:
First, in reply to Jens, the _ssl module is installed; shows up under 
“help(‘modules’)”, and:

heywood@bnbmgmt2:~$ python
Python 2.7.2 (default, Jun 14 2012, 09:57:05)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import _ssl

And that show the older Python that is part of our “base” install. I am using 
easy build for extra, optional, or more up to date installs of specific things 
with specific dependencies differing from our base (toolchains are a good 
concept in this scenario). Like Python-2.7.5 and 3, and R-3.

I ran this: "eb -fd -r $EBCONFIGS ./Python-2.7.5-goalf-1.5.12-no-OFED.eb “, 
where the last 2 extensions are:

      ('distribute', '0.6.28', {
          'source_urls': 
['https://pypi.python.org/packages/source/d/distribute/'],
      }),
      ('matplotlib', '1.3.1', {
          'source_urls': 
['https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.1/'],
      }),

Got this, running with the debug option:

heywood@bnbmgmt2:/sonas-hs/it/hpc/home/eb/ebfiles/configs/cshl$ eb -fd -r 
$EBCONFIGS ./Python-2.7.5-goalf-1.5.12-no-OFED.eb
== temporary log file in case of crash 
/tmp/easybuild-SMsBQ5/easybuild-tDl804.log
== resolving dependencies ...
== processing EasyBuild easyconfig 
/sonas-hs/it/hpc/home/eb/ebfiles/configs/cshl/Python-2.7.5-goalf-1.5.12-no-OFED.eb
== building and installing Python/2.7.5-goalf-1.5.12-no-OFED...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
ERROR: EasyBuild encountered an exception (at 
easybuild/software/EasyBuild/1.10.0/lib/python2.7/site-packages/easybuild_framework-1.10.0-py2.7.egg/easybuild/main.py:809
 in build_and_install_software): autoBuild Failed (last 300 chars): 
D/lib/python2.7/urllib2.py", line 382, in _call_chain
      result = func(*args)
    File 
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.py", 
line 1247, in unknown_open
      raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: https>

heywood@bnbmgmt2:/sonas-hs/it/hpc/home/eb/ebfiles/configs/cshl$


Log file attached.


Thanks,

Todd

From: Stijn De Weirdt 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]><mailto:[email protected]>"
 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Date: Wednesday, February 12, 2014 at 3:12 AM
To: 
"[email protected]<mailto:[email protected]><mailto:[email protected]>"
 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Subject: Re: [easybuild] trouble with python modules and R packages built as 
extensions

hi todd,

this:
urllib2.URLError: <urlopen error unknown url type: https>
what python version is EB using to run? (if it is an OS provided one,
can you add the full package version/) and can you produce a debug run
and send us the output?

stijn


On 02/11/2014 06:37 PM, Heywood, Todd wrote:
First, thanks for help on the earlier issue of module unloading, so that I
can give you guys another issue :-).

I am trying to build new versions of Python and R, and have long lists of
required modules and packages. I¹m adding lines under the exts_list
section of .eb files.

I often get crashes due to "unknown url type² errors, which I think come
from modules/packages trying to go find moudles/packages they depend on,
and download them. I have been able to get by some by finding exact URL¹s
and versions for dependencies and putting lines in the exts_list for these
before the module/package in question. However, this is not working for
one Python module I¹m trying to install now, and I figure I should ask
about the real issue here instead of just trying to work around it.

So, trying to install the matplotlib Python module with (eb ‹robot) with
this:

('matplotlib', '1.3.1', {
            'source_urls':
['https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotli
b-1.3.1/'],
        }),

The output, and log file excerpt are below. Matplotlib is apparently
trying to download the ³distribute² dependency module. So I put this line
above the matplotlib line:

('distribute', '0.6.28', {
'source_urls': ['https://pypi.python.org/packages/source/d/distribute/'],
}),


But the eaasybuild install still crashes with the same error.

Output from build:

== taking care of extensions...
ERROR: EasyBuild encountered an exception (at
easybuild/software/EasyBuild/1.10.0/lib/python2.7/site-packages/easybuild_f
ramework-1.10.0-py2.7.egg/easybuild/main.py:809 in
build_and_install_software): autoBuild Failed (last 300 chars):
D/lib/python2.7/urllib2.py", line 382, in _call_chain
        result = func(*args)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 1247, in unknown_open
        raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: https>



    From the log file:

== 2014-02-11 11:35:44,089 main.filetools ERROR EasyBuild crashed with an
error (at
easybuild/software/EasyBuild/1.10.0/lib/python2.7/site-packages/easybuild_f
ramework-1.10.0-py2.7.egg/easybuild/tools/fil\
etools.py:799 in parse_cmd_output): cmd "python setup.py build" exited
with exitcode 1 and output:
Downloading
http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.g
z
Traceback (most recent call last):
      File "setup.py", line 10, in <module>
        use_setuptools()
      File
"/sonas-hs/it/hpc/home/eb/build/Python/2.7.5/goalf-1.5.12-no-OFED.10/matplo
tlib/matplotlib-1.3.1/distribute_setup.py", line 163, in use_setuptools
        return _do_download(version, download_base, to_dir, download_delay)
      File
"/sonas-hs/it/hpc/home/eb/build/Python/2.7.5/goalf-1.5.12-no-OFED.10/matplo
tlib/matplotlib-1.3.1/distribute_setup.py", line 132, in _do_download
        to_dir, download_delay)
      File
"/sonas-hs/it/hpc/home/eb/build/Python/2.7.5/goalf-1.5.12-no-OFED.10/matplo
tlib/matplotlib-1.3.1/distribute_setup.py", line 212, in
download_setuptools
        src = urlopen(url)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 127, in urlopen
        return _opener.open(url, data, timeout)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 410, in open
        response = meth(req, response)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 523, in http_response
        'http', request, response, code, msg, hdrs)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 442, in error
        result = self._call_chain(*args)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 382, in _call_chain
        result = func(*args)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 629, in http_error_302
        return self.parent.open(new, timeout=req.timeout)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 404, in open
        response = self._open(req, data)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 427, in _open
        'unknown_open', req)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 382, in _call_chain
        result = func(*args)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 1247, in unknown_open
        raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: https>

== 2014-02-11 11:35:44,090 main ERROR EasyBuild crashed with an error (at
easybuild/software/EasyBuild/1.10.0/lib/python2.7/site-packages/easybuild_f
ramework-1.10.0-py2.7.egg/easybuild/tools/build_log.py:\
96 in exception): EasyBuild encountered an exception (at
easybuild/software/EasyBuild/1.10.0/lib/python2.7/site-packages/easybuild_f
ramework-1.10.0-py2.7.egg/easybuild/main.py:809 in build_and_install_sof\
tware): autoBuild Failed (last 300 chars): D/lib/python2.7/urllib2.py",
line 382, in _call_chain
        result = func(*args)
      File
"/opt/eb/software/Python/2.7.5-goalf-1.5.12-no-OFED/lib/python2.7/urllib2.p
y", line 1247, in unknown_open
        raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: https>




Any ideas? Both for this specific module, and the fact that ³unknown url
type² is very common?

Thanks,

Todd




Reply via email to