I am trying to do some image resizing on my Django application running on AWS Elastic beanstalk, so I am trying to install Pillow to do the job.
As described in some previous posts, I am adding
packages:
yum:
libjpeg-devel: '6b'
at the top of my .ebextension/myapp.config
My requirement.txt includes:
Django==1.6.7
boto>=2.32.1
django-filter>=0.7
django-password-reset>=0.7
django-storages>=1.1.8
django-taggit==0.12
djangorestframework>=2.3.13
django-bootstrap3>=4.11.0
django-bootstrap3-datetimepicker>=2.2.3
python-dateutil>=2.2
pytz>=2014.2
six>=1.7.3
wsgiref==0.1.2
yolk==0.4.3
Pillow==2.5.3
googlemaps==1.0.2
MySQL-python>=1.2.5
But when I either eb start
or git aws.push
, I get the following error in my elastic beanstalk log:
2014-09-15 07:10:23,596 [INFO] Running configSet Infra-EmbeddedPreBuild
2014-09-15 07:10:23,598 [INFO] Running config prebuild_0_ampervue
2014-09-15 07:10:32,556 [ERROR] libjpeg-devel-6b is not available to be installed
2014-09-15 07:10:32,557 [ERROR] Error encountered during build of prebuild_0_ampervue: Yum does not have libjpeg-devel-6b available for installation
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 511, in run_config
CloudFormationCarpenter(config, self._auth_config).build(worklog)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 216, in build
changes['packages'][manager] = CloudFormationCarpenter._packageTools[manager]().apply(packages, self._auth_config)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/rpm_tools.py", line 74, in apply
raise ToolError("Yum does not have %s available for installation" % pkg_spec)
ToolError: Yum does not have libjpeg-devel-6b available for installation
2014-09-15 07:10:32,560 [ERROR] Unhandled exception during build: Yum does not have libjpeg-devel-6b available for installation
Traceback (most recent call last):
File "/opt/aws/bin/cfn-init", line 122, in <module>
worklog.build(detail.metadata, configSets)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 117, in build
Contractor(metadata).build(configSets, self)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 502, in build
self.run_config(config, worklog)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 511, in run_config
CloudFormationCarpenter(config, self._auth_config).build(worklog)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/construction.py", line 216, in build
changes['packages'][manager] = CloudFormationCarpenter._packageTools[manager]().apply(packages, self._auth_config)
File "/usr/lib/python2.6/site-packages/cfnbootstrap/rpm_tools.py", line 74, in apply
raise ToolError("Yum does not have %s available for installation" % pkg_spec)
ToolError: Yum does not have libjpeg-devel-6b available for installation
I was able to get it to install by using the
libjpeg-turbo-devel
package without the specific version. The YAML is below:If you specifically need that version, you might want to investigate the
libjpeg-turbo
equivalent.One way to manually figure these things out is to either SSH into an actual instance that is in your environment or launch a new one.
In this case, to test this, when I SSH'd in and ran the yum install, this happened:
As you can see, it resolves to
libjpeg-turbo-devel
instead.