ports make search?
Polytropon
freebsd at edvax.de
Thu May 21 11:26:29 UTC 2015
On Wed, 20 May 2015 18:46:47 -0700, Jeffry Killen wrote:
>
> On May 20, 2015, at 5:10 PM, Polytropon wrote:
>
> > On Wed, 20 May 2015 16:18:26 -0700, Jeffry Killen wrote:
> >> I am in /usr/ports and
> >> did make search name='libjpg'
> >> It says that INDEX_10 must be built
> >>
> >> So now I have excuted the command
> >> make index
> >>
> >> As I type this it appears that the process is completed.
> >>
> >> But it has been going on for around 20 minutes. Is it
> >> common or not unexpected to take that long?
> >
> > If I remember correctly, the index file can be fetched and
> > doesn't need to be built locally (which really takes some
> > time, as you have noticed):
> >
> > # make fetchindex
> >
> > When the index is present, things like "make search" will
> > work properly.
>
> Thanks;
> I notice that in man ports but I am wondering if the fetch version
> would be up to date with what I have?
The INDEX file should match the snapshot of the ports tree
which you downloaded using portsnap, if I have understood
the mechanism correctly. For updates using SVN this _might_
not be the case, but a mismatch would be reported anyway,
so it's easy to try out.
> To overload this thread:
> I wanted to build php56 and let it fly. It got all the way to libjpeg
> and bailed out
> with the suggestion that I uninstall the version that i installed from
> ports alone,
> because it is incompatible with the version that php-extensions is
> trying to build
> and install.
>
> When I do that and begin the process of installing php56, will it pick
> up from were
> it left off, or start over from the top?
That depends on the dependency version number, or if a port
requires an "exact" or "at least" version of a dependency.
You can run the
# make missing
command before you start the build - it will list the things
that are missing (or not matching).
In case you need to restart a build,
# make clean
# make
# make install
is the recommended approach. Running with "partially built stuff"
often isn't a good idea and could lead to non-working results,
as far as I understand. But you probably don't need to rebuild
all the dependencies, so "make clean-recursive" usually isn't
needed.
> Precompiled packages might be simpler, but if the prebuild binary does
> not have
> all the extensions and features that I want, and has many that I
> don't need or want.
That is the main "problem" with precompiled ports: They are
being generated from the _default_ options of the port which
are set by its maintainer. This will fit in many cases, but
not in all cases, and if _your_ case is different, you need
to set your individual compile options (which the binary
package doesn't reflect). In conclusion, those options might
change which dependencies a port requires. As you will see,
"make missing" could then lead to a different result.
As far as I know, there will be "flavors" of ports that will
deal with this "problem", but it's not there yet. Just imagine
how many different packages you would need for a port with
n options, and then try to find out how to _name_ those... ;-)
Typical candidates for this scenario are, for example, multi-
media software like mplayer or mencoder, where options might
be "I want _all_ codes, even those which are 'illegal' in my
country" up to "I just want a very small subset of codecs
supported, and I want certain specific compiler optimization
flags to make the encoder run on a low-spec system". This is
something you usually solve by using ports, manually set options,
and maybe even Makefile.local.
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list