From: Stephen Horne on

There's a couple of tools I need to use which are available from this
site...

http://www.complang.org/thurston/

The first, Ragel, has an rpm available and is easily installed. The
second, Kelbt, is only available as source packaged in a .tar.gz.

I've used both apps a great deal in the past, but only on Windows,
using MinGW.

Building Kelbt is no problem but I don't really know how to go about
manually installing an app in Linux. This is a command-line tool and
doesn't (and shouldn't) appear on the KDE menu, but I do need to make
sure that it works as a command line tool (is on the path, or whatever
the Linux equivalent of that is).

The binary for Ragel ended up in /usr/bin I think. I'm tempted to just
copy the binary for Kelbt into the same folder (and make sure the
permissions are set right), but I'm concerned that this might be
asking for trouble - that it might interfere with the normal OpenSUSE
software management somehow or otherwise cause problems.

Suggestions?

From: Peter Köhlmann on
Stephen Horne wrote:

>
> There's a couple of tools I need to use which are available from this
> site...
>
> http://www.complang.org/thurston/
>
> The first, Ragel, has an rpm available and is easily installed. The
> second, Kelbt, is only available as source packaged in a .tar.gz.
>
> I've used both apps a great deal in the past, but only on Windows,
> using MinGW.
>
> Building Kelbt is no problem but I don't really know how to go about
> manually installing an app in Linux. This is a command-line tool and
> doesn't (and shouldn't) appear on the KDE menu, but I do need to make
> sure that it works as a command line tool (is on the path, or whatever
> the Linux equivalent of that is).
>
> The binary for Ragel ended up in /usr/bin I think. I'm tempted to just
> copy the binary for Kelbt into the same folder (and make sure the
> permissions are set right), but I'm concerned that this might be
> asking for trouble - that it might interfere with the normal OpenSUSE
> software management somehow or otherwise cause problems.
>
> Suggestions?

Yes.

"checkinstall"
--
Klingon function calls do not have 'parameters' -
they have 'arguments' - and they ALWAYS WIN THEM.

From: Bob Bob on
Hi Stephen

I havent looked at the app in question. Many however let you simply;

../configure
make
make install

at the command prompt in the root of the unpacked tarball

The final "make install" step being to copy the binary, libraries and
man pages (if any) to the right place

You will also find files named in upper case INSTALL README etc that
will explain how to do. Configure will often tell you if any headers,
tools are missing.

As a general "rule" built software more commonly goes in /usr/local/*
but thats your choice!

Cheers Bob


Stephen Horne wrote:

> Building Kelbt is no problem but I don't really know how to go about
> manually installing an app in Linux.
From: Stephen Horne on
On Sat, 02 Jan 2010 11:35:09 -0600, Bob Bob <bob3bob3(a)suddenlink.net>
wrote:

>Hi Stephen
>
>I havent looked at the app in question. Many however let you simply;
>
>./configure
>make
>make install
>
>at the command prompt in the root of the unpacked tarball
>
>The final "make install" step being to copy the binary, libraries and
>man pages (if any) to the right place

Damn - I should have known that.

Seems wierd to use make as a scripting language to copy files around,
but I guess it makes sense in an already-need-make
minimise-the-dependencies kind of way.

>You will also find files named in upper case INSTALL README etc that
>will explain how to do. Configure will often tell you if any headers,
>tools are missing.

Yes, but when you've been using something for years on what you think
of as a compatible platform (mingw and, before that, cygwin), it's
easy to forget that you're deliberately doing some things differently.
In this case, I did read those things... once upon a time...

>As a general "rule" built software more commonly goes in /usr/local/*
>but thats your choice!

I just discovered this bit for myself. Dug out my old dead trees from
Mandrake 8.1, which cover a few things I may once have known, but had
long since forgotten.

From: David Bolt on
On Saturday 02 Jan 2010 16:05, while playing with a tin of spray paint,
Stephen Horne painted this mural:

<snip>

> Building Kelbt is no problem but I don't really know how to go about
> manually installing an app in Linux.

Three main ways of doing it:

The first is to search for a pre-built package and install that;
The second is to use "./configure , make , sudo make install" ;
The third is to build it and add the binaries to ${HOME}/bin .

The first one has the advantage of adding the package to the package
database, which makes removing it easy.

The second one doesn't add it to the package database, which means that
if the manual install writes to /usr/(s)bin and you later add a package
using rpm, YaST2 or zypper, that includes a file of the same name, it
will overwrite it without letting you know. Also, removing a package
properly installed and managed by package management will remove the
files, thereby further breaking the manually installed package. To make
sure this doesn't happen, you need to make sure the package is
installed under /usr/local/(s)bin .

The third way is easier, especially for simple packages but does mean
the software will only be accessible for the user that has installed
it.

> The binary for Ragel ended up in /usr/bin I think.

It's interesting that kelbt isn't built in the same place as ragel, but
it's not. As for where the binary should go, it should be under
/usr/bin as a packaged binary or /usr/local/bin for an unpackaged one.

> I'm tempted to just
> copy the binary for Kelbt into the same folder (and make sure the
> permissions are set right),

That's easy enough. Use chmod to set the permissions to 755 , copy it
into place as root and then use chown to change ownership to root.users
and it should be fine. Personally, as you're talking about installing a
locally built binary, I'd copy it under /usr/local/bin .

> but I'm concerned that this might be
> asking for trouble - that it might interfere with the normal OpenSUSE
> software management somehow or otherwise cause problems.

If someone, somewhere creates a package with the same name and you
install it, it will overwrite the one you manually install. If not, or
you don't install a package with the same name, it should be fine.

> Suggestions?

Yes. Look for a packaged version. You'll find one through the normal
http://software.opensuse.org/search search page hiding in someones
home project, or in this case a sub-project.


Regards,
David Bolt

--
Team Acorn: www.distributed.net OGR-NG @ ~100Mnodes RC5-72 @ ~1Mkeys/s
openSUSE 11.0 32b | | openSUSE 11.2 32b |
openSUSE 11.0 64b | openSUSE 11.1 64b | openSUSE 11.2 64b |
TOS 4.02 | openSUSE 11.1 PPC | RISC OS 4.02 | RISC OS 3.11