You need to upgrade your emacs to at least Emacs 25.1.
I'm not sure if each Ubuntu LTS provides updated stable packages beyond the point they released the distro, emacs26 now, but if not you can either compile it yourself or look for a suitable ppa as Kevin Kelley's
I think the cleanest solution is to tell package.el that you have already lsp-mode mode. You can do it in two different ways:
If you have installed lsp-mode in a format/layout that package.el can understand (most importantly it contains both <pkg>-autoloads.els and <pkg>-pkg.el), then just make sure that it is in one of the directories ...
I had this exact problem. I was trying to use a local version of lsp-mode but packages which depended on it were installing lsp-mode from melpa. @chenbin's solution would successfully filter out lsp-mode from the package list (i.e. when you M-x list-packages) but it would still be installed when installing any packages for which it was a dependency.
You are trying to require a package which has not been installed yet. Run
and then specify
This will install the package so that when you next start emacs, the error should no longer occur.
You don't need to (require 'package) and you shouldn't need to (require 'doom-modeline) either. But, depending on your version of Emacs, you need to initialize the package library with (package-initialize) before you can use the packages you installed.
So my crystal ball tells me you should replace the first two lines of your init.el with