Coder Social home page Coder Social logo

Comments (5)

tkralphs avatar tkralphs commented on July 29, 2024 1

@svigerske Sorry for offending your sensibilities :). I guess you're right that it's a pretty elegant solution, but we did sort of back into it rather than purpose-building it this way, so it feels like a historical artifact. And it would be hard to argue that the reasons are not arcane :). But thanks for the quick fix!

from cbc.

akazachk avatar akazachk commented on July 29, 2024

I think I have figured out the cause of the problem (but not quite a fix yet). It is an issue with my compilation command. My compiler command looks like (edited to keep the main point):

clang++ -isystem ${COIN_OR}/build/include/coin-or -c file.cpp -o file.o

The version of the header file CbcConfig.h located in ${COIN_OR}/build/include/coin-or is not that of ${COIN_OR}/Cbc/src/CbcConfig.h.

@tkralphs Maybe this is me using coinbrew incorrectly?

It seems the version of CbcConfig.h in the build directory is autogenerated as the first line is

/* src/config_cbc.h.  Generated from config_cbc.h.in by configure.  */

from cbc.

tkralphs avatar tkralphs commented on July 29, 2024

For arcane historical reasons, when building with the autotools, CbcConfig.h is replaced by an auto-generated header when it is installed, So what you are seeing is correct. The problem is that in ec1774, @jjhforrest inserted a typedef for node_count into the source version of CbcConfig.h and since this file itself does not get installed, that's not the right place for it. So I don't think anyone building with the autotools can build successfully at the moment. We need to move that typedef somewhere. Let me look at it.

from cbc.

svigerske avatar svigerske commented on July 29, 2024

Apart from the "arcane historical reasons" (I actually find it quite elegant how we deal with the different config header variants and avoid that users would have to define HAVE_CONFIG_H, but I'm biased), what Ted wrote is correct. I took the liberty to move the typedef into a better place. (Just adding that I don't think that it's a great idea that Cbc defines a type named node_count on the global namespace.)

from cbc.

jjhforrest avatar jjhforrest commented on July 29, 2024

I have changed node_count to cbc_node_count which should be safe enough. I am trying to solve my effort to experiment with problem mas76. My version is smaller, but slightly difficult to solve. The best possible objective was -10512. I have managed to find a value of -10508 and I am hoping the run will finish this year. The last node count was 8834862000 so you can see why long int is needed.

from cbc.

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.