Code Monkey home page Code Monkey logo

Comments (12)

krober10nd avatar krober10nd commented on June 25, 2024

Hey @nunormont probably you need to use a newer C++ compiler. What version of C++ did you use?

I don't actively develop this code here at the currently due to other projects but I can of course help out if you want to achieve a particular goal.

from oceanmesh.

 avatar commented on June 25, 2024

So here are my versions of cpp and g++ (the compiler is g++ isn't it?)

cpp (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 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.
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 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.

I have to update g++ and cpp? I use the Ubuntu 18.04 OS by the way.

from oceanmesh.

krober10nd avatar krober10nd commented on June 25, 2024

Looks like you're using

    -- Using /usr/bin/c++ compiler.
    -- Using gcc version 4 or later. Adding -frounding-math

I would set the CXX variable to point to your C++ compiler that supports std14

from oceanmesh.

 avatar commented on June 25, 2024

Sorry if I'm not understanding, but the CXX variable is defined in ~/.bashrc or in other specific CMake of oceanmesh?

from oceanmesh.

krober10nd avatar krober10nd commented on June 25, 2024

It's alright,

export CXX=/path/to/cpp/compiler

from oceanmesh.

 avatar commented on June 25, 2024

Yes I actually did that and I sourced the bashrc. In my case I did this: export CXX=/usr/bin/g++ but got the same error. I also tried export CXX=/usr/bin/cpp but it didn't solve the problem either. Before that, I updated the CPP compiler from g++-7 to g++-8, with the methodology here: https://www.bojankomazec.com/2020/03/upgrading-gnu-cc-compilers-on-ubuntu.html.

from oceanmesh.

krober10nd avatar krober10nd commented on June 25, 2024

Hmm I'll have to take a closer look then tomorrow when I have a chance. Maybe something changed in the new pybind11

from oceanmesh.

 avatar commented on June 25, 2024

Thank you, I'll also try to dive deep into that.

from oceanmesh.

krober10nd avatar krober10nd commented on June 25, 2024

Okay could you try to uninstall the apt-get version of pybind11 and try to use pip install pybind11 -U instead? It seems this is a common problem with installations of pybind11 by searching the error message:

 error: expected constructor, destructor, or type conversion before ‘(’ token

from oceanmesh.

 avatar commented on June 25, 2024

I uninstalled and purged python3-pybind11 and did pip install pybind11 -U as you instructed, and I still get errors:
(...)

Installing collected packages: oceanmesh
  Running setup.py develop for oceanmesh
    ERROR: Command errored out with exit status 1:
     command: /home/nuno/resources/miniconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py'"'"'; __file__='"'"'/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
         cwd: /home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/
    Complete output (77 lines):
    running develop
    running egg_info
    writing oceanmesh.egg-info/PKG-INFO
    writing dependency_links to oceanmesh.egg-info/dependency_links.txt
    writing requirements to oceanmesh.egg-info/requires.txt
    writing top-level names to oceanmesh.egg-info/top_level.txt
    reading manifest file 'oceanmesh.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'oceanmesh.egg-info/SOURCES.txt'
    running build_ext
    -- OS detected: Linux
    -- CXX Compiler detected: GNU
    -- CMake additional search path for libraries:
    -- Using header-only CGAL
    -- Targetting Unix Makefiles
    -- Using /usr/bin/c++ compiler.
    -- Boost version: 1.65.1
    -- Boost include dirs: /usr/include
    -- Boost libraries:
    -- Using gcc version 4 or later. Adding -frounding-math
    -- CGAL version: 5.00.0.100
    -- Build type: Release
    -- USING CXXFLAGS = ' -O3 -DNDEBUG'
    -- USING EXEFLAGS = ' '
    -- Requested component: MPFR
    -- Requested component: GMP
    CMake Warning at CMakeLists.txt:31 (find_package):
      By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "pybind11",
      but CMake did not find one.
    
      Could not find a package configuration file provided by "pybind11" with any
      of the following names:
    
        pybind11Config.cmake
        pybind11-config.cmake
    
      Add the installation prefix of "pybind11" to CMAKE_PREFIX_PATH or set
      "pybind11_DIR" to a directory containing one of the above files.  If
      "pybind11" provides a separate development package or SDK, be sure it has
      been installed.
    
    
    -- Found pybind11 v:
    CMake Error at CMakeLists.txt:35 (pybind11_add_module):
      Unknown CMake command "pybind11_add_module".
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py", line 78, in <module>
        setup(
      File "/home/nuno/resources/miniconda3/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/home/nuno/resources/miniconda3/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/home/nuno/resources/miniconda3/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/home/nuno/resources/miniconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/nuno/resources/miniconda3/lib/python3.8/site-packages/setuptools/command/develop.py", line 34, in run
        self.install_for_development()
      File "/home/nuno/resources/miniconda3/lib/python3.8/site-packages/setuptools/command/develop.py", line 136, in install_for_development
        self.run_command('build_ext')
      File "/home/nuno/resources/miniconda3/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/home/nuno/resources/miniconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py", line 42, in run
        self.build_extension(ext)
      File "/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py", line 71, in build_extension
        subprocess.check_call(
      File "/home/nuno/resources/miniconda3/lib/python3.8/subprocess.py", line 364, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', '/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/oceanmesh/cpp', '-DPYTHON_EXECUTABLE=/home/nuno/resources/miniconda3/bin/python', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/nuno/resources/miniconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py'"'"'; __file__='"'"'/home/nuno/universidade/tese/unst_grid_generation/oceanmesh-python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.

from oceanmesh.

krober10nd avatar krober10nd commented on June 25, 2024

Sorry, not sure, I don't have Ubuntu. Maybe build then pybind11 by source.

My other package uses the same build system and this is what one user recommended.

krober10nd/SeismicMesh#161

from oceanmesh.

 avatar commented on June 25, 2024

I solved my problem with those links. Thanks!

from oceanmesh.

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.