Sometimes FreeBSD's Ports collection are super awesome, and sometimes...

iroc409

[H]ard|Gawd
Joined
Jun 17, 2006
Messages
1,385
Installing a test machine for Nagios, and somehow I'm down the rabbithole of installing X on a machine that doesn't need it, all because I wasn't paying attention and some obscure library wanted to install "X Support". Well, if you're going to install X support, you're going to have to install X to have something to support, right?

Right now it's stuck in dependency hell, and it's just a netbook so this could be awful. It's currently installing PNG support. Hooray! :mad:

The worst part is I was installing Nagios with a combination guide for FreeBSD and Nagios' own documentation. I downloaded the latest source and plugins, but thought "nah, better just use the ports just in case". The ports version, which I updated yesterday, is on 3.5 and I download 4-something.

I may have learned my lesson for today. At least MySQL, Apache & php are running.
 
It's just a test system. Compiling stuff takes forever. It did finish last night, and didn't actually install X, but it looks like it installed a bunch of X libraries and .jpg and .png libraries.

I started installing it on my larger laptop, but powerd wasn't working right or maybe doesn't support it well and it was getting incredibly hot.

I remember running Apache on antique stuff 15 years ago, so it'll work for what I want it to do. :D

ETA: I think it's actually a FAMP server ;P
 
Last edited:
Yeah. I just did a new 10.0. Default perl and perl+1 version both failed with the infamous "makefile has been rebuilt", but that blocks bash and gcc and pretty much everything else. Emacs won't build on first try because of some gtk garbage wanting cairo support in some x11 thing. Had to go with perl-5.12 which I'll have to remove later. How normal people are supposed to get over that I dunno.

Oh and a complete ports rebuild because of the changed package install format.
 
Ugh, I think I've had that error before. I've also been fighting my new(ish) Sophos UTM, because it blocks all kinds of things in weird places (like Wikipedia and Sourceforge in AppBlocker).

I gave up on a couple of vim installs because the rabbit hole was just too deep. This recent install also installed an alternative OpenGL library, freeglut. I can't think of why a machine without a GUI would need OpenGL, but I might be missing something.

It sometimes takes me a try or two to get a stable install with what I want, which is why I want a test run before putting anything into production. I'm getting better at documenting things, which helps.
 
OpenGL can be used to render things into buffer, e.g. for making charts.

You might be able to turn off that particular dependency chain but BATCH=1 is unfortunately mostly a must for us today.
 
Dependency hell, revisited. I just re-installed due to ports madness and a wrong file version. Brand new, clean FreeBSD 10.0.0 install, OS & ports freshly updated. I asked it to install Samba4, and this is what it installed. **** me. Why did it install bash, and a whole load of X libraries, for Samba? This is a zfs file server, and that's IT. No X, and this time I wasn't even going to install bash because of all its apparent X dependencies--but it installed bash for me!

Aaarrrgh. Now, can I just start going through and remove most of this? I don't want a bunch of crap on the system I don't need. TrueType font rendering, font configuration API for X Windows? X Display Manager Control Protocol library?

Code:
root@servy:/usr/ports/net/samba4 # pkg info
autoconf-2.69                  Automatically configure source code on many Un*x platforms
autoconf-wrapper-20131203      Wrapper script for GNU autoconf
avahi-app-0.6.31_2             Service discovery on a local network
bash-4.3.11_2                  The GNU Project's Bourne Again SHell
bigreqsproto-1.1.2             BigReqs extension headers
bison-2.7.1,1                  Parser generator from FSF, (mostly) compatible with Yacc
boehm-gc-7.2e                  Garbage collection and memory leak detection for C and C++
ca_root_nss-3.16               The root certificate bundle from the Mozilla Project
cairo-1.10.2_10,2              Vector graphics library with cross-device output support
cmake-2.8.12.1_4               Cross-platform Makefile generator
cmake-modules-2.8.12.1_1       Modules and Templates for CMake
cups-client-1.7.2              Common UNIX Printing System: Library cups
cyrus-sasl-2.1.26_7            RFC 2222 SASL (Simple Authentication and Security Layer)
dbus-1.8.0                     Message bus system for inter-application communication
dbus-glib-0.100.2_1            GLib bindings for the D-BUS messaging system
docbook-1.5                    Meta-port for the different versions of the DocBook DTD
docbook-sgml-4.5_1             DocBook SGML DTD
docbook-xml-5.0_2              DocBook XML DTD
docbook-xsl-1.76.1_2           XSL DocBook stylesheets
expat-2.1.0                    XML 1.0 parser written in C
fontconfig-2.11.0_3,1          XML-based font configuration API for X Windows
freetype2-2.5.3_2              Free and portable TrueType font rendering engine
gamin-0.1.10_7                 File and directory monitoring system
gdbm-1.11                      GNU database manager
getopt-1.1.5                   Replacement for getopt(1) that supports GNU-style long options
gettext-0.18.3.1_1             GNU gettext package
glib-2.36.3_2                  Some useful routines of C programming (current stable version)
gmake-3.82_1                   GNU version of 'make' utility
gmp-5.1.3_2                    Free library for arbitrary precision arithmetic
gnome_subr-1.0                 Common startup and shutdown subroutines used by GNOME scripts
gnomehier-3.0                  A utility port that creates the GNOME directory tree
gnutls-2.12.23_5               GNU Transport Layer Security library
gobject-introspection-1.36.0_2 Generate interface introspection data for GObject libraries
help2man-1.43.3_1              Automatically generating simple manual pages from program output
inputproto-2.3                 Input extension headers
intltool-0.50.2                Tools to internationalize various kinds of data files
iso8879-1986_3                 Character entity sets from ISO 8879:1986 (SGML)
kbproto-1.0.6                  KB extension headers
ldb-1.1.16                     LDAP-like embedded database
libICE-1.0.8_2,1               Inter Client Exchange library for X11
libSM-1.2.2_2,1                Session Management library for X11
libX11-1.6.2_2,1               X11 library
libXau-1.0.8_2                 Authentication Protocol library for X11
libXdmcp-1.1.1_2               X Display Manager Control Protocol library
libXrender-0.9.8_2             X Render extension library
libcheck-0.9.12                Unit test framework for C
libdaemon-0.14_1               Lightweight C library that eases the writing of UNIX daemons
libffi-3.0.13_1                Foreign Function Interface
libgcrypt-1.5.3_2              General purpose crypto library based on code used in GnuPG
libgpg-error-1.13              Common error values for all GnuPG components
libiconv-1.14_3                Character set conversion library
libinotify-20120419_2          Kevent based inotify compatible library
libpaper-1.1.24_1              A library providing routines for paper size management
libpthread-stubs-0.3_4         This library provides weak aliases for pthread functions
libsunacl-1.0                  Wrapper providing SunOS NFSv4 ACL API
libtasn1-3.3                   ASN.1 structure parser library
libtool-2.4.2_3                Generic shared library support script
libxcb-1.10_2                  The X protocol C-language Binding (XCB) library
libxml2-2.9.1_1                XML parser library for GNOME
libxslt-1.1.28_3               The XSLT C library for GNOME
m4-1.4.17_1,1                  GNU m4
nettle-2.7.1                   Low-level cryptographic library
openldap-client-2.4.39         Open source LDAP client implementation
p11-kit-0.20.2_1               Library for loading and enumerating of PKCS#11 modules
p5-Locale-gettext-1.05_3       Message handling functions
p5-Parse-Pidl-4.1.7            IDL compiler written in Perl
p5-Parse-Yapp-1.05             Perl extension for generating and using LALR parsers
p5-XML-Parser-2.41_1           Perl extension interface to James Clark's XML parser, expat
pcre-8.34_1                    Perl Compatible Regular Expressions library
perl5-5.16.3_9                 Practical Extraction and Report Language
pixman-0.32.4_2                Low-level pixel manipulation library
pkg-1.2.7_2                    Package manager
pkgconf-0.9.5                  Utility to help to configure compiler and linker flags
png-1.5.18                     Library for manipulating PNG images
popt-1.16                      A getopt(3) like library with a number of enhancements, from Redhat
python2-2_2                    The "meta-port" for version 2 of the Python interpreter
python27-2.7.6_4               Interpreted object-oriented programming language
renderproto-0.11.1             RenderProto protocol headers
samba-nsupdate-9.8.6_1         An nsupdate utility with GSS-TSIG support
samba4-4.0.17_1                A free SMB/CIFS and AD/DC server and client for UNIX
sdocbook-xml-1.1_1,2           "Simplified" DocBook XML DTD
talloc-2.1.0                   Hierarchical pool based memory allocator
tdb-1.2.13,1                   Trivial Database
tevent-0.9.21                  Talloc based event loop library
w3m-0.5.3_2                    Pager/text-based WWW browser
xcb-proto-1.10_1               The X protocol C-language Binding (XCB) protocol
xcb-util-0.3.9_3,1             A module with libxcb/libX11 extension/replacement libraries
xcb-util-renderutil-0.3.8_2    Convenience functions for the Render extension
xcmiscproto-1.2.2              XCMisc extension headers
xextproto-7.3.0                XExt extension headers
xf86bigfontproto-1.2.0         XFree86-Bigfont extension headers
xmlcatmgr-2.2                  SGML and XML catalog manager
xmlcharent-0.3_2               XML character entities
xmlto-0.0.26_1                 Front-end to an XSL toolchain
xorg-macros-1.19.0             X.Org development aclocal macros
xproto-7.0.25                  X11 protocol headers
xtrans-1.3.4_1                 Abstract network code for X
 
Last edited:
Heh, yeah I did pkg autoremove and it removed 47 packages. To weed out the rest is going to take some work, I think. Thanks for the link, I don't think I've seen that page yet.
 
Heh, yeah I did pkg autoremove and it removed 47 packages. To weed out the rest is going to take some work, I think. Thanks for the link, I don't think I've seen that page yet.

Can you clarify whether you compile yourself from ports or do you download binary packages.

When you compile from ports, make sure you do not turn on BATCH=1 so that packages that have options about optional dependencies display their choices.
 
I generally compile from ports. How do you pick out all the dependencies though without researching every single option it gives you (thus taking an obscene amount of time)?
 
Back
Top