Comments (8)
On 2/6/2015 11:47 AM, Ted Ralphs wrote:
Building OS https://projects.coin-or.org/OS from COIN-OR fails when
building with the Microsoft compiler using the autotools from CYGWIN
because OS automatically prefers the Microsoft compiler when the
option |--enable-msvc| is given, whereas CppAD prefers the CYGWIN
version of |gcc|. When the Microsoft compiler is 32-bit, but the |gcc|
compiler found is 64-bit, then the check for whether |size_t| is
different from |unsigned int| gets an incorrect result for the actual
platform.A workaround is to specify |CC=cl|, which fixes the problem, but this
is not necessary for OS because the |--enable-msvc| option does it
automatically. This option was implemented for convenience in building
with Visual Studio without the IDE and invokes some additional logic
which is needed when building with |cl|.I realize you are trying to deprecate the use of the autotools, but
would you be willing to consider adding the |--enable-msvc| option to
CppAD? If you would prefer, I can make the change myself and then
submit a pull request.—
Reply to this email directly or view it on GitHub
#5.The problem with an --enable-msvc option makes it looks like the CppAD
auto-tools install support the Microsoft compiler. While it is true that
the source has always supported the microsoft compiler, it was not until
the cmake install that CppAD supported an install with the microsoft
compiler.
One things I would be willing to do is to add the option as an
undocumented feature with no specifications as to what it did. If you
generate a pull request with this in mind, and I do not see any harm in
it, I will implement it.
Please see the discussion
#3
from cppad.
There is a difference between supporting use of the Visual Studio IDE and supporting the Microsoft compiler itself. As far as I can see, you have been and still are supporting the Microsoft compiler---what changed when you went to CMake is that you now have support for building with the IDE. For example, here, you are explicitly checking whether the Microsoft compiler has been selected. All this option would do is make it convenient to add cl to the front of the preference ordering of compilers. It wouldn't add any new platform you weren't already supporting.
In any case, leaving this as an undocumented option works for me and will mean that OS can build as expected out of the box.
from cppad.
On 2/7/2015 5:25 PM, Ted Ralphs wrote:
There is a difference between supporting use of the Visual Studio IDE
and supporting the Microsoft compiler itself. As far as I can see, you
have been and still are supporting the Microsoft compiler---what
changed when you went to CMake is that you now have support for
building with the IDE. For example, here
https://github.com/coin-or/CppAD/blob/master/configure.ac#L490, you
are explicitly checking whether the Microsoft compiler has been
selected. All this option would do is make it convenient to add cl to
the front of the preference ordering of compilers. It wouldn't add any
new platform you weren't already supporting.In any case, leaving this as an undocumented option works for me and
will mean that OS can build as expected out of the box.—
Reply to this email directly or view it on GitHub
#5 (comment).Do you have a pull request that I could review for this change ?
from cppad.
I just created a pull request (see #6). I'm closing this issue in light of the new one.
from cppad.
On 2/14/2015 1:00 PM, Ted Ralphs wrote:
I just created a pull request (see #6
#6). I'm closing this issue in
light of the new one.—
Reply to this email directly or view it on GitHub
#5 (comment).Thanks Ted. This request is now at the top of my list.
I just finished work on another bug. Version 20150000 is now up to
release 8; i.e.,
https://github.com/coin-or/CppAD/releases/tag/20150000.8
from cppad.
On 2/14/2015 1:00 PM, Ted Ralphs wrote:
I just created a pull request (see #6
#6). I'm closing this issue in
light of the new one.—
Reply to this email directly or view it on GitHub
#5 (comment).I just want to give you a heads up before implementing this. I think
that you are going against the grain using autoconf in this way. See the
documentation
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Package-Options.html#Package-Options
where it states
"These options allow users to choose which optional features to build
and install. --enable-feature options should never make a feature behave
differently or cause one feature to replace another. They should only
cause parts of the program to be built rather than left out."
Since this autoconf option will not be specified, or supported, I am OK
with this if you are.
from cppad.
On 2/14/2015 1:00 PM, Ted Ralphs wrote:
I just created a pull request (see #6
#6). I'm closing this issue in
light of the new one.—
Reply to this email directly or view it on GitHub
#5 (comment).I made a first cut at merging in your changes; see
804add7
Because you may want to test this in the context of the subversion
files, I also pushed the changes to coin; see
https://projects.coin-or.org/CppAD/changeset/3650
from cppad.
See #6.
from cppad.
Related Issues (20)
- Computing the Jacobian of an ODE HOT 2
- CPPAD_DISCRETE_FUNCTION does not work through base2ad HOT 2
- Eigen::NumTraits does not define infinity() or quiet_NaN() HOT 3
- How to add self defined functions to AD<Base>? HOT 8
- Using C++ conditional operators HOT 5
- AD<double> not working in Eigen with some complex function HOT 4
- Computing Derivatives of solutions of optimization Problems HOT 9
- Working with CppAD::ipopt::solve and CppADCodeGen HOT 4
- Leppov case missing in local/optimize/get_op_usage.hpp HOT 3
- Discrete coefficient sets for polynomial vary as a function of dependent variable HOT 16
- How to write the `.lp` file of a Ipopt model? HOT 6
- Linking error "undefined reference to `CppAD::local::temp_file()'" HOT 4
- solution vector is empty HOT 10
- Undefined reference to temp_file HOT 2
- ipopt and cppad tests HOT 11
- Problem to Link with CppAD and Ipopt HOT 16
- CppAD::cg::CGException: what(): GreaterThanZero cannot be called for non-parameters HOT 5
- Compiler warnings from use of bitwise '|' and '&' for bool arguments HOT 5
- Potential build mistake in third party tool in use of NDEBUG flag - CppAD compiled in Release HOT 13
- Static library for non-windows builds HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppad.