Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Perl C Makefile HTML JavaScript Java Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
BBBikeCGI BBBikeCGI::Config: handle use_cgi_bin_layout
BBBikeDraw new renderer BBBikeDraw::Mapnik
BBBikeLeaflet bbbikeleaflet templating: simple routetitle handling
BBBikeMapserver * refactored mkroutemap into BBBikeMapserver::MkRouteMap
BBBikeRouting *** empty log message ***
Bundle include CDB_File in windist
ESRI * removed .cvsignore and similar CVS-related files
GIS *** empty log message ***
GPS GPS::GpsmanData: distinguish DateTime and Comment better, and cmt sup…
Geography M.gif -> M.png
Karte usage example for ddd -> dmm conversion
PLZ PLZ::Multi: use binmode (for Windows)
Route Route::Heavy: require Strassen::Core instead of Strassen
Strassen if (0) unused code
Task/BBBike/windist new Task/BBBike/windist (generated with "make tasks")
Way Initial revision
babybike babybike/Makefile: new variable BBBIKEDRAW_RENDERER
bench * rx is much faster on Debian, it seems
c * removed .cvsignore and similar CVS-related files
cache * removed .cvsignore and similar CVS-related files
cdrom use Cwd::getcwd() instead of Cwd::cwd()
cgi set pref_speed to calculated value
data data update (very minor)
doc data update
ext VectorUtil-Inline: rename POINT struct
gnome Initial revision
html leaflet: new option disable_routing
images alpha wm icons
java java sources: get rid of RCS keywords
kde * install-freedesktop Makefile target
lib lib update (Tk::FreeDesktop::Wm with better alpha support)
mapserver new option -distinguishdirections
misc data update
miscsrc check_double: new option -consecutive
msg BBBikeAlarm: small UI improvements
plugins FahrinfoQuery plugin: new VBB data (Jun2015-Dez2015)
port debian control: add libimager-perl
projects deployments: test also cgi-leaflet.t
t GPS::GpsmanData: distinguish DateTime and Comment better, and cmt sup…
tcl *** empty log message ***
tmp * removed .cvsignore and similar CVS-related files
vbbbike * changed remaining code for new street category NH
.gitignore gitignore generated files in Task directory
.travis.yml travis: test also BBBIKE_TEST_GUI=1 * new methods for Ampelschaltung (get_entries, add_epoch_times) obey directions for tram penalty BBBikeAlarm: different leave text in -ask mode possible another host for CLUSTER_DEFS * BBBikeApacheSessionCountedHandler: return 404 in case session id new with get_pmake() function remove perl2exe markers moved draw_bridge and draw_tunnel_entrance to new *** empty log message *** BBBikeDataDownloadCompat: handle If-Modified-Since correctly * fixed order of BBBIKE_DEBUG evaluation fix CGI::param() calls in list context * BBBikeESRI: changed -handleall callback BBBikeUtil: remove function rcs_co() and all usages * moved zebrastreifen from misc to data BBBikeGPS graphs: fix gap plotting canonical json output route name length is now configurable fix in reload_all: reloading ampeln *** empty log message *** * BBBikeLaTeX: cyrillic needs special handling support for categories X0 and F0 (inactive traffic lights) * BBBikeMail: disabled mail sending on Windows fix CGI::param() calls in list context remove "~" from Plugins menu title *** empty log message *** * BBBikePersonal: keep $show_places flag when dialog is redrawn * Class::Struct usages converted to myclassstruct use Cwd::getcwd() instead of Cwd::cwd() * first work on new BBBikePrefsWidget, not usable yet replace a POSIX::tmpnam usage (and modernize code a little bit) BBBikeProcUtil: Windows compat * fixes in BBBikeProfil * Class::Struct usages converted to myclassstruct
BBBikeRouting.pod *** empty log message *** *** empty log message *** * handle possible eof condition in bbbike server *** empty log message *** *** empty log message *** *** empty log message *** * unidecode_string: special replacement for -> character BBBikeUtil: remove function rcs_co() and all usages change $DISTFILE_FREEBSD_I386 * BBBikeVia: fixed immediate firing of ButtonRelease event * workaround for $ENV{TMPDIR} problem BBBikeWinUtil::adjust_path * migration to YAML::XS
CHANGES * date for 3.18
COPYING * updated GPL slight modernization GPS: BOM handling in gpx/kml files *** empty log message *** *** empty log message *** *** empty log message *** Initial revision * improvements for commandline interface of
MANIFEST alpha wm icons
MANIFEST.SKIP MANIFEST.SKIP: ignore also 5.21.10
Makefile.PL include CDB_File in windist
Makefile_admin_PL bundle Tk::FreeDesktop::Wm Initial revision *** empty log message *** PLZ: new make_plz_pcre function Initial revision
README small README update
README.english small README update
README.pod * a new symlink README.pod
README.tpl small README update * about some wordings (for NN, Nebenfahrbahn...) new: Route::load_bbr_as_object (with test) Salesman plugin: better diagnostics if *** empty log message *** *** empty log message *** Initial revision Initial revision Initial revision update refactoring: new function load_modified Initial revision Initial revision
bbbike plotstr: fix redrawing layers in lazy mode
bbbike-activeperl.bat *** empty log message ***
bbbike-fast.bat *** empty log message ***
bbbike.bat bbbike.bat: support %ProgramFiles% variable
bbbike.pod add encoding directive to bbbike.pod
bbbikeapplet * about Gnome2::PanelApplet
bbbikeclient *** empty log message ***
cbbbike * cbbbike works again
cbbbike.bat Initial revision
cmdbbbike's non-existing -local option in documentation and …
install.bat Initial revision use Cwd::getcwd() instead of Cwd::cwd() * fixed permissions
smsbbbike * extend @INC because of myclassstruct usage
tkbikepwr * tkbikepwr: corrected shebang (using /usr/bin/env now)



BBBike - a route-finder for cyclists in Berlin and Brandenburg


You can check on for prebuilt BBBike packages (Windows, some Linux distributions, MacOSX, FreeBSD).

The following installation steps are necessary only for installing BBBike from source.


All systems except Windows


You can find the newest source distribution file of BBBike in the directory . The current source version is .


For FreeBSD there is a port for BBBike in the category german. For older versions of FreeBSD, you can find the port at To install the application via the ports system type:

        cd /usr/ports/german/BBBike
        make all install

If you don't have the BBBike port, you can install BBBike like in other UNIX's.

Linux, Solaris, other UNIX operating systems

First, you have to install perl. Most operating systems have perl already bundled. You can check with

        perl -v

whether and which version of perl is installed. Otherwise you can find perl at You need at least version 5.005, but newer perl versions (5.6.x, 5.8.x, 5.10.x, 5.12.x, 5.14.x, 5.16.x) work, too.

Next step is to extract the BBBike distribution:

        zcat BBBike-3.18.tar.gz | tar xfv -

If perl/Tk (the recommended version is 804.028 or 800.025) is not installed: type as super user:

        cd BBBike-3.18
        perl -I`pwd` -MCPAN -e shell
        force install Bundle::BBBike_small

Perl/Tk will be fetched over the internet, get compiled and installed. "force" is needed because some modules (especially Tk) have expected test failures and therefore would not be installed. If you have problems, especially with the internet connection, then you should follow the instructions in

        perldoc perlmodinstall

on how to install a perl module manually (in this case: the Tk module).

After that, you can start the program with

        perl bbbike

To compile some XS modules (this is optional and needs a C compiler) and install the panel entry for KDE/GNOME, type:




You can also use Bundle::BBBike instead of Bundle::BBBike_small. This will install more Perl modules, some of them only useable for the development, but some of them enabling more features of BBBike.

If you choose to not use "perl", but you want to compile and install the XS modules for better performance, then you have to execute

        make ext

This requires the perl module Inline::C.

Mac OS X

Mac OS X comes already with perl 5.8.x. Now you just need XDarwin and Perl/Tk to get BBBike running. For instructions how to setup Perl/Tk on Mac OS X refer to the newsgroup (see

The following instructions are from Wolfram Kroll:

Get and (from perl-5.8.4-stable.tar.gz, Tk-804.027.tar.gz

1. Perl configured to use dynamic libraries:
 # sh Configure -des -Duseshrplib
 # make
 # make test
 # sudo make install

--> /usr/local/ is the default (the original Perl is preserved)

2. Tk: that is not a Aqua-Tk, but rather is for X11, but...
 # make

in an X11 window: # make test

 sudo make install
3. bbbike under X11


To compile bbbike under X11 the "Xcode" development tools are needed. These can be found either on a CD-ROM of the same name (for older Macs) or in the Applications folder under Installers/Xcode Tools/Developer.mpkg (for newer Macs).

An X11 environment or Darwin environment is also required (package X11SDK).

Mac OS Classic is not supported.

Windows 95/98/2000/NT/XP/Vista/7/8

Normal installation

BBBike and Perl need approx. 32 MB hard disk space.

Download the file and just start it for the installation program.

Alternative Windows Installation (1)

As an alternative, you can install BBBike just with the sources. Steps for Windows 95/98/2000/NT/XP users:

  • Download the perl distribution from the ActiveState webpage:

    or alternatively use Strawberry Perl:

    The Tk module needs to be installed using the following commands in cmd.exe:

        perl -MCPAN -eshell
        force notest install Tk
  • Download BBBike-3.18.tar.gz and extract this file. The unpacked directory may be moved to another position in the filesystem.
  • Open the explorer, change to the BBBike-3.18 directory and call

    The installation program creates entries in the start menu and a desktop icon.

Alternative Windows Installation (2)

If you have Cygwin ( installed, you can start a cygwin shell and follow the UNIX instructions.

Alternative Windows Installation (3)

For very old systems (Windows95, 98) you can download an older distribution with Tk included:

You have to extract this file with WinZip or gunzip+tar. In the extracted directory, there will be the installation program install.bat. Call this program in the MSDOS prompt and follow the instructions.

If you're using this old version of perl (5.004_02), you also need an old version of BBBike, at least older than version 3.00.

Windows 3.1

Windows 3.1 is not supported anymore. Older BBBike versions (for example 2.x) have instructions on how to use BBBike under Windows 3.1.


Perl/Tk version

To execute BBBike on Unix, change to the bbbike directory and type

        perl bbbike

in the shell. With a full KDE/GNOME installation, there is an icon in the application menu item of the start menu. On Windows, there is a start menu entry for BBBike.

To switch the English language support, please set the LC_ALL, LC_MESSAGES, or LANG environment variables to "en" or something similar (for FreeBSD and Linux, this is "en_US.UTF-8"). For Unix, this can be done with

        env LC_ALL=en_US.UTF-8 perl bbbike

Some versions of BBBike are tested with: Linux (Debian jessie, Debian wheezy, Debian squeeze, Debian etch, Ubuntu 12.04, CentOS, Suse 7.0 und 6.4, Red Hat 8.0), FreeBSD (Version 10.0, 9.2, 9.1, 9.0, 8.0, 6.1, 4.9, 4.6, 3.5), Windows (Windows 8, Windows 7, Vista, XP, 2000, NT 4.0, 98, 95), MacOSX (10.4, 10.5 ...), Solaris (Version 8 und 2.5). The development machine runs with FreeBSD.

WWW version

There is a simple cgi version at

More information for the CGI version at:



The current BBBike development may be tracked via git.

To fetch the git repository type the following in the command line:

    git clone git://

to update the next time

    cd bbbike
    git pull

The git repository is frequently updated and also contains the current data.

Application update

It is also possible to download a current snapshot using the URL

Data update

To update only the data part of BBBike, just download the current data as a ZIP file from The ZIP file has to be extracted in the BBBike program directory (Windows: in C:\Programme\BBBike\bbbike).

The data may also be updated within the Perl/Tk application, using the menu item Settings > Data update over internet.


The documentation can be accessed in pod format (bbbike.pod) or in html format (bbbike.html). You can read the pod version with tkpod, perldoc or from bbbike (if Tk::Pod is installed).


The most important parts of the application (bbbike, cgi/bbbike.cgi, and Strassen/ and the data in the subdirectory data are released unter the GPL. The other files can be redristibuted either under the Artistic License or the GPL. Please refer to the source files.

Some module und files from other authors are included in this distribution: lib/ by Michael G Schwern, lib/Text/ by Taisuke Yamada, lib/ by Zenin, ext/Strassen-Inline/heap.[ch] by Internet Software Consortium, ext/BBBikeXS/sqrt.c by Eyal Lebedinsky. contains a partial Strawberry Perl distribution, see


Slaven Rezic, E-Mail:

Something went wrong with that request. Please try again.