October 2009 : a new release (bibus 1.5.0)

  • OOo3.1 compatibility
  • Infinite number of file/http links
  • Clever capitalization (lord of war => Lord of War ...)
  • Better handling of journal abbreviations
  • Import/Export filters can be added easily (plugin)
  • journal abbreviations and shortcuts can be easily edited (simple csv file that can be edited in OOo/excel or a text editor)
  • Lot of bug fixes
  • Requires python2.5 (not a problem anymore under Windows since OOo3.1 includes 2.6)
  • Requires wxpython-2.8

Installation for mac users

From Bibus

Jump to: navigation, search


Installation of Bibus on Mac OS X 10.5 with a local database file (SQLite)

Most ordinary users will want to use Bibus with a bibliography stored locally on the same computer. In this case, Bibus will be set up using SQLite.

Mac OS X 10.5 contains Python 2.5 and wxPython. The CVS branch 'v1_4' version of Python can be downloaded and made to run on this OS for use with a local SQLite database. No additional packages need to be installed. However, the 'First Start Wizard' does not work. This can be circumvented by creating the configuration files by hand in the appropriate directories.

Current Status

  • The application starts, local (SQLite) databases can be accessed and edited.
  • No connectivity yet with OpenOffice nor MS Office.
  • Several 'glitches' in the UI, in particular the 'Reference Editor' window does not gain focus when accessing a reference by double-clicking, and remains hidden behind the main window. Minimizing the main window show the Reference Editor window.
  • No simple installation package.

Work needs to be done somewhere in the future on simplifying the installation. Those interested in having details on the current installation procedure are kindly invited to contact chemwords on sourceforge. We have summarized the current status of our efforts in "Towards a Bibus application bundle on Mac OS X 10.5 or later".

Installation of Bibus on Mac OS X 10.5 with a remote MySQL database

This section will only describe an installation of Bibus for use with a remote MySQL database. Most users will be interested in using a local SQLite database, so this part is of less interest to them.

Python 2.5, SQLite and wxPython are already shipping with Mac OS X 10.5, which means that no additional packages need to be installed to get Bibus running.

I managed to get at least to start the application, it is not functional yet. Maybe somebody can correct this and help Mac Users to get Bibus running.

Current Status

  • The application starts, and new references can be inserted with Bibus. These references can be inserted in Neo/ but not directly from Bibus.
  • Importing fails, message is "Table tmp_import does not exist
  • OpenOffice in Bibus menu doesn't work yet

Please edit this how-to if you know what has do be done differently.

Here is what I did:


I did not install a "native" MySQL server but used the MAMP system as a backend:

Here is Apple's Info on how to load the mysql client binaries:

  1. Download the file at and unpack it
  2. In a terminal, go into the folder
  3. execute "

sudo tar -xzvf MySQL-43.root.tar.gz -C /"

Python MySQL bindings

There are some problems with the MySQLdb bindings of the Python version shipped with the Mac, see

  1. Get mysql-python from
  2. Unzip and open the folder. In the file "site.cfg", you need to configure the "mysql_config" variable like so: "mysql_config = /usr/bin/mysql_config". Or course, uncomment the ligns that you modified.
  3. There is a problem with Python's default enconding (ascii). In python >= 2.5, sitecustomize no longer exists. To turn python's default encoding into 'UTF-8', you have to change (as root)
    /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.pyFind the ligne "def setencoding():". For lignes after, turn , turn encoding ='ascii' into encoding = "UTF-8".
  4. In the file "_mysql.c", you need to delete the three following lines:
 #ifndef uint 
 #define uint unsigned int
  1. Contrary to the how-to mentioned above, creating a symlink seems not necessary
  2. execute "sudo python install"

Creating Databases

Somehow Bibus did not create the databases for me, so I did it manually:

  1. In your MySQL installation, manually create database "Biblio"
  2. Create tables by executing the sql in db_models/mysql.sql

Configuring Bibus

Create a file Makefile.MacOSX in the Setup folder with a text editor (vim or Emacs). Insert the following text:

# you presumably will only have to change the three first lines below
DESTDIR = /Applications/
python = /usr/bin/python
oopath = /Applications/,/Applications/
prefix = $(DESTDIR)
exec_prefix = $(prefix)/MacOS
bindir = $(exec_prefix)
datadir = $(prefix)/Resources
sysconfdir = $(datadir)
mandir = $(datadir)/man
man1dir = $(mandir)/man1
define install-files
	install -d $(bindir) $(datadir) $(sysconfdir) $(mandir) $(man1dir) $(datadir)/Bibus\ Help 
	install *.py MySQL_Bibus.ini $(bindir)
	for dir in bibMSW Data db_models Export FirstStart Format Import MySQL_Setup StyleEditor FirstStart bibOOo db_models Pixmaps Setup StyleEditor wxg ; do \
		find -d $$dir ! -path '*CVS*' -a -type d -exec install -d $(bindir)/'{}' ';' ; \
	for dir in bibMSW Data db_models Export FirstStart Format Import MySQL_Setup StyleEditor FirstStart bibOOo db_models Pixmaps Setup StyleEditor wxg ; do \
		find -d $$dir ! -path '*CVS*' -a -type f -exec install '{}' $(bindir)/'{}' ';' ; \

	# locale files. We look for all the directory in locale/
	for dir in $(wildcard locale/*); do \
		if [ $$dir ] && [ $$dir != "locale/CVS" ] && [ $$dir != "bibus.pot" ] ; then \
			install -d -m664 $(datadir)/$$dir/LC_MESSAGES/ ; \
			install -m664 $$dir/LC_MESSAGES/ $(datadir)/$$dir/LC_MESSAGES/ ; \
		fi; \
	ln -s $(datadir)/locale $(bindir)/

	# bibus.config
	install bibus.config $(sysconfdir)/
	# Create PkgInfo file.
	echo "APPL????" > $(DESTDIR)/PkgInfo
	# Create information property list file (Info.plist).
	touch $(DESTDIR)/Info.plist
	chmod 755 $(DESTDIR)/Info.plist
	echo '<?xml version="1.0" encoding="UTF-8"?>' >> $(DESTDIR)/Info.plist
	echo '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "">' >> $(DESTDIR)/Info.plist
	echo '<plist version=\"1.0\">' >> $(DESTDIR)/Info.plist
	echo '<dict>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleDevelopmentRegion</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>English</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleExecutable</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>''</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleInfoDictionaryVersion</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>6.0</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundlePackageType</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>APPL</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleSignature</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>????</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleVersion</key>' >> $(DESTDIR)/Info.plist
	echo '  <string>1.0</string>' >> $(DESTDIR)/Info.plist
	echo '  <key>CSResourcesFileMapped</key>' >> $(DESTDIR)/Info.plist
	echo '  <true/>' >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleGetInfoString</key>'  >> $(DESTDIR)/Info.plist
	echo '  <string>Bibus 1.2.11 GNU – GNU-FDL</string>'  >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleHelpBookFolder</key>'  >> $(DESTDIR)/Info.plist
	echo '  <string>Bibus Help</string>'  >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleName</key>'  >> $(DESTDIR)/Info.plist
	echo '  <string>Bibus</string>'  >> $(DESTDIR)/Info.plist
	echo '  <key>CFBundleShortVersionString</key>'  >> $(DESTDIR)/Info.plist
	echo '  <string>1.2.11</string>'  >> $(DESTDIR)/Info.plist
	echo '</dict>' >> $(DESTDIR)/Info.plist
	echo '</plist>'  >> $(DESTDIR)/Info.plist

	# man page
	install -m644 Setup/bibus.1 $(mandir)/

	# freedesktop icon and shortcut
	install -m664 Pixmaps/bibus.png Setup/bibus.desktop $(datadir)/
	echo 'Exec=$(bindir)/bibus' >> $(datadir)/bibus.desktop
	echo 'Icon=$(datadir)/bibus.png' >> $(datadir)/bibus.desktop

	# bibus command
	install Setup/UnoConnectionListener.odg *.py MySQL_Bibus.ini $(bindir)/
	ln -sf $(datadir)/ $(bindir)/bibus
	chmod 755 $(bindir)/bibus
	touch $(bindir)/
	echo '#!/bin/sh' > $(bindir)/
	echo 'export DYLD_LIBRARY_PATH="/Applications/$DYLD_LIBRARY_PATH"'
	echo 'exec /usr/bin/python /Applications/' >> $(bindir)/
	chmod 775 $(bindir)/

	# copying doc files
	install -d $(datadir)/Bibus\ Help
	cp -R Docs/html/* $(datadir)/Bibus\ Help/
	ln -s $(datadir)/Bibus\ Help $(bindir)/Docs

	# generating bibus.cfg file
	echo '[PATH]' > $(datadir)/bibus.cfg
	echo 'python = $(python)' >> $(datadir)/bibus.cfg
	echo 'oopath = $(oopath)' >> $(datadir)/bibus.cfg
	echo 'docdir = $(datadir)/Bibus\ Help' >> $(datadir)/bibus.cfg
	echo 'licence = $(datadir)/Bibus\ Help/copying' >> $(datadir)/bibus.cfg
	echo 'localedir = $(datadir)/locale' >> $(datadir)/bibus.cfg
	echo 'systemconf = $(sysconfdir)/bibus.config' >> $(datadir)/bibus.cfg
	ln -s $(datadir)/bibus.cfg $(bindir)

define compile
	# compile recursively all the python files located in $(bindir)/
	$(python) -c "import compileall ; compileall.compile_dir('$(bindir)/')"
	$(python) -O -c "import compileall ; compileall.compile_dir('$(bindir)/')"



	# write uninstaller in $(datadir)/Setup/
		echo "#!/bin/sh" > $(bindir)/
		echo "rm -rf $(DESTDIR)" >> $(bindir)/
	chmod 744 $(bindir)/
	# end uninstaller

You can change the bibus settings in bibus.cfg:

 oopath = /Applications/</tt> or /Applications/
 BIBbase.DB_STARTUP = 1		    # 0 = last used db used at startup. 1 = default db
 BIBbase.DB_TYPE ='MySQL'         # type of database used 'MySQL','SQlite', etc... => modules dbBibMySQL,dbBibSQLite, etc...

Since I use a MAMP MySQL server, the socket entry is

 BIBbase.SOCKET = '/Applications/MAMP/tmp/mysql/mysql.sock' 

See for other cases.

I created a user bibus with password bibus who had access to the "Biblio" database and entered the following configuration values:

 BIBbase.PORT = 3306
 BIBbase.HOST = 'localhost'
 BIBbase.USER = u'bibus'
 BIBbase.PASSWORD = u'bibus'

However, it would still connect with my system user name and ask the password, so I had to create a user in the database that corresponded with my system user name.

If you have Aqua installed, this path becomes : /Applications/ In order to configure bibus to interact with Neo/ Aqua, you will need later to acces his program directory. Make a symlink as root in the console, e.g. by typing $: ln -s /Applications/ /Volumes/Your-HD-Name/program

Go to the bibus folder and run as root: make -f Setup/Makefile.MacOSX. A MacOS-like application will be created in the Applications folder. So now, you may remove the bibus source folder. Double-click on the Bibus Application and Bibus starts.

Connecting Bibus to your database

If your settings doesn't allow you to access to your database from Bibus, you can change these into Bibus. Edition > Preferences. Click on "Préférences avancées" below left. Choose "Base" to change your database settings. Menu File > Connect ("Fichier > Se connecter"). You can now insert new references.

Import worked with the Medline format (Sqlite -> medline. Menu File > Import > Medline) but the Identifier Field was corrupted.

Connecting to your database with NeoOffice or OpenOffice

You have two ways to do it : ODBC or JDBC. The mysql-connector-odbc doesn't work very well yet. You can better choose the mysql-connector-jdbc.

Connecting to your data base with ODBC

You have to install an ODBC driver for your database.

You can visit Mac How to find out how to uninstall software on mac

Before to open the ODBC administrator (/Applications/Utlities/ODBC Administrator), a few steps are needed.

  • $: chmod 664 /Library/ODBC/odbc*) in order to make possible to create a system DSN. You can revert it by typing $: chmod 644 /Library/ODBC/odbc*. Don't worry, ODBC Administrator fails very often. If you changed the permissions, it will still fail but after saving your modifications.

Open the ODBC Administrator application. You have first to declare what driver are available. If you have mysql-connector-odbc, you can skip to the next step. For SQLite, click on Driver > Add… In the driver file field, type /usr/local/lib/ In the configuration file field, type the same (/usr/local/lib/ Define it as "system" (available for the entier system).

Declare your datasources in DSN users or DNS system, e.g. DSN system > Add… Choose the driver for your database type (in my case "MySQL ODBC 5.1 Driver" becaus MySQL ODBC 3 fails). Configure the acces to your database. If your using MAMP :

Data Source Name : Biblio
Server : localhost                            #default
User : Biblio
Password : ••••
Database : Biblio

In the Connect options,

Port : 8889 #(depending on MAMP. MySQL default port : 3306)
Socket : /Applications/MAMP/tmp/mysql/mysql.sock
Character Set : utf8

You can test the connection. If it works, the your database will be available for or NeoOffice.

For SQLite : you just have to give a name of your DNS. DNS Users/System > Add… Type any name (you will chose your database file later).

Connecting to your database with JDBC

Unpack it and remember the location of the driver file (e.g. mysql-connector-java-<version>-bin.jar or sqlitejdbc-v43-native.jar).

Connecting NeoOffice/ to your database

ODBC users, skip this step. JDBC Users choose in OpenOffice or NeoOffice in the menu Tools > Options… > > Java > Class path… and select your JDBC driver.

In, create a new database. Choose to connect to an existing database. Select MySQL, ODBC or JDBC.

  • JDBC
URL of the database Driver class
mysql://localhost/Biblio (doesn't work)
sqlite:///Path-to-your-database org.sqlite.JDBC

  • MySQL
    • JDBC: Type the informations about the server of your database as in the DSN declaration
    • ODBC : Type the DSN name
  • ODBC : type the DSN name

Mac OS X < 10.5

Getting Bibus to run on older versions of Mac OS X is (even) more complicated, since these versions do not automatically include all necessary packages. These need to be installed separately.

This this a procedure to install Bibus under Mac OS X. This procedure is not complete and should be updated

  1. Install:
    • python >=3D 2.3 (the same version that the version in OOo. Normally 2.3)
    • wxpython with unicode support for the correct python version
    • pysqlite version 1.0; 1.1 or 2.0. The best is 2.0
  2. Download bibus.tar.gz and unpack
  3. Open a terminal:
    • cd "bibus installation directory"
    • python
  4. Now we have to setup OOo communication
    • Start OOo
    • open in OOo: "bibus_installation_directory"/Setup/UnoConnectionListener.odg (In OOo2.3 you first have to change in the option the macro rights to "Ask for macro from non-certified source")
  5. Starting bibus with OOo communication: Under linux you must set the LD_LIBRARY_PATH variable. I have no idea of what is the equivalent under MacOS. This variable add library to the path when the libs are not in the standard places. What are the standard places for libs under macOSX ?

Using Bibus on Mac OS while finalizing on MSWindows

The following was tested on MSWindows and might be a workaround for some MacOS users.

ON MSWord for windows, when you display fields with "Toggle field code", a reference looks like this:

{ADDIN BibusRef<Id>221</Id><Identifier>Amnesty_International2010</Identifier><BibliographicType>CUSTOM1</BibliographicType><Address>London, United Kingdom</Address><Author>Amnesty International,</Author><Journal>Amnesty International</Journal><Month>16 December</Month><Title>Security forces kill at least nine unarmed demonstrators</Title><Year>2010</Year>}

You can modify the field by typing in the grey array. If you modify the above field like this: {ADDIN BibusRef<Identifier>Sharp2002</Identifier>}

then update the citations from bibus, it will populate the remaining fields if this identifier exists. If you toggle the code, you'll see the formatted citation.

Hence, maybe it is possible to enter those codes (with the <Identifier> only ) to work on a MacOS, and when the document is ready, to finalize it on a Windows machine. (The MacOS part of it was not tested yet).

Personal tools