Japanese Version

jjLibrary Document

Last updated: 2007-05-01
Created: 2003-01-29

by Fumisky Wells


  1. What's New
  2. OverView
  3. Install
  4. Environment
  5. Feedback
  6. Release Note

What's New


C++ Library "jj" consists from the following three sub categories: Go to each link to read their details.

jj's History

Jj's roots is my personal study of "Taming C++". I felt this pattern library (and its concept) was very usuful so that I wrote the patterns from scratch.

Other sub modules, errno and CGI, were added to jj during its version-up.

The meaning of "jj" comes from the prefix of name in the library. In the book "Taming C++", "ZZ" is chosen for name prefix. I get the same idea from that.


I am not familiear with this area so that I would like to apply GPL for jj so far.



Sub Contents in this chapter is as follows:
  1. Normal installation
  2. Install FastCGI compliance jjLibrary
  3. NOTE on installing on HP-UX11 + ANSI C++ environment
The detail is as follows:
  1. Normal installation
    configure is now adapted since Ver1.5 so that the installation steps are:
    ./configure --prefix=/opt/jj-#.#
    make install

    --prefix option in configure command is optional. You can set any other installation directory (personally, I recommend /opt/jj).

  2. Install FastCGI compliance jjLibrary
    It's very tedious work-around, but it works anyway in order to build FastCGI compliant jjLibrary as follows:
    1. before doing ./configure, substitute all of strings libjj to libjjf in {R}/Makefile.in. NOTE: this substitution is not for only one line!
    2. do ./configure as usual.
    3. add "-DFOR_FCGI" in the line of "CXXFLAGS =" in R/cgi/Makefile as follows:
      CXXFLAGS = -g -02 -DFOR_FCGI
      Where, R means root directory of this source-package.

      NOTE: If FCGI include path is not in standard path (like /usr/include), then add "-Ifcgi_include_path" in CXXFLAGS here.

    4. make sure to do "make clean" at R/cgi/
    5. do "make; make install" at R/

  3. NOTE on installing on HP-UX11 + ANSI C++ environment
    1. In order to install on HP-UX11 + ANSI C++(aC++) environment, explicitly specify compiler path as follows:
      $ CXX=/opt/aCC/bin/aCC ./configure options...
    2. When compiling C++ source files by aC++ compiler(aCC), link must be done by aCC, not by ld(1), especially when building shared library. Unfortunately, libtool in this jjLibrary package doesn't recognize aCC as linker so that the executable program may cause in trouble.

      Work around is to manually modify 2 points in libtool as follows (If you know more smart way, please let me know):

      1. Change the following line at ~73 the line:
      2. At ~184th line, delete the underlined part as follows:
        archive_cmds="\$LD -b +h \$soname +b \$install_libdir -o...


Confirmed environment which jj is successfully installed is as follows:
OS Version C++
Linux Vine Linux 3.2CR g++ 3.3.2
HP-UX 11.00 aC++ 3.50


I'll welcome your feedback, any question, and/or opinion. Please send e-mail via http://sourceforge.net/users/fwells00/.

IMPORTANT NOTE: Please never ask Dr.Jiri Soukup about jjPattern. The question on jjPattern should be asked to me, thank you.

Welcome your feedback!

SourceForge.net Logo