﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
895	Multiply-defined libraries on Mac OS X dylib compilation	Michael Wood-Vasey	eugene	"Mac OS X dylib is pretty picky about building the dylib libraries with no duplicated/conflicting names.  I present the following fix to the problem I outline further below.

I think I've tracked down the issue and solution for the multiply-defined _DVOTableFormat and _DVOTableMode.  These two things are 'enum's defined in 'dvo.h' ('Ohana/src/libdvo/include/dvo.h') which is included by 'kapa.h' which is included in a few of the files in 'psphot/src' ('psphotRadialPlot.c', 'psphotSummaryPlots.c', 'psphotVersion.c').  I changed lines 17 & 20 in 'dvo.h' to put in an 'extern' in front of the two enum definitions and then 'make clean' in Ohana and in 'psphot' and 'psconfigure; make; make install'.

----
The problem
----

I've run into the following problem in IPP 2.2 in combining libraries into .dylib files in Mac OS X.


gcc -std=gnu99 -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libpsphot.0.0.0.dylib  .libs/libpsphot_la-psphotErrorCodes.o .libs/libpsphot_la-pmFootprint.o .libs/libpsphot_la-psphotVersion.o .libs/libpsphot_la-psphotModelGroupInit.o .libs/libpsphot_la-psphotMaskReadout.o .libs/libpsphot_la-psphotDefineFiles.o .libs/libpsphot_la-psphotReadout.o .libs/libpsphot_la-psphotImageMedian.o .libs/libpsphot_la-psphotFindPeaks.o .libs/libpsphot_la-psphotSourceStats.o .libs/libpsphot_la-psphotRoughClass.o .libs/libpsphot_la-psphotBasicDeblend.o .libs/libpsphot_la-psphotChoosePSF.o .libs/libpsphot_la-psphotGuessModels.o .libs/libpsphot_la-psphotFitSourcesLinear.o .libs/libpsphot_la-psphotBlendFit.o .libs/libpsphot_la-psphotReplaceUnfit.o .libs/libpsphot_la-psphotApResid.o .libs/libpsphot_la-psphotMagnitudes.o .libs/libpsphot_la-psphotSkyReplace.o .libs/libpsphot_la-psphotEvalPSF.o .libs/libpsphot_la-psphotEvalFLT.o .libs/libpsphot_la-psphotSourceFits.o .libs/libpsphot_la-psphotRadiusChecks.o .libs/libpsphot_la-psphotSortBySN.o .libs/libpsphot_la-psphotOutput.o .libs/libpsphot_la-psphotGrowthCurve.o .libs/libpsphot_la-psphotFakeSources.o .libs/libpsphot_la-psphotModelWithPSF.o .libs/libpsphot_la-psphotExtendedSources.o .libs/libpsphot_la-psphotPetrosian.o .libs/libpsphot_la-psphotIsophotal.o .libs/libpsphot_la-psphotAnnuli.o .libs/libpsphot_la-psphotKron.o .libs/libpsphot_la-psphotKernelFromPSF.o .libs/libpsphot_la-psphotPSFConvModel.o .libs/libpsphot_la-psphotModelTest.o .libs/libpsphot_la-psphotFitSet.o .libs/libpsphot_la-psphotSourceFreePixels.o .libs/libpsphot_la-psphotSummaryPlots.o .libs/libpsphot_la-psphotMergeSources.o .libs/libpsphot_la-psphotLoadPSF.o .libs/libpsphot_la-psphotReadoutCleanup.o .libs/libpsphot_la-psphotSourcePlots.o .libs/libpsphot_la-psphotRadialPlot.o .libs/libpsphot_la-psphotDeblendSatstars.o .libs/libpsphot_la-psphotMosaicSubimage.o .libs/libpsphot_la-psphotMakeResiduals.o .libs/libpsphot_la-psphotSourceSize.o .libs/libpsphot_la-psphotAddNoise.o   -install_name  /Users/Shared/PS1/code/ipp-2.2//default.darwin/lib/libpsphot.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
ld: multiple definitions of symbol _DVOTableFormat
.libs/libpsphot_la-psphotVersion.o definition of _DVOTableFormat in section (__DATA,__common)
.libs/libpsphot_la-psphotModelGroupInit.o definition of _DVOTableFormat in section (__DATA,__common)
ld: multiple definitions of symbol _DVOTableMode
.libs/libpsphot_la-psphotVersion.o definition of _DVOTableMode in section (__DATA,__common)
.libs/libpsphot_la-psphotModelGroupInit.o definition of _DVOTableMode in section (__DATA,__common)
.libs/libpsphot_la-psphotMaskReadout.o definition of _DVOTableFormat in section (__DATA,__common)
.libs/libpsphot_la-psphotMaskReadout.o definition of _DVOTableMode in section (__DATA,__common)
.libs/libpsphot_la-psphotDefineFiles.o definition of _DVOTableFormat in section (__DATA,__common)
.libs/libpsphot_la-psphotDefineFiles.o definition of _DVOTableMode in section (__DATA,__common)"	defect	closed	high		Ohana	unspecified	normal	remind		
