[ircd-ratbox] ratbox-services-1.1.2_p1 port install on FreeBSD 6.2
lewis at elasticmind.net
Mon Sep 3 19:41:09 UTC 2007
Thank you for your email and for looking looking into this for me, it is
Please find some information/comments in-line with your previous message.
Lee H wrote:
> When compiling against a pre-installed sqlite3 in a user specified
> directory, we need the shared library (libsqlite3.so) rather than the
> static library (libsqlite3.a).
I see. The file 'libsqlite.so' is also made available by the
pre-installed version of sqlite on the system in the following location:
If the build/install process for ratbox-services fails while trying to
look for the 'libsqlite3.a' file in a strange location, does that mean
the Makefile is for some reason trying to do something with the static
library it shouldn't be?
> For ports, it shouldn't really be allowed to compile its own sqlite3
> variant. It should instead require there is one already installed on the
> system, and flat out refuse to compile if it isn't.
I agree. The port is set to always build with the
'--without-sqlitebuild' option, and the sqlite3 subdirectory has been
removed from the ratbox-services package Makefile, so in theory the
bundled variant of sqlite3 should never be installed. The port already
requires that the user select at least one of the three available
options as a backend, either; sqlite3, mysql, or pgsql, and will not
continue until at least one has been selected.
AndroSyn and I had a discussion about how best to proceed with getting
the port to build correctly. The intention was that forcing the user to
select one of these options would ensure that the ratbox-services
Makefile would never be unable to find a pre-installed version of either
sqlite3, mysql, or pgsql; and thus would never revert to its
auto-configure fail-safe and automatically add the bundled sqlite3
subdirectory to the Makefile and install its own bundled sqlite3 variant.
> Though I am intrigued as to how you expect to offer support for mysql,
> and sqlite3 via ports?
The user is required to select one ore more backends via the port's
options, which are then passed to the ratbox-services Makefile as
configure arguments later on. Whichever backend the user selects, or
even if they select all three, the port will automatically fetch, build
and install sqlite3, mysql-client or pgsql-client, as required, before
continuing to build and install ratbox-services ensuring that at least
one will be available for ratbox-services to link up with and be happy.
>> $(INSTALL) -m 750 src/$(BIN) $(DESTDIR)$(sbindir)
>> - $(INSTALL) -m 640 doc/example.conf $(DESTDIR)$(sysconfdir)
>> $(INSTALL) -m 640 include/setup.h $(DESTDIR)$(includedir)
>> $(INSTALL) -m 640 include/rserv.h $(DESTDIR)$(includedir)
>> $(INSTALL) -m 640 include/channel.h $(DESTDIR)$(includedir)
> These include files are only used when the dbupgrade.pl tools are
> which you have removed from the Makefile..
To conform with the ports and system hierarchy, the dbupgrade.pl and
other files needed to be installed into a different location. So as you
mentioned, they are removed from the Makefile and installed in a
different location by the port itself.
Hope that helps.
Please let me know if I can provide any further info that might help
with fixing the problem when building as a port. Again, thank you for
your time and consideration.
More information about the ircd-ratbox