$Id: FAQ.html,v 1.12 2001/06/25 21:44:46 mrsam Exp $
waitlib
subdirectorygdbmobj
or
bdbobj
subdirectory.waitlib
subdirectoryThis is a self-test check failing. A script tests the semantics of the
wait() system call, and fails. Apparently something in Solaris's wait() logic
is not working the way I expect it to work. This may or may not be a problem.
I don't know yet. You can use the --with-waitfunc=wait3
option
to the configure
script to bypass this test, but you're own your
own.
UPDATE: 5/3/2000, there's a Solaris bug ID that is fixed by a recent kernel update:
4220394 wait3 library function fails after 248 days
Try installing this update to see if it fixes the problem. Some people reported that this kernel update fixes the configuration failure, but some people reported that the problem still exists.
Use --enable-workarounds-for-imap-client-bugs
option to the
configure
script.
This is a configuration issue with your mail client. IMAP servers are free
to use any folder namespace arrangement that's technically convenient for
them. Courier-IMAP uses "INBOX." as the namespace for private folders, and
"shared." as the namespace for public, shared, folders. The IMAP NAMESPACE
extension (see http://www.rfc-editor.org/rfc/rfc2342.txt
)
allows IMAP clients to automatically discover where the server creates
folders, and your IMAP client should implement it.
This should be completely transparent to you, if your IMAP client properly
uses the NAMESPACE
extension. If your IMAP client were to
automatically take advantage of self-configuration features offered by RFC
2060 and RFC 2342, it would automatically discover, without any additional
configuration from the user, that:
INBOX.
"
hierarchyshared.
"
hierarchyIf you have to explicitly create folders that are subfolders of INBOX, or
if you explicitly have to name that "INBOX.foldername
", this is
due to your IMAP client not being able to configure itself accordingly.
If you're going to build stuff with RPM, then you should really go out and get a copy of the "Maximum RPM" book. It's very out of date, but if you learn the basics, you'll be able to figure the rest out by yourself. The following instructions are applicable to RPM 3.0.4, or higher.
First, you need to create a mirror image of the main RPM directory in your account:
mkdir $HOME/rpm mkdir $HOME/rpm/SOURCES mkdir $HOME/rpm/SPECS mkdir $HOME/rpm/BUILD mkdir $HOME/rpm/SRPMS mkdir $HOME/rpm/RPMS mkdir $HOME/rpm/RPMS/i386
Use sparc
, or alpha
, or whatever's appropriate.
Finally:
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
That's it, now you can build your RPMs:
rpm -ta courier-imap-0.34.tar.gz
Courier-IMAP has optional features that use external libraries and products, such as OpenLDAP, MySQL, or OpenSSL. If available, Courier-IMAP can authenticate against an accounts database stored in a MySQL database or an LDAP directory. If OpenSSL is available Courier-IMAP can provide secure IMAP access.
Normally, if the configuration scripts detects that any one of these external libraries is installed, the appropriate code will be automatically compiled and installed. However, for an external library to be detected, it must be installed wherever the C or the C++ compiler looks for libraries.
Courier-IMAP relies on the C or the C++ compiler to detect the availability
of a particular library. If, for example, OpenSSL is installed in the
directory /usr/local/ssl
chances are that the C or the C++
compiler does not usually search this directory for libraries or include
files. Most C and C++ search only the directories /lib
,
/usr/lib
, and /usr/include
(for include files).
All C and C++ compiler allow you to specify any additional directories to
search, beside the default ones. The configuration script uses the
environment variables CPPFLAGS
, CFLAGS
, and
LDFLAGS
to pass extra options to the compiler's preprocessor, the
compiler itself, and the linker.
For example, if OpenSSL's include files are installed in the directory
/usr/local/ssl/include
, and OpenSSL libraries are installed in
/usr/local/ssl/lib
, the gcc
compiler needs to have
the -I/usr/local/ssl/include
option for the preprocessor, and the
-L/usr/local/ssl/lib
option for the linker. So, to have the
configuration script detect OpenSSL, use the following commands:
CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" export CPPFLAGS export LDFLAGS ./configure [ options ]
The same applies for OpenLDAP, MySQL, and any other library. The
configuration script does not maintain a list of all the non-standard
locations where various libraries get installed by default, because that's
subject to change at any time. The configuration script will expect that
either the optional libraries (runtime and development) are installed in the
default locations that are searched by the compiler, or that additional flags
are explicitly specified by the installer.
Courier-IMAP requires either the GDBM library or the Berkeley DB library to be installed. If you have the library installed, it is possible that it is installed in a non-standard location. See the "I have OpenLDAP, or OpenSSL, or MySQL installed" question for how to resolve this situation.
gdbmobj
or
bdbobj
subdirectory.There are two possible causes of this error:
Although Courier-IMAP is written in C, some self-test scripts are written in C++. It is necessary to have a working C++ compiler and libraries installed in order to compile Courier-IMAP
Another reason for this error is that the GDBM or the Berkeley DB library is not installed in a directory that is searched by the C and C++ compilers, by default. See the "I have OpenLDAP, or OpenSSL, or MySQL installed" question for how to resolve this situation.
A: The courier-users mailing list should be the first place to look for assistance with resolving any issues. You only need to observe a few simple rules in order to increase your chances of getting a quick and helpful response:
/var/log/messages
).