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/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to