GithubHelp home page GithubHelp logo

Comments (8)

bradbell avatar bradbell commented on July 23, 2024

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.

tkralphs avatar tkralphs commented on July 23, 2024

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.

bradbell avatar bradbell commented on July 23, 2024

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.

tkralphs avatar tkralphs commented on July 23, 2024

I just created a pull request (see #6). I'm closing this issue in light of the new one.

from cppad.

bradbell avatar bradbell commented on July 23, 2024

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.

bradbell avatar bradbell commented on July 23, 2024

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.

bradbell avatar bradbell commented on July 23, 2024

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.

tkralphs avatar tkralphs commented on July 23, 2024

See #6.

from cppad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.