The problem I want to solve is that I want to install an app from source.
When I tried to install that app, it said that it needs valac-0.16, but when I tried to install valac from terminal, it is only installing an older version, valac-0.14.
Then I tried to download the new version of valac-0.16 and tried to install it, but it still shows the dependency is not satisfied.
How can I install a new version of a app that not in the repos?
If I understand your question correctly, you want to install a package which somehow
Depends: valac (>= 0.16)and it refuses to install although you downloaded and installed thevalacupstream sources.If you have a package which declares a dependency which cannot be satisfied,
dpkgwill refuse to install it untildpkgknows that the dependency is satisfied. There are three possible fixes;dpkg --force-depends-version -i packagewill makedpkgacceptvalac0.14 even ifpackagestates that it requires >= 0.16. More generally,dpkg --force-helpcontains various hints for how to makedpkgshoot itself in the foot in various interesting and sometimes useful ways. If you are not usingdpkgdirectly, there are ways to pass in these options fromapt-get,aptitude, etc.If
valachas adebiandirectory, or you otherwise know how to create a package from the 0.16 sources you downloaded, just build and install adebpackage instead.debuild -us -uc -rfakeroot -bshould be all you need if the pieces are there (most notably,debian/rules). Alternatively, you may be able to piece together a package fromapt-get source valacand installing the 0.16 upstream sources in the 0.14 package source tree, then rebuilding.If you have a local install of a package which would satisfy the dependency, but
dpkgdoesn’t know about it, you can create a dummy package and install it; thendpkgwill be satisfied. Theequivspackage allows you to easily create a dummy package like that.