GithubHelp home page GithubHelp logo

Android Issues about boost-cmake HOT 6 OPEN

orphis avatar orphis commented on August 16, 2024
Android Issues

from boost-cmake.

Comments (6)

Orphis avatar Orphis commented on August 16, 2024

A few comments first:

  • You shouldn't have the find_package() call as Boost is provided in the workspace directly.
  • There is no circular_buffer component in my distribution, you should just use Boost::boost (it's header only I believe).

Now, I notice the "" in your paths, so I'm guessing you are using Windows. It looks like the whole path is too deep and reaching the limit (about 260 characters long). Usually, the course of action from there is to make sure that "MyProjectPath" is as short as needed not to hit the limit.

from boost-cmake.

Orphis avatar Orphis commented on August 16, 2024

Here are some possible solutions: https://stackoverflow.com/questions/33905687/error-file-path-too-long-on-windows-keep-below-240-characters

from boost-cmake.

seanh1986 avatar seanh1986 commented on August 16, 2024

Thanks for the quick reply!

Also, thanks for the clarification on the find_package() and the Boost::boost tip. I have made the following modifications to my above cmake file:

  • Removed the find_package() line
  • Changed "Boost::circular_buffer" to "Boost::boost" in the target_link_libraries

Yes, I am using Windows 10 and I am aware of the path limitations, so I have my repos located so that the path is nearly as short as possible.

Anyways, I verified that the path:
[MyProjectPath]\.externalNativeBuild\cmake\debug\armeabi-v7a\_deps\boost-cmake-src\.git\objects\pack\pack-9f2195dfb9d14b5d14c811b719879a70f0210228.pack

is only 202 characters long (including spaces), so I'm guessing that's not the problem.

I noticed that in my path, I have:
.\.externalNativeBuild\cmake\debug\arm64-v8a\_deps\boost-src\boost

Which appears to have the entire boost library. When I add Boost::boost, I'm guessing that is what is being included, correct (obviously different folders for debug/release and architecture type)?

Assuming my cmake is as described, I will assume that the issue I am facing is not related to the boost-cmake integration and is related to something else.

from boost-cmake.

Orphis avatar Orphis commented on August 16, 2024

If the path is short, then you have a local issue. You should try to go into the boost-cmake-src folder above and run some git operations manually to see if they succeed or fail and debug it from there.

As for using Boost::boost, yes it will build what you use as needed in the right mode.

from boost-cmake.

seanh1986 avatar seanh1986 commented on August 16, 2024

Hi @Orphis thanks for your help. I managed to resolve the issue and I am now no longer get that error. However, I am getting a weird error that I don't know if it's boost 1.70 specific or something...

Basically, boost itself seems to be missing includes that it needs.

In the file boost/circular_buffer/base.hpp, I have the following issues

  • Missing include for details.hpp, otherwise it cannot find "cb_details::const_traits"
  • "BOOST_CB_ASSERT" and ".is_valid( ... )" all seem to be missing imports, etc.

Note: other issues exist in other files, as well. I tried manually adding the 'recommended' imports, but that just caused a chain reaction of missing imports that I couldn't resolve.

Do you have any thoughts or suggestions? Have you ever seen anything like that before?

I saw that they have a released/tagged version of boost 1.70, so presumably it should be stable or at least build
(See: https://github.com/boostorg/circular_buffer/releases/tag/boost-1.70.0)

I don't know if maybe the boost importing script is missing somethings or not? Currently, I'm still only importing "Boost::boost", which I believe should be everything?

Thanks for your help!

from boost-cmake.

seanh1986 avatar seanh1986 commented on August 16, 2024

Is there a way I can provide a custom path for where the boost files get generated to?
I'm guessing in the:
add_subdirectory(${boost-cmake_SOURCE_DIR} ${boost-cmake_BINARY_DIR})

Note: I have experimented with including EXCLUDE_FROM_ALL and not and it didn't seem to help.

Right now, it's building all the boost library and putting them in temporary files that git is ignoring. For code sharing purposes, it would be best if I can control where only the final boost files go.

Either way, my above issue is still the same, it appears to be building boost but some boost files appear to be missing imports or maybe not all required boost files got built? I'm not sure you can help with this, but any assistance is greatly appreciated!

Thanks again.

from boost-cmake.

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.