Bug 1012348

Summary: after adding pyodbc to setup.py, build fails
Product: OpenShift Container Platform Reporter: Nan Wei <nwei>
Component: ContainersAssignee: Brenton Leanhardt <bleanhar>
Status: CLOSED ERRATA QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.2.0CC: baulakh, gpei, libra-onpremise-devel, mfisher, mshao, nduong, wsun, xtian
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-openshift-origin-node-1.9.14.6-1 Doc Type: Bug Fix
Doc Text:
Previously pyodbc was unusable due to some missing dependencies on node hosts. The required dependencies have been added to rubygem-openshift-origin-node, and pyodbc can now be used correctly. This also increases compatibility between OpenShift Enterprise and OpenShift Online.
Story Points: ---
Clone Of: 874826 Environment:
Last Closed: 2013-10-16 15:39:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 874826    
Bug Blocks:    

Description Nan Wei 2013-09-26 10:36:09 UTC
+++ This bug was initially created as a clone of Bug #874826 +++

Description of problem:
See forum thread:  https://openshift.redhat.com/community/forums/openshift/pyodbc-install  


---setup.py---
from setuptools import setup

setup(name='OpenShift Mongo Twt',
      version='1.0',
      description='OpenShift Twitter clone using MongoDB',
      author='Mark Atwood',
      author_email='matwood',
      url='https://github.com/openshift/openshift-twt-mongo-demo',
      # dont install bottle requirement, bottle is included in source
      install_requires=['pymongo','pyodbc'],
     )


---Errors----

Nams-MacBook-Pro:twt nduong$ git commit -am "foo"
[master 90a61cc] foo
 1 files changed, 1 insertions(+), 1 deletions(-)
Nams-MacBook-Pro:twt nduong$ git push
Counting objects: 113, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (95/95), done.
Writing objects: 100% (98/98), 66.26 KiB, done.
Total 98 (delta 47), reused 0 (delta 0)
remote: restart_on_add=false
remote: Waiting for stop to finish
remote: Done
remote: restart_on_add=false
remote: ~/git/twt.git ~/git/twt.git
remote: ~/git/twt.git
remote: Running .openshift/action_hooks/pre_build
remote: setup.py found.  Setting up virtualenv
remote: New python executable in /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/python
remote: Installing setuptools............done.
remote: Installing pip...............done.
remote: running develop
remote: running egg_info
remote: creating OpenShift_Mongo_Twt.egg-info
remote: writing requirements to OpenShift_Mongo_Twt.egg-info/requires.txt
remote: writing OpenShift_Mongo_Twt.egg-info/PKG-INFO
remote: writing top-level names to OpenShift_Mongo_Twt.egg-info/top_level.txt
remote: writing dependency_links to OpenShift_Mongo_Twt.egg-info/dependency_links.txt
remote: writing requirements to OpenShift_Mongo_Twt.egg-info/requires.txt
remote: writing OpenShift_Mongo_Twt.egg-info/PKG-INFO
remote: writing top-level names to OpenShift_Mongo_Twt.egg-info/top_level.txt
remote: writing dependency_links to OpenShift_Mongo_Twt.egg-info/dependency_links.txt
remote: writing manifest file 'OpenShift_Mongo_Twt.egg-info/SOURCES.txt'
remote: warning: manifest_maker: standard file 'setup.py' not found
remote: reading manifest file 'OpenShift_Mongo_Twt.egg-info/SOURCES.txt'
remote: writing manifest file 'OpenShift_Mongo_Twt.egg-info/SOURCES.txt'
remote: running build_ext
remote: Creating /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/lib/python2.6/site-packages/OpenShift-Mongo-Twt.egg-link (link to .)
remote: Adding OpenShift-Mongo-Twt 1.0 to easy-install.pth file
remote:
remote: Installed /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv
remote: Processing dependencies for OpenShift-Mongo-Twt==1.0
remote: Searching for pyodbc
remote: Reading http://mirror1.ops.rhcloud.com/mirror/python/web/simple/pyodbc/
remote: Reading http://code.google.com/p/pyodbc
remote: Reading http://code.google.com/p/pyodbc/downloads/list
remote: Best match: pyodbc 3.0.6
remote: Downloading http://pyodbc.googlecode.com/files/pyodbc-3.0.6.zip
remote: Processing pyodbc-3.0.6.zip
remote: Running pyodbc-3.0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/egg-dist-tmp-kxTDJS
remote: warning: no files found matching 'tests/*'
remote: In file included from /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/buffer.cpp:12:
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:48:17: error: sql.h: No such file or directory
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:49:20: error: sqlext.h: No such file or directory
remote: In file included from /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/buffer.cpp:12:
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:65: error: ‘IsSet’ declared as an ‘inline’ variable
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:65: error: ‘DWORD’ was not declared in this scope
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:65: error: ‘DWORD’ was not declared in this scope
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:65: error: initializer expression list treated as compound expression
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbc.h:66: error: expected ‘,’ or ‘;’ before ‘{’ token
remote: In file included from /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/buffer.cpp:17:
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/buffer.h:46: error: ‘SQLLEN’ has not been declared
remote: In file included from /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/buffer.cpp:18:
remote: /tmp/easy_install-Qlzzsn/pyodbc-3.0.6/src/pyodbcmodule.h:36: error: ‘HENV’ does not name a type
remote: error: Setup script exited with error: command 'gcc' failed with exit status 1
remote: Making script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/easy_install relative
remote: Making script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/pip relative
remote: Making script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/easy_install-2.6 relative
remote: Script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/activate.fish cannot be made relative (it's not a normal script that starts with #!/var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/python)
remote: Script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/activate.csh cannot be made relative (it's not a normal script that starts with #!/var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/python)
remote: Making script /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914/python-2.6/virtenv/bin/pip-2.6 relative
remote: Running .openshift/action_hooks/build
remote: New python executable in /var/lib/openshift/b0b0b9cd4f5e4464933c58984aa01914//python-2.6/virtenv/bin/python
remote: Installing setuptools.............done.
remote: Installing pip...............done.
remote: Running .openshift/action_hooks/deploy
remote: hot_deploy_added=false
remote: MongoDB already running
remote: Done
remote: Running .openshift/action_hooks/post_deploy
To ssh://b0b0b9cd4f5e4464933c58984aa01914.com/~/git/twt.git/
   03605bf..90a61cc  master -> master

--- Additional comment from Ram Ranganathan on 2012-11-08 22:51:11 EST ---

Waiting for pull request: https://github.com/openshift/li/pull/587  to 
be merged in. Fix is in that pull request.

Comment 2 openshift-github-bot 2013-09-30 21:47:05 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/b6ee9250d00515338d5245614b8773caf513e52a
Bug 1012348 - Adding unixODBC dependencies to the node gem for compatibility with Online

These packages are available in both Fedora and RHEL

Comment 4 Brenton Leanhardt 2013-10-01 11:39:20 UTC
Upstream commit:

commit b6ee9250d00515338d5245614b8773caf513e52a
Author: Brenton Leanhardt <bleanhar>
Date:   Fri Sep 27 13:19:50 2013 -0400

    Bug 1012348 - Adding unixODBC dependencies to the node gem for compatibility with Online
    
    These packages are available in both Fedora and RHEL

Comment 6 Gaoyun Pei 2013-10-08 08:46:19 UTC
Verify this bug with package rubygem-openshift-origin-node-1.9.14.6-1.el6op.noarch

After adding pyodbc to setup.py, git push the changes:
[root@dhcp-8-133 app2]# git push
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 348 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Stopping PYTHON cart
remote: Waiting for stop to finish
remote: setup.py found.  Setting up virtualenv
remote: New python executable in /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/python
remote: Installing setuptools............done.
remote: Installing pip...............done.
remote: running develop
remote: running egg_info
remote: creating YourAppName.egg-info
remote: writing requirements to YourAppName.egg-info/requires.txt
remote: writing YourAppName.egg-info/PKG-INFO
remote: writing top-level names to YourAppName.egg-info/top_level.txt
remote: writing dependency_links to YourAppName.egg-info/dependency_links.txt
remote: writing requirements to YourAppName.egg-info/requires.txt
remote: writing YourAppName.egg-info/PKG-INFO
remote: writing top-level names to YourAppName.egg-info/top_level.txt
remote: writing dependency_links to YourAppName.egg-info/dependency_links.txt
remote: writing manifest file 'YourAppName.egg-info/SOURCES.txt'
remote: warning: manifest_maker: standard file 'setup.py' not found
remote: reading manifest file 'YourAppName.egg-info/SOURCES.txt'
remote: writing manifest file 'YourAppName.egg-info/SOURCES.txt'
remote: running build_ext
remote: Creating /var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv/lib/python2.6/site-packages/YourAppName.egg-link (link to .)
remote: Adding YourAppName 1.0 to easy-install.pth file
remote: 
remote: Installed /var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv
remote: Processing dependencies for YourAppName==1.0
remote: Searching for pyodbc
remote: Reading http://mirror1.ops.rhcloud.com/mirror/python/web/simple/pyodbc/
remote: Reading http://code.google.com/p/pyodbc
remote: Reading http://code.google.com/p/pyodbc/downloads/list
remote: Best match: pyodbc 3.0.7
remote: Downloading http://pyodbc.googlecode.com/files/pyodbc-3.0.7.zip
remote: Processing pyodbc-3.0.7.zip
remote: Running pyodbc-3.0.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-HFDDnD/pyodbc-3.0.7/egg-dist-tmp-40KbTq
remote: warning: no files found matching 'tests/*'
remote: zip_safe flag not set; analyzing archive contents...
remote: Adding pyodbc 3.0.7 to easy-install.pth file
remote: 
remote: Installed /var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv/lib/python2.6/site-packages/pyodbc-3.0.7-py2.6-linux-x86_64.egg
remote: Searching for pymongo
remote: Reading http://mirror1.ops.rhcloud.com/mirror/python/web/simple/pymongo/
remote: Best match: pymongo 2.6.2
remote: Downloading http://mirror1.ops.rhcloud.com/mirror/python/web/packages/source/p/pymongo/pymongo-2.6.2.tar.gz#md5=f05a2bae2e49e3303fc4435fb4ee9677
remote: Processing pymongo-2.6.2.tar.gz
remote: Running pymongo-2.6.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-BruPKJ/pymongo-2.6.2/egg-dist-tmp-g6961c
remote: zip_safe flag not set; analyzing archive contents...
remote: Adding pymongo 2.6.2 to easy-install.pth file
remote: 
remote: Installed /var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv/lib/python2.6/site-packages/pymongo-2.6.2-py2.6-linux-x86_64.egg
remote: Finished processing dependencies for YourAppName==1.0
remote: Making script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/easy_install-2.6 relative
remote: Making script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/easy_install relative
remote: Script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/activate.csh cannot be made relative (it's not a normal script that starts with #!/var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv/bin/python)
remote: Making script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/pip-2.6 relative
remote: Script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/activate.fish cannot be made relative (it's not a normal script that starts with #!/var/lib/openshift/5253c435fc7d6ab6b400037f/python/virtenv/bin/python)
remote: Making script /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/pip relative
remote: New python executable in /var/lib/openshift/5253c435fc7d6ab6b400037f/python//virtenv/bin/python
remote: Installing setuptools.............done.
remote: Installing pip...............done.
remote: Starting PYTHON cart
To ssh://5253c435fc7d6ab6b400037f.com/~/git/app2.git/
   37d9027..4aeee10  master -> master

No errors was found and app was available.

Comment 9 errata-xmlrpc 2013-10-16 15:39:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1435.html