Opened 12 years ago

Closed 12 years ago

Last modified 21 months ago

#3939 closed defect (invalid)

checkinstall needs root even with --install=no

Reported by: SF/scurtescu Owned by: fingolfin
Priority: normal Component: Port: Linux
Keywords: Cc:


Built ScummVM 0.12 from source on a AMD64 Ubuntu Hardy system.

After ./configure and make I run: $ checkinstall --install=no

I would expect this command to just build a .deb, but it complained that it cannot access /usr/local/bin/scummvm. Here is the complete error message:

-------------------------------------------------------- Installing with make install...

========================= Installation results =========================== install -d "/usr/local/bin" install -c -s -m 755 "./scummvm" "/usr/local/bin/scummvm" strip: could not create temporary file to hold stripped copy of '/usr/local/bin/scummvm' install: strip process terminated abnormally make: *** [install] Error 1

**** Installation failed. Aborting package creation.

Cleaning up...OK

Bye. --------------------------------------------------------

I run the same command with sudo: $ sudo checkinstall --install=no

And this time the .deb was created as expected.

It looks to me that the problem is in the make file. Not sure what happens when you use "checkinstall --install=no", but it clearly should work for a non-privileged user.

Ticket imported from: #2091524. Ticket imported from: bugs/3939.

Change History (11)

comment:1 by fingolfin, 12 years ago

I have no idea what "checkinstall" is, and what it is doing, to be frank.

But our "install" target by default tries to install things into the --prefix you provided to configure, which in turn defaults to "/usr/local". If you are not root, you can't install there. Pass a different prefix to configure, e.g. /home/YOURNAME/local, and it should work.

So, it is not clear to me what our "bug" here, is -- from my point of view, it might be a book in this "checkinstall" thing you are using :)

comment:2 by fingolfin, 12 years ago

Owner: set to fingolfin
Status: newpending

comment:3 by SF/scurtescu, 12 years ago

Owner: fingolfin removed
Status: pendingnew

comment:4 by SF/scurtescu, 12 years ago

checkinstall is a wrapper around 'make install', it creates native packages:

I still think the issue is with the makefile. Used 'checkinstall --install=no' on many source packages and never had to run it as root, that's the whole point of '--install=no'.

It may not be a bug, but a feature request. I don't know how checkinstall does its magic, it somehow watches where 'make install' would install files (maybe does that by changing the prefix to a tmp folder?) and based on that creates a native package and then, depending on the --install option, installs that package. Basically, except for the very last step - the actual package installation, the whole process should work for a regular user.

Is it possible that the make file has hard coded references to /usr/local/bin/scummvm ? Just guessing.

comment:5 by SF/scurtescu, 12 years ago


My last comment could have inadvertently override some of your changes, not sure. Received some contradictory email notifications.

comment:6 by fingolfin, 12 years ago

No, we don't hard code /usr in the Makefile -- if you try a different --prefix, you'll be able to install e.g. into your home dir.

Are you sure checkinstall is supposed for non-root users? Nothing in the checkinstall docs seems to suggest that.

But whatever it is, it's not a bug on our side -- either you are using the tool incorrectly, or it relies on some non-standard Makefile behavior (like expecting the Makefile to support DESTDIR, which is true for automake based Makefiles, but not in general).

comment:7 by fingolfin, 12 years ago

Owner: set to fingolfin

comment:8 by SF/scurtescu, 12 years ago

Yes, I am pretty sure checkinstall works for non-root users, did that numerous times.

Quite possible that it relies on some extra makefile behaviour, but since I never had a problem like this I would assume it is a pretty common feature.

comment:9 by fingolfin, 12 years ago

Resolution: invalid
Status: newclosed

comment:10 by fingolfin, 12 years ago

Still, it's not a bug in ScummVM :).

If you find out what magic the checkinstall guys expect from a build system / configure script to do their magic, feel free to file a feature request, and we'll be happy to consider adding it.

In the meantime, though, I'l close this bug report, as I can see nothing we do wrong, and from the provided information it's impossible for me to do more than guess what checkinstall does.

comment:11 by digitall, 21 months ago

Component: Port: Linux
Note: See TracTickets for help on using tickets.