# 'make missing' is broken for lang/ruby18



## Seeker (Jul 6, 2011)

```
# cd /usr/ports/lang/ruby18
# make all-depends-list
/usr/ports/security/openssl
/usr/ports/devel/automake
/usr/ports/devel/autoconf
/usr/ports/lang/perl5.12
/usr/ports/devel/makedepend
/usr/ports/devel/automake-wrapper
/usr/ports/devel/m4
/usr/ports/misc/help2man
/usr/ports/devel/gmake
/usr/ports/devel/autoconf-wrapper
/usr/ports/x11/xproto
/usr/ports/devel/pkg-config
/usr/ports/devel/p5-Locale-gettext
/usr/ports/devel/gettext
/usr/ports/devel/libtool
/usr/ports/converters/libiconv
```

If all dependencies are installed, EXCEPT:
/usr/ports/devel/automake
/usr/ports/devel/autoconf

`# make missing`
won't list:
/usr/ports/devel/automake
/usr/ports/devel/autoconf


----------



## DutchDaemon (Jul 6, 2011)

I think it is because they are strictly *build* dependencies (which, by definition, are not needed on the system for any other reason than building the port).

Check:


```
$ make build-depends-list
/usr/ports/devel/autoconf
/usr/ports/devel/automake
[I]/usr/ports/security/openssl[/I]

$ make run-depends-list
[I]/usr/ports/security/openssl[/I]
```

Since OpenSSL is also a *run* dependency, it shows up in *make missing*, whereas the other two don't.

That is not to say that they should be omitted from *make missing* (which appears to be defeating the purpose of that specific command, i.e. listing ports that are still *missing*), but it gives a possible explanation, even if it's as flimsy as "not really necessary in the long run".


----------



## Seeker (Jul 6, 2011)

If that is a case, then target missing should be expanded to:
make build-missing
make run-missing


----------



## DutchDaemon (Jul 6, 2011)

Perhaps, but that's a topic for freebsd-ports@.


----------

