--- Begin Message ---
Package: adun.app
Version: 0.6-3
Usertags: ftbfs-gcc-4.3
Tags: patch
Your package fails to build with GCC 4.3. Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning. In C99 the meaning of "inline"
changed, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31389
A patch for this problem is below.
> Automatic build of adun.app_0.6-3 on em64t by sbuild/amd64 0.53
...
> ../Base/AdVector.h:73: warning: inline function 'Ad3DCrossProduct' declared
> but never defined
> ../Base/AdVector.h:66: warning: inline function 'Ad3DDotProduct' declared but
> never defined
> ../Base/AdForceFieldFunctions.h:132: warning: inline function
> 'grid_EST_switched' declared but never defined
> ../Base/AdForceFieldFunctions.h:130: warning: inline function 'calc_GRID_EST'
> declared but never defined
...
> ../Base/AdVector.h:79: warning: inline function 'Ad3DVectorLength' declared
> but never defined
> ...
> ../Base/AdForceFieldFunctions.h:88: warning: inline function
> 'AdFourierTorsionAccleration' declared but never defined
> ../Base/AdForceFieldFunctions.h:87: warning: inline function
> 'AdFourierTorsionEnergy' declared but never defined
> ../Base/AdForceFieldFunctions.h:80: warning: inline function
> 'AdHarmonicAngleAcceleration' declared but never defined
...
> ./Base/AdMatrix.h:83: warning: inline function
> 'AdDoubleMatrixFromRowSelection' declared but never defined
> ./Base/AdMatrix.h:82: warning: inline function
> 'AdFloatMatrixFromRowSelection' declared but never defined
> ./Base/AdMatrix.h:81: warning: inline function 'AdIntMatrixFromRowSelection'
> declared but never defined
> ./Base/AdMatrix.h:79: warning: inline function 'AdDoubleMatrixFromRowSection'
> declared but never defined
> ./Base/AdMatrix.h:78: warning: inline function 'AdFloatMatrixFromRowSection'
> declared but never defined
> ./Base/AdMatrix.h:77: warning: inline function 'AdIntMatrixFromRowSection'
> declared but never defined
> /usr/bin/ld: warning: libobjc.so.1, needed by
> /usr/lib/GNUstep/System/Library/Libraries/libgnustep-base.so, may conflict
> with libobjc.so.2
...
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdHarmonicImproperTorsionForce'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdUnsafeLinkedListAdd'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdHarmonicAngleEnergy'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdUnsafeLinkedListRemove'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdEnzymixGRFNonbondedForce'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdFourierTorsionForce'
> AdunKernel/AdunKernel.framework/Versions/Current/libAdunKernel.so: undefined
> reference to `AdIndexSorter'
...
> collect2: ld returned 1 exit status
> make[3]: *** [shared_obj/AdunCore] Error 1
--- ./Kernel/Base/AdMatrix.h~ 2007-03-30 20:26:56.000000000 +0000
+++ ./Kernel/Base/AdMatrix.h 2007-03-30 20:27:07.000000000 +0000
@@ -70,31 +70,31 @@
@{
**/
-inline void AdSetDoubleMatrixWithValue(DoubleMatrix *, double);
-inline void AdSetFloatMatrixWithValue(FloatMatrix *, float);
-inline void AdSetIntMatrixWithValue(IntMatrix *, int);
-
-inline IntMatrix* AdIntMatrixFromRowSection(IntMatrix *, int , int);
-inline FloatMatrix* AdFloatMatrixFromRowSection(FloatMatrix *, int , int);
-inline DoubleMatrix* AdDoubleMatrixFromRowSection(DoubleMatrix *, int , int);
-
-inline IntMatrix* AdIntMatrixFromRowSelection(IntMatrix *, int* , int);
-inline FloatMatrix* AdFloatMatrixFromRowSelection(FloatMatrix *, int* , int);
-inline DoubleMatrix* AdDoubleMatrixFromRowSelection(DoubleMatrix *, int* ,
int);
-
-inline IntMatrix* AdIntMatrixFromColumnSection(IntMatrix *, int , int);
-inline FloatMatrix* AdFloatMatrixFromColumnSection(FloatMatrix *, int , int);
-inline DoubleMatrix* AdDoubleMatrixFromColumnSection(DoubleMatrix *, int ,
int);
-
-inline IntMatrix* AdIntMatrixFromColumnSelection(IntMatrix *, int* , int);
-inline FloatMatrix* AdFloatMatrixFromColumnSelection(FloatMatrix *, int* ,
int);
-inline DoubleMatrix* AdDoubleMatrixFromColumnSelection(DoubleMatrix *, int* ,
int);
-
-inline void AdFreeDoubleMatrix(DoubleMatrix*);
-inline void AdFreeIntMatrix(IntMatrix*);
-inline void AdFreeFloatMatrix(FloatMatrix*);
-
-inline IntMatrix* AdAllocateIntMatrix(int, int);
-inline FloatMatrix* AdAllocateFloatMatrix(int, int);
-inline DoubleMatrix* AdAllocateDoubleMatrix(int, int);
+extern void AdSetDoubleMatrixWithValue(DoubleMatrix *, double);
+extern void AdSetFloatMatrixWithValue(FloatMatrix *, float);
+extern void AdSetIntMatrixWithValue(IntMatrix *, int);
+
+extern IntMatrix* AdIntMatrixFromRowSection(IntMatrix *, int , int);
+extern FloatMatrix* AdFloatMatrixFromRowSection(FloatMatrix *, int , int);
+extern DoubleMatrix* AdDoubleMatrixFromRowSection(DoubleMatrix *, int , int);
+
+extern IntMatrix* AdIntMatrixFromRowSelection(IntMatrix *, int* , int);
+extern FloatMatrix* AdFloatMatrixFromRowSelection(FloatMatrix *, int* , int);
+extern DoubleMatrix* AdDoubleMatrixFromRowSelection(DoubleMatrix *, int* ,
int);
+
+extern IntMatrix* AdIntMatrixFromColumnSection(IntMatrix *, int , int);
+extern FloatMatrix* AdFloatMatrixFromColumnSection(FloatMatrix *, int , int);
+extern DoubleMatrix* AdDoubleMatrixFromColumnSection(DoubleMatrix *, int ,
int);
+
+extern IntMatrix* AdIntMatrixFromColumnSelection(IntMatrix *, int* , int);
+extern FloatMatrix* AdFloatMatrixFromColumnSelection(FloatMatrix *, int* ,
int);
+extern DoubleMatrix* AdDoubleMatrixFromColumnSelection(DoubleMatrix *, int* ,
int);
+
+extern void AdFreeDoubleMatrix(DoubleMatrix*);
+extern void AdFreeIntMatrix(IntMatrix*);
+extern void AdFreeFloatMatrix(FloatMatrix*);
+
+extern IntMatrix* AdAllocateIntMatrix(int, int);
+extern FloatMatrix* AdAllocateFloatMatrix(int, int);
+extern DoubleMatrix* AdAllocateDoubleMatrix(int, int);
#endif
--- ./Kernel/Base/AdForceFieldFunctions.h~ 2007-03-30 20:27:12.000000000
+0000
+++ ./Kernel/Base/AdForceFieldFunctions.h 2007-03-30 20:27:14.000000000
+0000
@@ -63,11 +63,11 @@
*/
/** Calculates the energy of a bond using a harmonic bond function */
-inline void AdHarmonicBondEnergy(double*, double*, double**);
+extern void AdHarmonicBondEnergy(double*, double*, double**);
/** Calculates the energy and force of a bond using a harmonic bond function */
-inline void AdHarmonicBondForce(double*, double*);
+extern void AdHarmonicBondForce(double*, double*);
/** Calculates the energy and acceleration of a bond using a harmonic bond
function */
-inline void AdHarmonicBondAcceleration(double*, double*);
+extern void AdHarmonicBondAcceleration(double*, double*);
/*
@@ -75,49 +75,49 @@
*/
/** Calculates the energy of an angle using a harmonic angle function */
-inline void AdHarmonicAngleEnergy(double*, double*, double**);
-inline void AdHarmonicAngleForce(double*, double*);
-inline void AdHarmonicAngleAcceleration(double*, double*);
+extern void AdHarmonicAngleEnergy(double*, double*, double**);
+extern void AdHarmonicAngleForce(double*, double*);
+extern void AdHarmonicAngleAcceleration(double*, double*);
/*
* fourier torsion
*/
/** calculates the energy of a proper torsion using a fourier torsion function
*/
-inline void AdFourierTorsionEnergy(double*, double*, double**);
-inline void AdFourierTorsionAccleration(double*, double*);
-inline void AdFourierTorsionForce(double*, double*);
+extern void AdFourierTorsionEnergy(double*, double*, double**);
+extern void AdFourierTorsionAccleration(double*, double*);
+extern void AdFourierTorsionForce(double*, double*);
/*
* harmonic improper torsion
*/
/** calculates the energy of an improper torsion using a harmonic function */
-inline void AdHarmonicImproperTorsionEnergy(double* , double* , double** );
-inline void AdHarmonicImproperTorsionForce(double*, double* );
+extern void AdHarmonicImproperTorsionEnergy(double* , double* , double** );
+extern void AdHarmonicImproperTorsionForce(double*, double* );
/*
* EnzymixNonbonded - TypeOneVdwInteraction + ColoumbElectrostatic
*/
/** Calculates the energy of a proper torsion using a combined coloumb
electrostatic and TypeOneVdwInteraction */
-inline void AdEnzymixNonbondedEnergyOld(int*, float*, double*, double*,
double*, Vector3D*, double**);
-inline void AdEnzymixNonbondedEnergy(ListElement*, double*, double*,
+extern void AdEnzymixNonbondedEnergyOld(int*, float*, double*, double*,
double*, Vector3D*, double**);
+extern void AdEnzymixNonbondedEnergy(ListElement*, double*, double*,
double, double**, double);
-inline void AdEnzymixNonbondedForce(ListElement*, double*, double*,
+extern void AdEnzymixNonbondedForce(ListElement*, double*, double*,
double, double**, double**,
double);
-inline void AdEnzymixNonbondedAcceleration(int*, float*, double*, double*,
double*);
+extern void AdEnzymixNonbondedAcceleration(int*, float*, double*, double*,
double*);
-inline void AdEnzymixShiftedNonbondedEnergy(ListElement*, double*, double*,
+extern void AdEnzymixShiftedNonbondedEnergy(ListElement*, double*, double*,
double, double**, double, float);
-inline void AdEnzymixShiftedNonbondedForce(ListElement*, double*, double*,
+extern void AdEnzymixShiftedNonbondedForce(ListElement*, double*, double*,
double, double**, double**,
double, float);
-inline void AdEnzymixGRFNonbondedEnergy(ListElement *, double *, double *,
double, double **,
+extern void AdEnzymixGRFNonbondedEnergy(ListElement *, double *, double *,
double, double **,
double , double );
-inline void AdEnzymixGRFNonbondedForce(ListElement* , double* , double* ,
+extern void AdEnzymixGRFNonbondedForce(ListElement* , double* , double* ,
double , double** , double** ,
double , double , double );
@@ -126,9 +126,9 @@
*/
-inline void calc_GRID_EST(ListElement *, double *, double, double **,
+extern void calc_GRID_EST(ListElement *, double *, double, double **,
double , int);
-inline void grid_EST_switched(ListElement *Interaction, double *est_pot,
double EPSILON_RP, double **coordinates,
+extern void grid_EST_switched(ListElement *Interaction, double *est_pot,
double EPSILON_RP, double **coordinates,
double cutoff_sq, double buffer_sq, int
grid_point);
#endif
--- ./Kernel/Base/AdSorter.h~ 2007-03-30 20:27:18.000000000 +0000
+++ ./Kernel/Base/AdSorter.h 2007-03-30 20:27:20.000000000 +0000
@@ -41,7 +41,7 @@
@{
*/
-inline int AdIndexSorter(const void* el_one, const void* el_two);
+extern int AdIndexSorter(const void* el_one, const void* el_two);
int AdAscendingIntSort(const void* numberOne, const void* numberTwo);
/** [EMAIL PROTECTED]/
--- ./Kernel/Base/AdLinkedList.h~ 2007-03-30 20:27:25.000000000 +0000
+++ ./Kernel/Base/AdLinkedList.h 2007-03-30 20:27:29.000000000 +0000
@@ -64,25 +64,25 @@
\param index The index at which to insert the list. Currently not
implemented
\return 0 on success, -1 on failure
**/
-inline int AdSafeLinkedListAdd(ListElement*, ListElement*, int);
+extern int AdSafeLinkedListAdd(ListElement*, ListElement*, int);
/**
Same as AdSafeLinkedListAdd but doesn't check if you've passed
the last element.
**/
-inline int AdUnsafeLinkedListAdd(ListElement*, ListElement*, int);
+extern int AdUnsafeLinkedListAdd(ListElement*, ListElement*, int);
/**
Reinserts an element extracted with AdUnsafeLinkedListExtract
Does not check that ListElement actually points to an element
in a real list
**/
-inline int AdUnsafeLinkedListReinsert(ListElement*);
+extern int AdUnsafeLinkedListReinsert(ListElement*);
/**
Removes the element passed from the list. You CANNOT remove the first
and last
element (big trouble if you do)
\param list_el Pointer to the list element to be removed
\returns 0 if succeds. -1 if you tried to remove the first or last list
elements.
**/
-inline int AdSafeLinkedListRemove(ListElement*);
+extern int AdSafeLinkedListRemove(ListElement*);
/**
The same as AdUnsafeLinkedListRemove except doesnt set the remove
elements previous and next pointer to nil
@@ -90,17 +90,17 @@
\returns 0 if succeds. -1 if you tried to remove the first or last list
elements.
**/
-inline int AdUnsafeLinkedListExtract(ListElement *list_el);
+extern int AdUnsafeLinkedListExtract(ListElement *list_el);
/**
Same as safe_linked_list_remove() but doesn't check if the
element is the first or last. Use with care.
**/
-inline int AdUnsafeLinkedListRemove(ListElement*);
+extern int AdUnsafeLinkedListRemove(ListElement*);
/** Returns a pointer to the last element of the list. **/
-inline ListElement* AdLinkedListEnd(ListElement*);
+extern ListElement* AdLinkedListEnd(ListElement*);
/** Returns a pointer to the first element of the list **/
-inline ListElement* AdLinkedListStart(ListElement*);
-inline int AdLinkedListCount(ListElement*);
+extern ListElement* AdLinkedListStart(ListElement*);
+extern int AdLinkedListCount(ListElement*);
/** [EMAIL PROTECTED]/
--- ./Kernel/Base/AdVector.h~ 2007-03-30 20:27:33.000000000 +0000
+++ ./Kernel/Base/AdVector.h 2007-03-30 20:27:34.000000000 +0000
@@ -63,44 +63,44 @@
\param vector_two Pointer to a Vector3D structs
\return The dot product of the two vectors
**/
-inline double Ad3DDotProduct(Vector3D*, Vector3D*);
+extern double Ad3DDotProduct(Vector3D*, Vector3D*);
/**
Calculates the cross product of two vectors.
\param v_one Pointer to a Vector3D struct.
\param v_two Pointer to a Vector3D struct.
\param result Pointer to a Vector3D struct where the result vector will
be stored.
**/
-inline void Ad3DCrossProduct(Vector3D*, Vector3D*, Vector3D*);
+extern void Ad3DCrossProduct(Vector3D*, Vector3D*, Vector3D*);
/**
Calculates the length of the vector represented by Vector3D.
struct vector and then assigns the result to vector->length.
\param vector A pointer to a Vector3D struct.
**/
-inline void Ad3DVectorLength(Vector3D*);
+extern void Ad3DVectorLength(Vector3D*);
/**
Finds the unit vector related to a given vector.
\param vector A pointer to a Vector3D struct.
\param unit_vector Pointer to the Vector3D struct where the unit vector
is to be stored.
**/
-inline void AdGet3DUnitVector(Vector3D*, Vector3D*);
-inline void Ad3DVectorLengthSquared(Vector3D*);
+extern void AdGet3DUnitVector(Vector3D*, Vector3D*);
+extern void Ad3DVectorLengthSquared(Vector3D*);
/**
Return the index of the minimium element in a standard double array.
If there is more than one entry with the same value the smallest
index is returned
**/
-inline int AdDoubleArrayMin(double*, int);
+extern int AdDoubleArrayMin(double*, int);
/**
Return the index of the maximum element in a standard double array.
If there is more than one entry with the same value the smallest
index is returned
**/
-inline int AdDoubleArrayMax(double*, int);
+extern int AdDoubleArrayMax(double*, int);
-inline void AdIntArrayIntersectionAndDifference(IntArrayStruct *prime,
IntArrayStruct *query, IntArrayStruct *intersection, IntArrayStruct
*complement);
-inline void AdIntArrayIntersection(IntArrayStruct *prime, IntArrayStruct
*query, IntArrayStruct *intersection);
-inline void AdIntArrayDifference(IntArrayStruct *prime, IntArrayStruct *query,
IntArrayStruct *difference);
+extern void AdIntArrayIntersectionAndDifference(IntArrayStruct *prime,
IntArrayStruct *query, IntArrayStruct *intersection, IntArrayStruct
*complement);
+extern void AdIntArrayIntersection(IntArrayStruct *prime, IntArrayStruct
*query, IntArrayStruct *intersection);
+extern void AdIntArrayDifference(IntArrayStruct *prime, IntArrayStruct *query,
IntArrayStruct *difference);
/** [EMAIL PROTECTED]/
--
Martin Michlmayr
http://www.cyrius.com/
--- End Message ---