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]