Get Solaris/Linux package (from package repo) and put on server manually

2

First I'm not Solaris/Linux guy, pure Windows.

My problem: I need to get ffmpeg executables on hosting Solaris servers. The first and obvious way it to take source code and compile it there. But there can be difficulties and I decided to defer this option. Option two: there are build packages for solaris 11 of ffmpeg (http://www.solarismultimedia.com/?q=node/53)

I don't have root permissions on hostring servers and can not perform any package operations. So I thought maybe it is possible to get package from the repo mentioned above and manually upload executables to server, and then do the stuff.

The problem is that I don't have any solaris machine to download the package. Actually only windows available.

What can be solution to the problem?

WHITECOLOR

Posted 2013-03-02T18:01:39.700

Reputation: 347

Have you tried to compile ffmpeg? It may be not as horrible as you think -- at least some comments in ffmpeg's configure suggest that Solaris is handeled. – mpy – 2013-03-02T18:11:54.967

Not yet, I just never compiled anything in linux/solaris, and the first time I had to do it in uncontrolled environment. But it seems that I have no choice -) – WHITECOLOR – 2013-03-02T18:35:55.757

Start with ./configure --prefix=$HOME/ffmpeg (I prefer to test a program inside a separate directory before I let it mess up $HOME/bin ...) and if finished without error run make && make install. At least that's the normals procedure in Linux or Cygwin. – mpy – 2013-03-02T20:23:29.477

1Ok, thanks, my hosting provider (actually nodejitsu) says that it is a bad pattern to compile very time I deploy the app. They say the will check the decision on not installing ffmpeg. Other wise maybe I will just setup in on VDS. – WHITECOLOR – 2013-03-03T11:07:35.477

Answers

2

Welcome to package and dependency management.

Unlike rpm, deb or other common linux packaging formats the Solaris system uses the .p5i format which does not contain all the installation files of the package itself. So the only other alternative is to mirror the whole repo on your server using the pkgrepo create and pkgrecv, set up an instance of pkg.depotd locally on your system and add that as a publisher.

But even if you do all that, you say that you do not have root privileges on the server and hence you would not be able to install anything using the the Solaris package manager pkg since it would try to install to locations such as /usr/bin, /bin, /sbin, /etc, /lib, /usr/lib.

The only other alternative is your option 1, of trying to compile packages from source.

I've done this a couple of years back on my department's CSE student login machine. It was also using solaris I believe but it doesn't matter. You need to compile the packages and its dependencies (which you cannot find already installed on the machine) from source and put them in directories like $HOME/bin, $HOME/lib and set up your .bashrc $PATH and $LD_LIBRARY_PATH accordingly to pick up the correct binaries and libraries on startup.

Tuxdude

Posted 2013-03-02T18:01:39.700

Reputation: 609

1While the .p5i files are just references to a remote repository, you can make .p5p files from Solaris 11 packages that contain the entire contents and install from them. But again, without root access, that would just give you a bunch of files expecting to be installed in a directory you can't put them in. – alanc – 2013-03-03T00:12:27.027