Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2015 13:26:23 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Jeffry Killen <jekillen@prodigy.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: ports make search?
Message-ID:  <20150521132623.6bb2ca8e.freebsd@edvax.de>
In-Reply-To: <42273F5C-2759-4B43-B687-A6CEAAD08594@prodigy.net>
References:  <29A62BC7-F140-4BA4-B7DF-1B5F47E27889@prodigy.net> <20150521021030.4a0485ab.freebsd@edvax.de> <42273F5C-2759-4B43-B687-A6CEAAD08594@prodigy.net>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
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, ...



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20150521132623.6bb2ca8e.freebsd>