Bin/buildout error

When running bin/buildout I get the following error

Uninstalling instance.
While:
Installing.
Uninstalling instance.
Error: Missing option: instance:recipe

My buildout.cfg file has :
> ############################################
> #
> # Buildout Configuration File for Plone
> # -------------------------------------
> #
> # ALWAYS back up all Plone/Zope data and components
> # before changing configuration.
> #
> # Running "bin/buildout" will update your installation,
> # installing missing components as necessary.
> #
> # This will update the add-on products you've added in the eggs= lines.
> # This will not, however, upgrade Plone itself (or anything else you've
> # pinned with a version specification). To upgrade Plone itself, see the
> # comments in "Plone Component Versions".
> #
> # Tutorial instructions for using zc.buildout for
> # configuration management are available at:
> # http://plone.org/documentation/tutorial/buildout
> # Full details at http://pypi.python.org/pypi/zc.buildout
> #
> ############################################
>
> [buildout]
> ############################################
> # Plone Component Versions
> # ------------------------
> # This version of the Unified Installer has the components of Plone 5
> # preloaded so that it can install without an Internet connection.
> # If you want to update, uncomment the "http://..." line below,
> # edit it to point to the current version URL, comment out the
> # "versions.cfg" line and run "bin/buildout" while attached to the
> # Internet. Generally, you only want to do that as part of a planned migration.
> # Note that if you are updating components, you should also check the versions
> # section at the end of this file, since recipes or components other than
> # those of Zope and Plone may need updating at the same time.
> #
> extends =
> base.cfg
> versions.cfg
> # http://dist.plone.org/release/5.0.4/versions.cfg
>
> # If you change your Plone version, you'll also need to update
> # the repository link below.
> find-links +=
> http://dist.plone.org/release/5.0.4
> http://pypi.python.org
>
> index=https://pypi.python.org/simple
> # If you try to start Zope as root, it will change user id to run as
> # the effective user specified here. This user id must own the var directory
> # of your buildout.
> effective-user = ananth
> # This user will own the rest of the installation, and should be used to
> # run buildout.
> buildout-user = ananth
> # A flag to tell the Unified Installer whether or not to document sudo use.
> need-sudo = no
>
> ############################################
> # Eggs
> # ----
> # Add an indented line to the eggs section for any Python
> # eggs or packages you wish to include in your Plone instance.
> #
> # Note that versions may be specified here or in the [versions]
> # section below. You should always specify versions that you know
> # are compatible with the Plone release and at an acceptable
> # development level.
> #
> # If you update to a later version of Plone, remove the hotfix.
> #
> eggs =
> Plone
> Pillow
> ############################################
> # ZCML Slugs
> # ----------
> # Some eggs need ZCML slugs to tell Zope to
> # use them. This is increasingly rare.
> zcml =
> # plone.reload
> ############################################
> # Development Eggs
> # ----------------
> # You can use paster to create "development eggs" to
> # develop new products/themes. Put these in the src/
> # directory.
> # You will also need to add the egg names in the
> # eggs section above, and may also need to add them
> # to the zcml section.
> #
> # Provide the paths to the eggs you are developing here:
> develop =
> src/ploneconf.site
> ############################################
> # var Directory
> # -------------
> # Sets the target directory for the "var" components of the install such as
> # database and log files.
> #
> var-dir=${buildout:directory}/var
>
> ############################################
> # Backup Directory
> # ----------------
> # Sets the target directory for the bin/backup and bin/snapshotbackup
> # commands. Default is inside this project's var directory, but ideally
> # this should be on a separate volume or backup server.
> #
> backups-dir=${buildout:var-dir}
>
> ############################################
> # Initial User
> # ------------
> # This is the user id and password that will be used to create the initial
> # user id that will allow you to log in and create a Plone site. This only
> # sets the initial password; it will not allow you to change an already
> # existing password. If you change the admin password via the web interface,
> # the one below will no longer be valid.
> # If you find yourself locked out of your Zope/Python installation, you may
> # add an emergency user via "bin/plonectl adduser".
> user=admin:admin
>
> ############################################
> # Debug Options
> # -------------
> # Start Zope/Plone instances in "fg" mode to turn on debug mode;
> # this will dramatically slow Plone.
> #
> # Add-on developers should turn deprecation warnings on
> deprecation-warnings = off
> # change verbose-security to "on" for useful security errors while developing
> verbose-security = off
>
> ############################################
> # Parts Specification
> #--------------------
> # Specifies the components that should be included in the buildout.
> # Most are defined in the base.cfg extension; you may add your
> # own if you need them at the end of this file.
> parts =
> instance
> repozo
> backup
> zopepy
> unifiedinstaller
>
> ############################################
> # Major Parts
> # ----------------------
> # These common parts make use of sane base settings from
> # base.cfg. To customize a part, just add whatever options
> # you need. Read base.cfg for common settings.
> [mrbob]
> recipe=zc.recipe.egg
>
>
> [instance]
> <= instance_base
> recipe = plone.recipe.zope2instance
> http-address = 8080
>
>
> eggs=
> mr.bob
> bobtemplates.plone
> ############################################
> # Versions Specification
> # ----------------------
> # Version information supplied here will "pin" Python packages to a particular
> # version number, even when you use the "newest" flag running buildout.
> # Specifying versions for all packages is a good idea and can prevent
> # accidental changes when you add new packages to your buildout.
> # Note that versions specified here will override those specified earlier
> # in the configuration, including those from the Plone and Zope version
> # config files.
> #
> [versions]
> # Use the setuptools and zc.buildout versions that are
> # available in our Python environment.
> setuptools =
> zc.buildout =
> bobtemplates.plone = 1.0.1
> buildout.sanitycheck = 1.0.2
> collective.checkdocs = 0.2
> collective.recipe.backup = 3.0.0
> colorama = 0.3.7
> MarkupSafe = 0.23
> mr.bob = 0.1.2
> pkginfo = 1.2.1
> plone.recipe.unifiedinstaller = 4.3.2
> Products.DocFinderTab = 1.0.5
> requests-toolbelt = 0.6.0
> twine = 1.6.5
> zest.pocompile = 1.4
> zest.releaser = 6.6.4
> eventlet = 0.21.0

Please help me as soon as possible

Somehow you have destroyed your buildout configuration.

A buildout configuration defines a sequence of "part"s and how to build them. instance is one such part. The prescription how to build a part typically consists of a piece of code, the "recipe", and configuration settings for it. The "recipe" is specified via the recipe configuration option in the sections corresponding to the "part" to be build. The section for instance is usually located in base.cfg and looks like:

[instance]
recipe = plone.recipe.zope2instance
...

Note that a buildout configuration can be split across several files and buildout configuration file on one level can "import" those on a lower leven with the "extends" Definition in the "buildout" section.

Can u tell me how to retrive where can I retrive it

The corruption likely is in base.cfg (a part of the Plone installation). Maybe, you have a local backup? If not, you can reinstall Plone (to get everything fresh) and maybe copy over base.cfg from there (if you have installed elsewhere).

You could also edit base.cfg and add the missing recipe definition (my post contained how it should look like). Of course, your current base.cfg might have further problems.

base.cfg

######################################################
# Base Configuration; this provides sane defaults
# for commonly used parts.
# ---------------------------------------------------
#
# Buildout instructions in this file are
# usually only changed by experienced developers.
#
# Beyond here there be dragons!

[buildout]
eggs-directory=../buildout-cache/eggs
download-cache=../buildout-cache/downloads

# Don't download new things unless needed to satisfy dependencies.
# Override this on the command line with the "-n" flag.
newest = false

# pick final releases over newer development releases
prefer-final = true

# show picked versions wherever we do an automatic choice
show-picked-versions = true

versions = versions

# Add additional egg download sources here. dist.plone.org contains archives
# of Plone packages.
find-links =
    http://dist.plone.org
    http://effbot.org/downloads

# buildout.DumpPickedVersions notifies
# you of versions picked by buildout that were not specifically
# pinned.
# buildout.sanitycheck makes sure you're not running buildout
# as root.
extensions =
    buildout.sanitycheck

############################################
# Environment Variables
# ---------------------
# Some of the behavior of your Zope/Plone instances are controlled with OS
# environment variables. You may set those here in a key / value format.
# Some common settings:
#    * TZ allows you to set a time zone for systems where it's not
#      automatically available.
#    * zope_i18n_compile_mo_files allows for automatic compilation of
#      missing translation files (may slow startup).
#    * zope_i18n_allowed_languages allows you to limit the available
#      translations.
#    * PYTHON_EGG_CACHE determines where zipped python packages are unpacked
#      for use.
#    * PYTHONHASHSEED determines initial seed for hashes. "random" causes a
#      pseudo-random value is used to seed the hashes of str, bytes and datetime
#      objects.
environment-vars =
    zope_i18n_compile_mo_files true
    PYTHON_EGG_CACHE ${buildout:directory}/var/.python-eggs
#    PYTHONHASHSEED random
#    TZ US/Eastern
#    zope_i18n_allowed_languages en es de fr

[instance_base]
# Use this section to install and configure a Zope operating
# instance.
# For options see http://pypi.python.org/pypi/plone.recipe.zope2instance
recipe=plone.recipe.zope2instance
# The line below sets only the initial password. It will not change an
# existing password.
user = ${buildout:user}
# if we try to start as root, Zope will switch to the user below
effective-user = ${buildout:effective-user}
# change debug-mode to "on" to run in development mode.
# starting in foreground (fg) mode is a better way to do this.
debug-mode = off
# change verbose-security to "on" for detailed security
# errors while developing
verbose-security = ${buildout:verbose-security}
# change deprecation-warnings to "on" to get log warnings
# for deprecated usages.
deprecation-warnings = ${buildout:deprecation-warnings}

# storage locations
var = ${buildout:var-dir}
blob-storage = ${:var}/blobstorage

# Comment the next four lines out if you don't need
# automatic log rotation for event and access logs.
event-log-max-size = 5 MB
event-log-old-files = 5
access-log-max-size = 20 MB
access-log-old-files = 5

# If you want Zope to know about any additional eggs, list them here.
# e.g. eggs = ${buildout:eggs} my.package
eggs =
    ${buildout:eggs}

# If you want to register ZCML slugs for any packages, list them here.
# e.g. zcml = my.package my.other.package
zcml = ${buildout:zcml}

products = ${buildout:directory}/products

# You may also control the environment variables for the instance.
environment-vars = ${buildout:environment-vars}

[zeoserver_base]
# Use this section to install and configure a Zope
# Enterprise Objects server.
# For options see http://pypi.python.org/pypi/plone.recipe.zeoserver
#
# If we try to start as root, Zope will switch to the user below
effective-user = ${buildout:effective-user}
# Set storage
var = ${buildout:var-dir}
blob-storage = ${buildout:var-dir}/blobstorage
# Put the log, pid and socket files in var/zeoserver
zeo-log     = ${buildout:var-dir}/zeoserver/zeoserver.log
pid-file    = ${buildout:var-dir}/zeoserver/zeoserver.pid
socket-name = ${buildout:var-dir}/zeoserver/zeo.zdsock

[client_base]
# Use this section to install and configure a ZEO client
# instance.
# For options see http://pypi.python.org/pypi/plone.recipe.zope2instance

# The line below sets only the initial password. It will not change an
# existing password.
user = ${buildout:user}
# if we try to start as root, Zope will switch to the user below
effective-user = ${buildout:effective-user}
# change debug-mode to "on" to run in development mode.
# starting in foreground (fg) mode is a better way to do this.
debug-mode = off
# change verbose-security to "on" for detailed security
# errors while developing
verbose-security = ${buildout:verbose-security}
# change deprecation-warnings to "on" to get log warnings
# for deprecated usages.
deprecation-warnings = ${buildout:deprecation-warnings}

# base locations
var = ${buildout:var-dir}
blob-storage = ${:var}/blobstorage

# Comment the next four lines out if you don't need
# automatic log rotation for event and access logs.
event-log-max-size = 5 MB
event-log-old-files = 5
access-log-max-size = 20 MB
access-log-old-files = 5

# If you want Zope to know about any additional eggs, list them here.
# e.g. eggs = ${buildout:eggs} my.package
eggs =
    ${buildout:eggs}

# If you want to register ZCML slugs for any packages, list them here.
# e.g. zcml = my.package my.other.package
zcml = ${buildout:zcml}

products = ${buildout:directory}/products

# You may also control the environment variables for the instance.
environment-vars = ${buildout:environment-vars}

zeo-client = true
# shared blobs are much faster if we're on the same server.
# if not, turn it off.
shared-blob = on

# defer early binding to port; may improve load balancer behavior on restarts
http-fast-listen = off

# Put the log, pid, lock files in var/client1
event-log = ${buildout:var-dir}/${:_buildout_section_name_}/event.log
z2-log    = ${buildout:var-dir}/${:_buildout_section_name_}/Z2.log
pid-file  = ${buildout:var-dir}/${:_buildout_section_name_}/${:_buildout_section_name_}.pid
lock-file = ${buildout:var-dir}/${:_buildout_section_name_}/${:_buildout_section_name_}.lock

[repozo]
# This recipe builds the repozo script for non-zeo installations.
recipe = zc.recipe.egg
eggs = ZODB
scripts = repozo

[backup]
# This recipe builds the backup, restore and snapshotbackup commands.
# For options see http://pypi.python.org/pypi/collective.recipe.backup
recipe = collective.recipe.backup
location = ${buildout:backups-dir}/backups
blobbackuplocation = ${buildout:backups-dir}/blobstoragebackups
snapshotlocation = ${buildout:backups-dir}/snapshotbackups
blobsnapshotlocation = ${buildout:backups-dir}/blobstoragesnapshots
datafs = ${buildout:var-dir}/filestorage/Data.fs
blob-storage = ${buildout:var-dir}/blobstorage

[setpermissions]
# This recipe is used to set permissions for root mode installs
# For options see http://pypi.python.org/pypi/plone.recipe.command
recipe = plone.recipe.command
command =
    # Dummy references to force this to execute after referenced parts
    echo ${backup:location} ${unifiedinstaller:need-sudo} > /dev/null
    chmod 600 .installed.cfg
    # Make sure anything we've created in var is r/w by our group
    find ${buildout:var-dir} -type d -exec chmod 770 {} \; 2> /dev/null
    find ${buildout:var-dir} -type f -exec chmod 660 {} \; 2> /dev/null
    find ${buildout:backups-dir} -type d -exec chmod 770 {} \; 2> /dev/null
    find ${buildout:backups-dir} -type f -exec chmod 660 {} \; 2> /dev/null
    chmod 754 ${buildout:directory}/bin/*
update-command = ${:command}

[zopepy]
# installs a zopepy python interpreter that runs with your
# full Zope environment
recipe = zc.recipe.egg
eggs = ${buildout:eggs}
interpreter = zopepy
scripts = zopepy

[unifiedinstaller]
# This recipe installs the plonectl script and a few other convenience
# items.
# For options see http://pypi.python.org/pypi/plone.recipe.unifiedinstaller
recipe = plone.recipe.unifiedinstaller
user = ${buildout:user}
effective-user = ${buildout:effective-user}
buildout-user = ${buildout:buildout-user}
need-sudo = ${buildout:need-sudo}

[precompiler]
# This recipe is used in production installs to compile
# .py and .po files so that the daemon doesn't try to do it.
# For options see http://pypi.python.org/pypi/plone.recipe.precompiler
recipe = plone.recipe.precompiler
eggs = ${buildout:eggs}
compile-mo-files = true
extra-paths = ${buildout:directory}/products

where do I place the [instance]

Remove

from your buildout.cfg. If you want to add eggs to your buildout, do it in the "eggs =" section at the top of the buildout and make sure to indent the items on the egg list.

Sorry. I have been wrong: apparently, you are using Plone 5 while I have looked at a Plone 4 buildout configuration -- and the placement of the instance section has changed between these versions. In your case, the instance section is in the main buildout.cfg (not in base.cfg). And it has a recipe definition. Thus, I have no idea why your buildout run thinks it lacks instance.recipe.

maybe
bin/buildout annotate
could give additional info on what is happening ?