The Chicago Cubs signed 40-year-old veteran infielder Justin Turner to a one-year, $6 million contract, pending a physical.