diff --git a/var/spack/repos/builtin/packages/netcdf-cxx4/package.py b/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
index b67ea299a88efdbfd259182c54a192417eb6a15d..f8af76429b84a4588dcc75ff2140c93a04761a22 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
@@ -24,16 +24,21 @@
 ##############################################################################
 from spack import *
 
+
 class NetcdfCxx4(Package):
     """C++ interface for NetCDF4"""
     homepage = "http://www.unidata.ucar.edu/software/netcdf"
-    url      = "http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx4-4.2.tar.gz"
+    url      = "https://www.github.com/unidata/netcdf-cxx4/tarball/v4.3.0"
 
-    version('4.2', 'd019853802092cf686254aaba165fc81')
+    version('4.3.0', '0dde8b9763eecdafbd69d076e687337e')
+    version('4.2.1', 'd019853802092cf686254aaba165fc81')
 
     depends_on('netcdf')
+    depends_on("autoconf")
 
     def install(self, spec, prefix):
+        # Rebuild to prevent problems of inconsistency in git repo
+        which('autoreconf')('-ivf')
         configure('--prefix=%s' % prefix)
         make()
         make("install")