Child pages
  • Spec Files Extra Repository
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Next »

3rd-Party Package Repository "SFE"

The list of available binary "SFE"-packages for OpenIndiana Hipster can be browsed here: -  it contains the promoted LibreOffice package.

For news and updates please always read the blog here:

If you need another package, ask for adding it to the automatic build system there (email sfepackages at gmail dod com).

Please note: There IPS packages are independent from OpenCSW, only the hosting is provided.

Instructions to configure this external IPS repository see here:

The informations below belong to the no longer maintained OI-hosted sfe package repository.

If you want to volunteer, please get in contact and you'll get a introduction on how to build SFE packages and update the OI-hosted "sfe" IPS servers.

What is the Spec Files Extra repository?

The SFE package repository is an "extras" package repository, supplementing the core OI distribution with additional software from the Spec Files Extra project.

It contains a wide variety of software, including:

  • Various languages and compilers (gcc 4.6.2, Steel Bank Common Lisp, the Glasgow Haskell Compiler, Python 3)
  • Various daemons and database programs (PostgreSQL, dovecot, postfix)
  • Qt 4.7 and some applications which use it (the Scribus desktop publishing system, the LyX LaTeX front end, the Arora Web browser)
  • Multimedia applications (Music Player Daemon and several clients, FFmpeg, mplayer2, vlc, MKVToolnix)

Using the SFE repos

Software Patents

Spec Files Extra has two repos, "sfe", and "sfe-encumbered". The sfe repository does not knowingly violate any software patents, and is safe to use.

However the sfe-encumbered repo does contain software known to infringe upon software patents. If you are in the United States, please be advised you may be violating the law if you use this repository. If you are in a country that does not uphold pure software patents, such as many European countries (e.g. the UK), you may ignore this warning.

To install packages from sfe, simply run:

pkg set-publisher -p

To install packages from sfe-encumbered, simply run:

pkg set-publisher -p

You can browse the contents of the repository with a Web browser by visiting the above URLs. However it is easier to navigate through the contents of the repository by viewing it inside Package Manager (System -> Administration -> Package Manager or, from the command line: packagemanager). To show only the contents of this repository, choose "sfe" or "sfe-encumbered" in the "Publisher" menu.

Required OpenIndiana Build

To use this repository, you must be using oi_151a. You can upgrade from OI 147 or 148 by following our Upgrading OpenIndiana instructions


gcc-4 runtime from

If you have the legacy gcc-4 runtime from the publisher installed, you will run into trouble. We would strongly recommend uninstalling it by running:

pkg uninstall pkg://*

You do not need them anyway, since the SFE IPS repository provides a much newer gcc. Also, the gcc-4 builds were non-functional.

gcc-46 is not able to compile .c/c++ files

If you are getting something like this:

       fatal error: sys/ccompile.h: No such file or directory

or this:

ld: fatal: file crt1.o: open failed: No such file or directory
collect2: ld returned 1 exit status

then probably you don't have some packages installed. At the moment these packages should be installed to correctly setup the build environment:

developer/java/jdk (optional)

You can check the packages list in the SFE bootstrap script here:

VirtualBox and GCC 4.6

SFE delivers symlinks for and into /usr/lib as the OpenIndiana project intends to transition to gcc 4.6 as its default compiler. At the present time, this is known to break VirtualBox. You can fix this by invoking the VirtualBox binary as follows:

LD_LIBRARY_PATH=/usr/sfw/lib/amd64 VirtualBox

Or the following if you are on a 32 bit system:

LD_LIBRARY_PATH=/usr/sfw/lib VirtualBox

If that does not work (as it does not seem to with recent versions of VirtualBox), this should:

LD_NODIRECT=1 VirtualBox

Another workaround, which does not require you to set an environment variable each time you run VirtualBox, is given at the vbox bugtracker. It is the first workaround at that link, the one that involves replacing the file VBoxSVC with a small script (while renaming the original file).

Reporting Bugs

If you run into any bugs, please report them at stating the name of the package. Also, maintainers of SFE specs hang out at the IRC channel #pkgbuild, so you might be able to expedite matters by mentioning any problems there first.

Notes on the packages


At present, there are two main multimedia applications at the repository: MPD (Music Player Daemon) for playing music, and mplayer2 for playing videos. The repository also has VLC, but the port of that to OpenIndiana is a work in progress, and playing actual physical DVDs directly is not yet supported. If you don't like playing videos from the command line, it is recommended that you use smplayer, a nice GUI front end to mplayer, unless you have a good reason to use VLC.

MPD is a music player that, this being Unix, follows the client/server model. MPD runs as a server, and there are numerous clients available for it. The SFE IPS repository presently has three GUI clients—gmpc, Sonata, and qmpdclient—and two command line clients, ncmpcpp and mpc. (mpc is a very basic client intended mostly for being used in scripts.)

mplayer2 is a fork of MPlayer. The main reason we chose mplayer2 over the unforked, original mplayer1 is that mplayer2 can link to external libraries supplied by FFmpeg, which do the actual decoding. (mplayer1 uses its own FFmpeg.) This makes it easier to maintain mplayer2 than mplayer1, since packagers can concentrate on maintaining FFmpeg, which changes more quickly than mplayer, as opposed to needing to update mplayer1 each time FFmpeg changes.

A notable difference between mplayer2 and mplayer1 is that mplayer2 does not provide mencoder, which even the mplayer1 developers now consider to be deprecated. Recent versions of mencoder have been observed to produce serious audio sync problems with x264. Therefore, if you want to encode videos, it is recommended that you use ffmpeg, which comes with the SFE OI package library/video/ffmpeg.


Since OpenIndiana comes with the Gnome desktop environment, its native widget toolkit is GTK+. However, there are many useful applications which use GTK's arch rival, Qt. For example, the only usable browser other than Firefox presently available for OpenIndiana appears to be Arora, which descends from a demo app for the Qt WebKit port. (WebKit is the html rendering engine used by Google Chrome, among others.)

it is possible to make Qt applications harmonize fairly well with the native OpenIndiana Gnome desktop. To do so, after you have installed a Qt application such as web/browser/arora, execute /usr/g++/bin/qtconfig and select GTK+ as the GUI Style.

To make Qt use anti-aliased fonts, create .fonts.conf in your home directory containing the following:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
   <match target="font" >
       <edit mode="assign" name="hinting" >

   <match target="font" >
       <edit mode="assign" name="antialias" >

This is necessary because Qt applications do not respect Gnome setting unless KDE is installed.


The easiest way to use Xfce is to just install all the packages by doing (as root) pkg install xfce/*. To boot into Xfce, simply log out, type in your user name at the login prompt and hit return, and select Xfce from the session menu that appears in the bar at the bottom.

The above install command will not install xfce-terminal, since its prefix is terminal, not xfce. So if you want it, you need to install it separately.

NOTE. An obsolete package, xfce-loginmanager, was inadvertently added to the repository. It can keep Xfce from starting and has since been removed. If you installed it, do the following:

pkg uninstall xfce-loginmanager
pkg verify xfce-utils

If the latter shows that there is a problem (if there is no problem, it will not print anything), run

pfexec pkg fix xfce-utils

That will restore a file provided by xfce-utils that xfce-loginmanager overwrote.

  • No labels