Installing a newer version of an app not in the repositories

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Installing a newer version of an app not in the repositories

Post by briandc »

Hi everyone,
on my antiX laptop I installed Hexter, only to find out that it's not the newest version.
In order to get the newer version (i think it's here: http://sourceforge.net/projects/dssi/fi ... ter/1.0.2/ ),

do I have to remove the older version? If so, do I have to remove config files, too.. or only the "main" hexter file?

Thanks!


brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
luster
Established Member
Posts: 221
Joined: Mon Mar 05, 2012 10:03 pm

Re: Installing a newer version of an app not in the reposito

Post by luster »

OOPS. I thought this was in KXStudio thread. Please disregard my earlier post:
Brian, I have version 1.0.2-1~precise1 installed under KXStudio 12.04.1 64bit

Synaptic shows that it's available from


You mentioned "the repositories"... Are you using something other than KXStudio?
:oops:
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by raboof »

briandc wrote:In order to get the newer version (i think it's here: http://sourceforge.net/projects/dssi/fi ... ter/1.0.2/ ),

do I have to remove the older version? If so, do I have to remove config files, too.. or only the "main" hexter file?
Yeah, that's probably wise. When done right they shouldn't interfere, but it's less confusing when there's only one version around :).

You don't remove the files manually, but just 'apt-get remove --purge hexter' (or something similar)
User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by briandc »

@raboof: thanks for the suggestion. I think that's what I'll do.

Is compiling basically just following the "readme" for install instructions, and then adding any apps that the terminal indicates are missing, and then re-trying the install?

Also, as Alsa Modular Synth on my debian notebook doesn't have the LADSPA plugins that KXStudio has... can I just copy the LADSPA folder from my KXStudio box and paste it into the same place on the notebook?


brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by briandc »

Question:

where's the best place to download an app when compiling? In /usr/bin? Is it the same for all types of apps (tar, .deb, etc?)


thanks!

brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by raboof »

briandc wrote:where's the best place to download an app when compiling? In /usr/bin? Is it the same for all types of apps (tar, .deb, etc?)
I usually just compile from my homedir (something like ~/progs/programname) - compilation doesn't need root, and 'sudo make install' is usualy a (sometimes even optional) last step.

This *should* install into /usr/local (because /usr/ is for applications packaged by your distro). Some packages get this wrong, and in practice that's usually not much of a problem (but a bit messy).
Thad E Ginathom
Established Member
Posts: 369
Joined: Fri Sep 23, 2011 1:03 pm

Re: Installing a newer version of an app not in the reposito

Post by Thad E Ginathom »

briandc wrote:Is compiling basically just following the "readme" for install instructions, and then adding any apps that the terminal indicates are missing, and then re-trying the install?
Yes! It will tend to be libraries, rather than "apps" that come up as missing dependencies. My first step is to search for them in Synaptic and install from there. The big problem is when your compilation requires one version, and you have another, and Synaptic won't help with that. At that point, it depends how much work you are willing to put in: you can end up downloading the source for the libraries and compiling that.

Read the README, and any other files with names that look like they should be read. There are usually three stages

$ cd <source dir>
$ ./configure
...
...
$ make
...
...
$ sudo make install

Only 'make install' should be run as root (sudo). It needs permission to write the end-product files to system directories.

You may notice that, after running make, there are a lot more files in your source dir. After the make install, if you want to tidy up, you can do

$ make clean

That deletes everything except the source you downloaded. it may not be there. Depends on the person writing the makefile.

There are other, completely different, compilation and installation methods. Only the README file can tell you.
User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by briandc »

Thanks raboof and Thad! :)

As I've always done things "on an improv," there were always some doubts. Sometimes a README file talks about paths and it isn't always clear to me since, if I download an app to my home folder, if the paths work out ok. But everything so far seems to be fine, so I guess I'm good for now.

And yes, sometimes Synaptic doesn't have the libraries that I need, or maybe not the right version.. or maybe just the name of the library isn't exactly what I thought it would be and I overlook it. And sometimes I have to compile several times until I get all the dependencies necessary for things to finish correctly. But in the end it always seems to work out. :)


Thanks!

brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Installing a newer version of an app not in the reposito

Post by tramp »

raboof wrote: This *should* install into /usr/local (because /usr/ is for applications packaged by your distro). Some packages get this wrong, and in practice that's usually not much of a problem (but a bit messy).
I always install all stuff in /usr/ , because those /local/ folder tends to create trouble. When it comes to building library’s (jackd for example) , you truly wont have different versions installed. So I put all my stuff into /usr/ to avoid that. This way older versions get overwritten by newer, the same way as any distribution do it.
On the road again.
Thad E Ginathom
Established Member
Posts: 369
Joined: Fri Sep 23, 2011 1:03 pm

Re: Installing a newer version of an app not in the reposito

Post by Thad E Ginathom »

it is better to uninstall the repository version before installing your home-compiled version. If you do not, then the system thinks it has to look after updates, which it will try to do. Confusion may result. Using the "local" paths is one way of maintaining different versions at the same time, but you have to make sure that you $PATH is in the right order to give you what you want when you type a command, or that you put the full path name in the properties for menu/panel/desktop icons. Even professionals give themselves headaches once they have two or more executables with the same name on their systems.

Compiling/installation from source can vary from simple to impossible. Hats off to the packagers who do it all, making stuff install-with-a-click for us.
User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by briandc »

Ok. But if I want to remove a previous version, is it sufficient to do a "sudo rm -R [/usr/app-to--be-removed]", and assume that the newer version will utilize the dependencies/libraries already installed? Or will that create problems too?



brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Installing a newer version of an app not in the reposito

Post by tramp »

The easiest way is to just create debian packages from the source (dh_make), assuming you are on a debian based system. It's really easy to do. This way you can replace older versions and your newly created package solve any dependency.
Removing a app, which is installed with apt, by rm isn't a good idea and will indeed leads to problems.
On the road again.
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by raboof »

briandc wrote:Is compiling basically just following the "readme" for install instructions, and then adding any apps that the terminal indicates are missing, and then re-trying the install?
Yeah. One nice trick when you're building a program that's also packaged for your Debian-based system is doing a 'apt-get build-dep <packagename>'. That will install all packages Debian needs to build the packaged version. You might need some more/newer ones, but it'll give you a nice head-start.
tramp wrote:I always install all stuff in /usr/ , because those /local/ folder tends to create trouble. When it comes to building library’s (jackd for example) , you truly wont have different versions installed. So I put all my stuff into /usr/ to avoid that. This way older versions get overwritten by newer, the same way as any distribution do it.
I agree you might not want different versions of the same library installed at the same time on a Linux system (though when you're careful it can work).

However, for me that's a reason to install manually in /usr/local rather than /usr: that way, when for some reason the packaged version gets installed alongside your manually compiled one, you can easily decide which one you want to use and remove the other. When they're overwriting each other you get into a big mess.
briandc wrote:if I want to remove a previous version, is it sufficient to do a "sudo rm -R [/usr/app-to--be-removed]", and assume that the newer version will utilize the dependencies/libraries already installed? Or will that create problems too?
It's OK to 'rm -R' in /usr/local - though a 'make uninstall' target is preferable when available. Don't 'rm' in /usr, that's the package system's domain.

On a Debian system, if you manually installed a library, sometimes you want to tell the build system: "don't worry about this library dependency, I installed it manually". The 'equivs' tool can do that (though it's not as user-friendly as you'd hope).
tramp wrote:just create debian packages from the source (dh_make), assuming you are on a debian based system. It's really easy to do.
That's cool I never use that, I should look into it.
Thad E Ginathom
Established Member
Posts: 369
Joined: Fri Sep 23, 2011 1:03 pm

Re: Installing a newer version of an app not in the reposito

Post by Thad E Ginathom »

if I want to remove a previous version, is it sufficient to do a "sudo rm -R [/usr/app-to--be-removed]",
If it is a version you compiled and installed, see if the make file has an uninstall option. I'd be very loathe to stomp around the file system rm-ing things without thinking ten times about it, and don't rm -r anything unless you really know what you are doing. And even if you do, make backups first!

If it is a repository version, you should use the system tools (synaptic etc) to remove it.
The easiest way is to just create debian packages from the source (dh_make)
I was a unix guy in a previous life. I forgot most of it, and I am no Linux expert. That is a really useful suggestion to look into. Thanks :)
User avatar
briandc
Established Member
Posts: 1442
Joined: Sun Apr 29, 2012 3:17 pm
Location: Italy
Has thanked: 58 times
Been thanked: 28 times
Contact:

Re: Installing a newer version of an app not in the reposito

Post by briandc »

Ok.. so using rm -R should perhaps not be used, particularly if you can use synaptic, or an uninstall procedure provided by the app itself.
tramp wrote:The easiest way is to just create debian packages from the source (dh_make), assuming you are on a debian based system. It's really easy to do. This way you can replace older versions and your newly created package solve any dependency.
Can you explain this a bit further? I think this might be useful for many a user here. :)


brian
Have your PC your way: use linux!
My sound synthesis biome: http://www.linuxsynths.com
Post Reply