Installing an older version of a port

Polytropon freebsd at
Fri Dec 2 07:51:19 UTC 2011

On Fri, 02 Dec 2011 15:25:48 +1000, Da Rock wrote:
> On 12/02/11 14:01, Adam Vande More wrote:
> > On Thu, Dec 1, 2011 at 9:55 PM, Da Rock 
> > <freebsd-questions at 
> > <mailto:freebsd-questions at>> wrote:
> >
> >     I've never actually done this before, so I'm a little shaky on the
> >     details.
> >
> >     ffmpeg-0.7.7,1 doesn't work for my purposes: ffserver/ffmpeg
> >     aren't communicating all that well- I'm still working out the
> >     details, but essentially either or both are borked. I've been
> >     working with the ffmpeg list to sort it out.
> >
> >     FFmpeg-devel doesn't work either (for whatever reason- again
> >     communicating upstream for support, although the maintainer might
> >     put opencv as broken in that port), so I'm left with 0.7.6,1 which
> >     does appear to work at this point.
> >
> >     My question is this: how do I do this exactly? The dependencies
> >     will require updating and could fail as well right? I tried a
> >     pkg_create of the port and installing it where required, but it
> >     requires pciids-20111002 and pciids-20111109 is installed (and
> >     probably required by other ports). How can I install the older
> >     version without breaking things (at least too much- I can fix
> >     things but there is usually always a limit)?
> >
> >     My system is 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #1: Sun Mar 13
> >     08:45:42 EST 2011 /usr/obj/usr/src/sys/MEDIA  amd64. I have
> >     portupgrade and updated to the latest ports (apparently that is
> >     the problem- although I've only been fiddling with ffmpeg and it
> >     is not in production with my project task per se).
> >
> >
> >
> I already have a copy of the port required as a pkg, but how do I handle 
> the dependencies?

You can also use the "portdowngrade" tool to checkout
an older version of a port. I had success getting something
to work again that has been "modernized" (and disimproved
for that matter). :-)

For the dependencies:

In most cases, it works like this: Determine the port's
dependencies and install the current versions (e. g. of
other programs it depends on, or libraries). Typically,
they are "downward compatible", for example if the port
requires libfoobar-1.4, but 1.5 is the current version
in ports, install it, and it will still work. In worst
case you have to manually add a symlink for the shared
library libfoobar-1.4@ -> libfoobar-1.5 so the program
can "pick it by version number".

Of course, this might sound strange if one takes the
initial ideas of shared libraries and their versioning
into mind. :-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list