[Coin-ipopt] Mac OS X Compilation Issue

Andreas Waechter andreasw at watson.ibm.com
Thu Mar 29 10:03:17 EDT 2007


Hi Jeremy,

I don't have access to a Mac to reproduce the problem you mentioned. 
Could you please submit a ticket at the Ipopt trac page?

The thing is that we are using the GNU tool libtool which is a wrapper for 
compiler, archiver, and linker commands.  It is meant to make portability 
easier, and often does a good job.  However, it is also a little buggy, 
and you might have just found a bug in libtool.  What I have done in the 
past is to apply patches to the libtool script (that is generated when 
configure runs) for bugs related to Windows compiles.  There is still not 
a new release of libtool, but there is a intermediate release which might 
have fixed a number of problems (but might have introduced new ones :). 
I'm hesitant to switch over to this new version, since it will impact many 
other COIN projects as well.

In any case, it would be nice if you could submit a ticket at the Ipopt 
Trac pages, and I will try to look at this with a colleage.

Regards,

Andreas

On Sun, 18 Mar 2007, Jeremy Fox wrote:

>
> I am trying to compile IPOPT on a Mac OS 10.4.8 (Intel) machine. At one 
> point, the compilation stops with an error message.  It appears to be in the 
> Ipopt/src/Interfaces directory. The following command exits with the error
>
> /usr/bin/ld: unknown flag: -compatibility_version
>
> If you look below at the very end, "compatibility_version" is being called 
> with the Wl prefix, which means the flag is being sent to the linker, ld. 
> However, reading the man pages, it looks like "compatibility_version" is a 
> (Darwin specific) flag for gcc, not ld. Indeed, changing the last line to
>
> -compatibility_version 1 -current_version 1.0
>
> seems to make this command go through without error. However, I when type 
> make again, the command below is reexecuted. I don't know enough to change 
> the use of these flags in the make process. Does someone know how to do this?
>
> Thanks, Jeremy
>
>
> Extracting /Users/fox/Documents/CoinIpopt/Ipopt/src/Interfaces/../ 
> LinAlg/TMatrices/.libs/libtmatrices.a
> (cd .libs/libipopt.lax/libtmatrices.a && ar x /Users/fox/Documents/ 
> CoinIpopt/Ipopt/src/Interfaces/../LinAlg/TMatrices/.libs/libtmatrices.a)
> g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined $ 
> {wl}suppress -o .libs/libipopt.0.0.0.dylib  .libs/IpInterfacesRegOp.o 
> .libs/IpIpoptApplication.o .libs/IpSolveStatistics.o .libs/IpStdCInterface.o 
> .libs/IpStdFInterface.o .libs/IpStdInterfaceTNLP.o .libs/IpTNLPAdapter.o 
> .libs/libipopt.lax/libcoinhsl.a/ma27ad.o .libs/ 
> libipopt.lax/libcoinhsl.a/mc19ad.o  .libs/libipopt.lax/libipoptalg.a/ 
> IpAdaptiveMuUpdate.o .libs/libipopt.lax/libipoptalg.a/IpAlgBuilder.o 
> .libs/libipopt.lax/libipoptalg.a/IpAlgorithmRegOp.o 
> .libs/libipopt.lax/libipoptalg.a/IpAugRestoSystemSolver.o 
> .libs/libipopt.lax/libipoptalg.a/IpBacktrackingLineSearch.o 
> .libs/libipopt.lax/libipoptalg.a/IpDefaultIterateInitializer.o 
> .libs/libipopt.lax/libipoptalg.a/IpExactHessianUpdater.o 
> .libs/libipopt.lax/libipoptalg.a/IpFilter.o .libs/libipopt.lax/libipoptalg.a/ 
> IpFilterLSAcceptor.o .libs/libipopt.lax/libipoptalg.a/IpGradientScaling.o 
> .libs/libipopt.lax/libipoptalg.a/IpIpoptAlg.o 
> .libs/libipopt.lax/libipoptalg.a/IpIpoptCalculatedQuantities.o 
> .libs/libipopt.lax/libipoptalg.a/IpIpoptData.o 
> .libs/libipopt.lax/libipoptalg.a/IpIteratesVector.o 
> .libs/libipopt.lax/libipoptalg.a/IpLeastSquareMults.o 
> .libs/libipopt.lax/libipoptalg.a/IpLimMemQuasiNewtonUpdater.o 
> .libs/libipopt.lax/libipoptalg.a/IpLoqoMuOracle.o 
> .libs/libipopt.lax/libipoptalg.a/IpLowRankAugSystemSolver.o 
> .libs/libipopt.lax/libipoptalg.a/IpMonotoneMuUpdate.o 
> .libs/libipopt.lax/libipoptalg.a/IpNLPScaling.o 
> .libs/libipopt.lax/libipoptalg.a/IpOptErrorConvCheck.o 
> .libs/libipopt.lax/libipoptalg.a/IpOrigIpoptNLP.o 
> .libs/libipopt.lax/libipoptalg.a/IpOrigIterationOutput.o 
> .libs/libipopt.lax/libipoptalg.a/IpPDFullSpaceSolver.o 
> .libs/libipopt.lax/libipoptalg.a/IpPDPerturbationHandler.o 
> .libs/libipopt.lax/libipoptalg.a/IpProbingMuOracle.o 
> .libs/libipopt.lax/libipoptalg.a/IpQualityFunctionMuOracle.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoFilterConvCheck.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoIpoptNLP.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoIterateInitializer.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoIterationOutput.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoMinC_1Nrm.o 
> .libs/libipopt.lax/libipoptalg.a/IpRestoRestoPhase.o 
> .libs/libipopt.lax/libipoptalg.a/IpStdAugSystemSolver.o 
> .libs/libipopt.lax/libipoptalg.a/IpTimingStatistics.o 
> .libs/libipopt.lax/libipoptalg.a/IpUserScaling.o 
> .libs/libipopt.lax/libipoptalg.a/IpWarmStartIterateInitializer.o 
> .libs/libipopt.lax/liblinsolvers.a/IpLinearSolversRegOp.o 
> .libs/libipopt.lax/liblinsolvers.a/IpMa27TSolverInterface.o 
> .libs/libipopt.lax/liblinsolvers.a/IpMc19TSymScalingMethod.o 
> .libs/libipopt.lax/liblinsolvers.a/IpTripletToCSRConverter.o 
> .libs/libipopt.lax/liblinsolvers.a/IpTSymLinearSolver.o 
> .libs/libipopt.lax/libcommon.a/IpDebug.o .libs/ 
> libipopt.lax/libcommon.a/IpJournalist.o .libs/libipopt.lax/ 
> libcommon.a/IpObserver.o .libs/libipopt.lax/libcommon.a/IpOptionsList.o 
> .libs/libipopt.lax/libcommon.a/IpRegOptions.o .libs/ 
> libipopt.lax/libcommon.a/IpTaggedObject.o .libs/libipopt.lax/ 
> libcommon.a/IpUtils.o  .libs/libipopt.lax/liblinalg.a/IpBlas.o .libs/ 
> libipopt.lax/liblinalg.a/IpCompoundMatrix.o .libs/libipopt.lax/ 
> liblinalg.a/IpCompoundSymMatrix.o .libs/libipopt.lax/liblinalg.a/ 
> IpCompoundVector.o .libs/libipopt.lax/liblinalg.a/IpDenseGenMatrix.o 
> .libs/libipopt.lax/liblinalg.a/IpDenseSymMatrix.o 
> .libs/libipopt.lax/liblinalg.a/IpDenseVector.o 
> .libs/libipopt.lax/liblinalg.a/IpDiagMatrix.o .libs/ 
> libipopt.lax/liblinalg.a/IpExpansionMatrix.o .libs/libipopt.lax/ 
> liblinalg.a/IpIdentityMatrix.o .libs/libipopt.lax/liblinalg.a/IpLapack.o 
> .libs/libipopt.lax/liblinalg.a/IpLowRankUpdateSymMatrix.o 
> .libs/libipopt.lax/liblinalg.a/IpMatrix.o 
> .libs/libipopt.lax/liblinalg.a/IpMultiVectorMatrix.o .libs/ 
> libipopt.lax/liblinalg.a/IpScaledMatrix.o .libs/libipopt.lax/ 
> liblinalg.a/IpSumMatrix.o .libs/libipopt.lax/liblinalg.a/IpSumSymMatrix.o 
> .libs/libipopt.lax/liblinalg.a/IpSymMatrix.o .libs/ 
> libipopt.lax/liblinalg.a/IpSymScaledMatrix.o .libs/libipopt.lax/ 
> liblinalg.a/IpVector.o .libs/libipopt.lax/liblinalg.a/IpZeroMatrix.o 
> .libs/libipopt.lax/libtmatrices.a/IpGenTMatrix.o 
> .libs/libipopt.lax/libtmatrices.a/IpSymTMatrix.o .libs/ 
> libipopt.lax/libtmatrices.a/IpTripletHelper.o    -install_name  / 
> Users/fox/Downloads/CoinIpopt/lib/libipopt.0.dylib -Wl,-compatibility_version 
> -Wl,1 -Wl,-current_version -Wl,1.0
> /usr/bin/ld: unknown flag: -compatibility_version
> collect2: ld returned 1 exit status
>
>
> Thanks, Jeremy
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>



More information about the Coin-ipopt mailing list