[Coin-discuss] cygwin build
Matthew Galati
Matthew.Galati at sas.com
Tue Aug 15 15:09:43 EDT 2006
./configure CXXFLAGS='-O3'
I presume this overwrites the rest of the CXXFLAGS with only -O3. What if I just want to remove -mno-cygwin and keep the rest? I don't know what the rest of the default CXXFLAGS are. I could just take the full list of flags and remove what I need - but, I don't know what they are or where to find them.
Matt
> -----Original Message-----
> From: coin-discuss-bounces at list.coin-or.org
> [mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of
> Andreas Waechter
> Sent: Tuesday, August 15, 2006 2:54 PM
> To: Discussions about open source software for Operations Research
> Subject: Re: [Coin-discuss] cygwin build
>
> I'm trying to change the default behavior later today - at
> least for the development branches.
>
> In the meantime, you can always overwrite the default
> compilation flags picked by configure by setting them in the
> command line, e.g.,
>
> ./configure CXXFLAGS='-O3' CFLAGS='-O3'
>
> More information about the general configuration can be found at
>
> https://projects.coin-or.org/BuildTools/wiki/user-configure
>
> Hope this helps
>
> Andreas
>
> On Tue, 15 Aug 2006, Matthew Galati wrote:
>
> > One of my apps uses Concorde, which I cannot seem to get it
> to compile
> > with the -mno-cygwin switch. I'd prefer the COIN default
> not use this
> > flag - but having the option would be nice. Is there an
> easy way for
> > me to shut this off for my COIN build? The old way, we had
> a Makefile.CYGWIN that I could change.
> > What is the new way?
> >
> > Thanks,
> > Matt
> >
> >> Hi,
> >>
> >> On Cygwin, currently the COIN makefiles always use the
> '-mno-cygwin'
> >> flag when it compiles code. This is done because then the
> generated
> >> executables use the native Windows runtime libraries (not
> >> Cygwin1.dll) and therefore run also outside the Cygwin
> environment,
> >> i.e. in DOS, which is what you probably want when you
> compile an executable and want to use it "natively"
> >> in Windows (e.g., the AMPL solver executables).
> >>
> >> But this requires that all code, also the code that links with the
> >> library, is compiled and linked with that flag. If you use the
> >> Makefiles in the examples subdirectories, you will see
> that the flag is there.
> >>
> >> It seems that a number of people are not happy with this, since it
> >> also changes what header files are used etc. I'm planning
> to change
> >> the behavior so that by default the -mno-cygwin flag is
> not used, but
> >> that a user can choose --enable-dos-compile (or so) on
> Cygwin, which
> >> would then generate a native Windows executable. I
> already submitted
> >> a BuildTools ticket (to myself) and will try to get to it soon.
> >>
> >> Andreas
> >>
> >>
> >> On Tue, 15 Aug 2006, Ted Ralphs wrote:
> >>
> >>> Matt,
> >>>
> >>> I ran into similar issues with one of my applications and
> I believe
> >>> it is caused by the fact that the COIN projects are compiled with
> >>> the -mno-cygwin flag by default. If you just make sure *all* your
> >>> objects files are compiled with this flag, everything should be
> >>> fine. If this isn't an acceptable solution, I believe Andreas is
> >>> going to add a configure option to compile COIN projects
> without the -mno-cygwin flag.
> >>>
> >>> Cheers,
> >>>
> >>> Ted
> >>>
> >>> Matthew Galati wrote:
> >>>
> >>>> Is there some special flag that I need to compile/link with for
> >>>> building my application in Cygwin, when linking with the
> new libs,
> >>>> for example CoinUtils. I am using coin-Cbc. I configure,
> make, make
> >>>> install fine on both Linux and Cygwin. When I link my
> application
> >>>> on Linux, it is fine and runs fine. On cygwin, I get the error
> >>>> below. Googling, it seems to be related to the
> -mno-cygwin flag, but I am not sure what I need to do.
> >>>>
> >>>> Thanks,
> >>>> Matt
> >>>>
> >>>> magala at l11062 ~/DECOMP/apps/TSP
> >>>> $ make --version
> >>>> GNU Make 3.80
> >>>> Copyright (C) 2002 Free Software Foundation, Inc.
> >>>> This is free software; see the source for copying conditions.
> >>>> There is NO warranty; not even for MERCHANTABILITY or
> FITNESS FOR A
> >>>> PARTICULAR PURPOSE.
> >>>>
> >>>> magala at l11062 ~/DECOMP/apps/TSP
> >>>> $ gcc -v
> >>>> Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
> >>>> Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose
> >>>> --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --lib
> >>>> dir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
> >>>> --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,
> >>>> java,objc --enable-nls --without-included-gettext
> >>>> --enable-version-specific-runtime-libs --without-x
> --enable-libgcj
> >>>> --d isable-java-awt --with-system-zlib --enable-interpreter
> >>>> --disable-libgcj-debug --enable-threads=posix --enable-java-gc=b
> >>>> oehm --disable-win32-registry --enable-sjlj-exceptions
> >>>> --enable-hash-synchronization --enable-libstdcxx-debug : (reconfi
> >>>> gured)
> >>>> Thread model: posix
> >>>> gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
> >>>>
> >>>>
> >>>> Creating tsp
> >>>> g++ -I- -Wall -Wpointer-arith -Wcast-qual -Wwrite-strings
> >>>> g++ -Wconversion
> >>>> -pipe -Iinclude -I/home/magala/COIN_NEW/Coin-Cbc /include
> >>>> -I/home/magala/DECOMP/include
> -I/home/magala/DECOMP/external/boost
> >>>> -I/home/magala/DECOMP/external/concorde/INCL
> >>>> UDE -I/home/magala/DECOMP/external/concorde_i/include -g
> >>>> -DCOIN_USE_CLP -DMODE_DEBUG_FULL -o CYGWIN-g/tsp CYGWIN-g/TSP_M
> >>>> ain.o CYGWIN-g/TSP_DecompApp.o CYGWIN-g/TSP_Util.o
> >>>> CYGWIN-g/TSP_CombCut.o CYGWIN-g/TSP_SubtourCut.o
> >>>> -L/home/magala/COIN_ NEW/Coin-Cbc/lib -L/home/magala/DECOMP/lib
> >>>> -L/home/magala/DECOMP/external/concorde/ -lDecomp-g -lUtil-g
> >>>> -lConcordeI-g -
> >>>> lOsiClp -lClp -lconcorde -lCgl -lOsi -lCoinUtils -lm
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libOsiClp.a(OsiClpSolverInt
erface.o):
> >>>> In function `_ZN21OsiClpSolverInterface12initia
> >>>> lSolveEv':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/OsiClpSolverInte
rface.cpp:67:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/OsiClpSolverInte
rface.cpp:111:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/OsiClpSolverInte
rface.cpp:134:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/OsiClpSolverInte
rface.cpp:140:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/OsiClpSolverInte
rface.cpp:149:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libOsiClp.a(OsiClpSolverInterfac
> >>>> e.o):/home/magala/COIN_NEW/Coin-Cbc/Osi/src/OsiClp/Os
> >>>>
> >>>> iClpSolverInterface.cpp:311: more undefined references
> to `__assert'
> >>>> follow
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinMessageH
andler.o):
> >>>> In function `_ZN18CoinMessageHandlerC2Ev':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinMessageHandle
r.cpp:329:
> >>>> undefined reference to `__imp___iob'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinMessageH
andler.o):
> >>>> In function `_ZN18CoinMessageHandlerC1Ev':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinMessageHandle
r.cpp:329:
> >>>> undefined reference to `__imp___iob'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinMessageH
andler.o):
> >>>> In function `_ZN18CoinMessageHandler8printingEb
> >>>> ':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinMessageHandle
r.cpp:515:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinIndexedV
ector.o):
> >>>> In function `_ZNK17CoinIndexedVectorixEi':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinIndexedVector
.cpp:205:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinIndexedV
ector.o):
> >>>> In function `_ZN17CoinIndexedVector3addEid':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinIndexedVector
.cpp:259:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinIndexedV
ector.o):
> >>>> In function `_ZN17CoinIndexedVector5cleanEd':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinIndexedVector
.cpp:272:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinIndexedV
ector.o):
> >>>> In function `_ZN17CoinIndexedVector10checkClearE
> >>>> v':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinIndexedVector
.cpp:289:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinIndexedVector
> >>>> .o):/home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/Coin
> >>>>
> >>>> IndexedVector.cpp:290: more undefined references to `__assert'
> >>>> follow
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinFileIO.o): In
> >>>> function `_Z16fileCoinReadableRSs':
> >>>> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinFileIO.cpp:610:
> >>>> undefined reference to `__imp___iob'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinFileIO.o): In
> >>>> function `_ZN14CoinFileIOBaseC2ERKSs':
> >>>> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinFileIO.cpp:20:
> >>>> undefined reference to `__imp___iob'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolve
Matrix.o):
> >>>> In function `_ZN18CoinPresolveMatrix9setMatrixE
> >>>> PK16CoinPackedMatrix':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinPresolveMatri
x.cpp:176:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolve
HelperFunctions.o):
> >>>> In function `_Z27presolve_delete_from_
> >>>> major2iiPiS_S_PdS_S_':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinPresolveHelpe
rFunctions.cpp:439:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolve
Empty.o):
> >>>> In function `_ZN22drop_empty_cols_action8presolv
> >>>> eEP18CoinPresolveMatrixPiiPK18CoinPresolveAction':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinPresolveEmpty
.cpp:166:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolve
Empty.o):
> >>>> In function `_ZNK22drop_empty_cols_action9postso
> >>>> lveEP19CoinPostsolveMatrix':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinPresolveEmpty
.cpp:293:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolve
Empty.o):
> >>>> In function `_ZNK22drop_empty_rows_action9postso
> >>>> lveEP19CoinPostsolveMatrix':
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/CoinPresolveEmpty
.cpp:485:
> >>>> undefined reference to `__assert'
> >>>>
> /home/magala/COIN_NEW/Coin-Cbc/lib/libCoinUtils.a(CoinPresolveZeros
> >>>> .o):/home/magala/COIN_NEW/Coin-Cbc/CoinUtils/src/Coin
> >>>>
> >>>> PresolveZeros.cpp:213: more undefined references to `__assert'
> >>>> follow
> >>>> collect2: ld returned 1 exit status
> >>>> make[1]: *** [CYGWIN-g/tsp] Error 1
> >>>> make[1]: Leaving directory `/home/magala/DECOMP/apps/TSP'
> >>>> make: *** [tsp] Error 2
More information about the Coin-discuss
mailing list