For Fedora 11 I started with a clean installation from an x86_64 live iso:
http://linux.nssl.noaa.gov/fedora/linux/releases/11/Live/x86_64/Fedora-11-x86_64-Live.iso

And found the requirements for compiling Traffic Server to be:
 * glibc-devel.i586
 * db4-devel.i586
 * openssl-devel.i586
 * tcl-devel.i586
 * expat-devel.i586

For each I created a AC_CHECK_LIB test in configure.ac with AC_MSG_FAILURE if the lib is not found (to give these tests teeth).

Specifically, for the glibc requirement, we declare some feature test macros that may be GNU libc specific, namely _REENTRANT:
http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html

I haven't done a full audit to find out whether glibc is a sticky requirement or whether smarter autoconf tests could be made to substitute alternative libraries to link against.

~~~

From my understanding of interacting with the lawyers, we are OK to put in requirements during the build process for external libraries like db4, add #include for the library headers, and make calls to the library functions in our code. The license restrictions of these external libraries start kicking in if we choose to redistribute modified/unmodified code/binaries of the external library, which we currently do not do. We currently require the person compiling the code to get the libraries themselves (via yum install or apt-get, etc).

~~~

As for code that we have taken from other software systems, modified, and included in Traffic Server...

We have stuff that we need to clean out like 'libinktomi++/ink_res_init.cc' before our first incubator-approved release. 'ink_res_init.cc' was swiped from BIND with an incompatible BSD lic with advertising clause. Doug, our mentor, said the incompatible licenses we uncovered in our code are OK for initial upload to ASF SVN but needs to be addressed before the first release can be approved.

Details of the other files that need to be addressed before initial release are in the NOTICE file:
http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/NOTICE

Not many files, but the work to remove or replace may take some time.

Cheers,
Andrew

Leif Hedstrom wrote:
Interesting. We have dependencies on various libraries, like TCL, Expat and Berkeley DB. Andrew (since you are on top of this): Did you already go through all such link/run time dependencies, and make sure the licenses are compatible?

Reply via email to