This is what I got when I followed install instructions for libtaskotron: https://bitbucket.org/fedoraqa/libtaskotron
(env_taskotron) kparal@medusa ~/devel/taskotron/libtaskotron (develop) $ pip install -r requirements.txt Downloading/unpacking PyYAML==3.10 (from -r requirements.txt (line 1)) Downloading PyYAML-3.10.tar.gz (241kB): 241kB downloaded Running setup.py egg_info for package PyYAML Downloading/unpacking dingus==0.3.4 (from -r requirements.txt (line 2)) Downloading dingus-0.3.4.tar.gz Running setup.py egg_info for package dingus Downloading/unpacking py==1.4.18 (from -r requirements.txt (line 3)) Downloading py-1.4.18.tar.gz (190kB): 190kB downloaded Running setup.py egg_info for package py Downloading/unpacking pyaml==13.07.1 (from -r requirements.txt (line 4)) Downloading pyaml-13.07.1.tar.gz Running setup.py egg_info for package pyaml Downloading/unpacking pycurl==7.19.0.2 (from -r requirements.txt (line 5)) Downloading pycurl-7.19.0.2.tar.gz (89kB): 89kB downloaded Running setup.py egg_info for package pycurl sh: curl-config: command not found Traceback (most recent call last): File "<string>", line 16, in <module> File "/home/kparal/devel/taskotron/env_taskotron/build/pycurl/setup.py", line 90, in <module> raise Exception("`%s' not found -- please install the libcurl development files or specify --curl-config=/path/to/curl-config" % CURL_CONFIG) Exception: `curl-config' not found -- please install the libcurl development files or specify --curl-config=/path/to/curl-config Complete output from command python setup.py egg_info: sh: curl-config: command not found Traceback (most recent call last): File "<string>", line 16, in <module> File "/home/kparal/devel/taskotron/env_taskotron/build/pycurl/setup.py", line 90, in <module> raise Exception("`%s' not found -- please install the libcurl development files or specify --curl-config=/path/to/curl-config" % CURL_CONFIG) Exception: `curl-config' not found -- please install the libcurl development files or specify --curl-config=/path/to/curl-config ---------------------------------------- Cleaning up... Command python setup.py egg_info failed with error code 1 in /home/kparal/devel/taskotron/env_taskotron/build/pycurl Storing complete log in /home/kparal/.pip/pip.log
After I have installed libcurl-devel package, the problem disappeared. Either we should mention this dependency in the README, or maybe it can also be downloaded through pip somehow?
libcurl-devel
This ticket had assigned some Differential requests: D2
Additionally, gcc needs to be installed as well:
$ pip install -r requirements.txt Downloading/unpacking PyYAML==3.10 (from -r requirements.txt (line 1)) Downloading PyYAML-3.10.tar.gz (241kB): 241kB downloaded Running setup.py egg_info for package PyYAML Downloading/unpacking dingus==0.3.4 (from -r requirements.txt (line 2)) Downloading dingus-0.3.4.tar.gz Running setup.py egg_info for package dingus Downloading/unpacking py==1.4.18 (from -r requirements.txt (line 3)) Downloading py-1.4.18.tar.gz (190kB): 190kB downloaded Running setup.py egg_info for package py Downloading/unpacking pyaml==13.07.1 (from -r requirements.txt (line 4)) Downloading pyaml-13.07.1.tar.gz Running setup.py egg_info for package pyaml Downloading/unpacking pycurl==7.19.0.2 (from -r requirements.txt (line 5)) Downloading pycurl-7.19.0.2.tar.gz (89kB): 89kB downloaded Running setup.py egg_info for package pycurl Using curl-config (libcurl 7.32.0) Downloading/unpacking pytest==2.4.2 (from -r requirements.txt (line 6)) Downloading pytest-2.4.2.tar.gz (553kB): 553kB downloaded Running setup.py egg_info for package pytest Installing collected packages: PyYAML, dingus, py, pyaml, pycurl, pytest Running setup.py install for PyYAML checking if libyaml is compilable gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o unable to execute gcc: No such file or directory libyaml is not found or a compiler error: forcing --without-libyaml (if libyaml is installed correctly, you may need to specify the option --include-dirs or uncomment and modify the parameter include_dirs in setup.cfg) Running setup.py install for dingus Running setup.py install for py Running setup.py install for pyaml Running setup.py install for pycurl Using curl-config (libcurl 7.32.0) building 'pycurl' extension gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/pycurl.c -o build/temp.linux-x86_64-2.7/src/pycurl.o unable to execute gcc: No such file or directory error: command 'gcc' failed with exit status 1 Complete output from command /home/kparal/devel/taskotron/env_taskotron/bin/python -c "import setuptools;__file__='/home/kparal/devel/taskotron/env_taskotron/build/pycurl/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-KFxFOC-record/install-record.txt --single-version-externally-managed --install-headers /home/kparal/devel/taskotron/env_taskotron/include/site/python2.7: Using curl-config (libcurl 7.32.0) running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/curl copying python/curl/__init__.py -> build/lib.linux-x86_64-2.7/curl running build_ext building 'pycurl' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/pycurl.c -o build/temp.linux-x86_64-2.7/src/pycurl.o unable to execute gcc: No such file or directory error: command 'gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Command /home/kparal/devel/taskotron/env_taskotron/bin/python -c "import setuptools;__file__='/home/kparal/devel/taskotron/env_taskotron/build/pycurl/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-KFxFOC-record/install-record.txt --single-version-externally-managed --install-headers /home/kparal/devel/taskotron/env_taskotron/include/site/python2.7 failed with error code 1 in /home/kparal/devel/taskotron/env_taskotron/build/pycurl Storing complete log in /home/kparal/.pip/pip.log
I guess we should mention it as well. Should we have a free-form README or a spec file?
The problem seems to be that pip is not capable of compiling pycurl in a way that works with fedora's openssl and nss. I mentioned this in D2 but I've had better luck removing pycurl from requirements.txt and installing pycurl via
ln -s /usr/lib64/python2.7/site-packages/pycurl* .
into the virtualenv's site-packages, similar to how koji is 'installed'.
Once the pycurl issue is fixed, #75 becomes a non-issue.
The underlying difficulty in these tasks are why I think they're high priority. However, fixing the documentation for a snag-less installation would mitigate the high priority issues here and once that's taken care of, they can either be closed or lowered in priority
Fixed in D2, let's use system pycurl package.
Login to comment on this ticket.