Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install lightgbm failed on macos m2 pro #5876

Closed
nzhsta opened this issue May 8, 2023 · 3 comments
Closed

install lightgbm failed on macos m2 pro #5876

nzhsta opened this issue May 8, 2023 · 3 comments

Comments

@nzhsta
Copy link

nzhsta commented May 8, 2023

Description

install lightgbm failed

Environment info

py3.6

Command(s) you used to install LightGBM

git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
sh build-python.sh install

output

building lightgbm
--- building wheel ---
INFO:root:running bdist_wheel
setup.py:195: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer, pypa/build or
        other standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  install.initialize_options(self)
INFO:root:running build
INFO:root:running build_py
INFO:root:creating build
INFO:root:creating build/lib
INFO:root:creating build/lib/lightgbm
INFO:root:copying lightgbm/callback.py -> build/lib/lightgbm
INFO:root:copying lightgbm/compat.py -> build/lib/lightgbm
INFO:root:copying lightgbm/plotting.py -> build/lib/lightgbm
INFO:root:copying lightgbm/__init__.py -> build/lib/lightgbm
INFO:root:copying lightgbm/engine.py -> build/lib/lightgbm
INFO:root:copying lightgbm/dask.py -> build/lib/lightgbm
INFO:root:copying lightgbm/basic.py -> build/lib/lightgbm
INFO:root:copying lightgbm/libpath.py -> build/lib/lightgbm
INFO:root:copying lightgbm/sklearn.py -> build/lib/lightgbm
INFO:root:running egg_info
INFO:root:creating lightgbm.egg-info
INFO:root:writing lightgbm.egg-info/PKG-INFO
INFO:root:writing dependency_links to lightgbm.egg-info/dependency_links.txt
INFO:root:writing requirements to lightgbm.egg-info/requires.txt
INFO:root:writing top-level names to lightgbm.egg-info/top_level.txt
INFO:root:writing manifest file 'lightgbm.egg-info/SOURCES.txt'
INFO:root:reading manifest file 'lightgbm.egg-info/SOURCES.txt'
INFO:root:reading manifest template 'MANIFEST.in'
WARNING:root:no previously-included directories found matching 'build'
WARNING:root:warning: no files found matching '*.txt'
WARNING:root:warning: no files found matching '*.so' under directory 'lightgbm'
WARNING:root:warning: no files found matching '*.so' under directory 'compile'
WARNING:root:warning: no files found matching '*.dll' under directory 'compile/Release'
WARNING:root:warning: no files found matching '*.dll' under directory 'compile/windows/x64/DLL'
WARNING:root:warning: no previously-included files matching '*.py[co]' found anywhere in distribution
WARNING:root:warning: no previously-included files found matching 'compile/external_libs/compute/.git'
INFO:root:adding license file 'LICENSE'
INFO:root:writing manifest file 'lightgbm.egg-info/SOURCES.txt'
INFO:root:copying lightgbm/VERSION.txt -> build/lib/lightgbm
INFO:root:copying lightgbm/py.typed -> build/lib/lightgbm
INFO:root:installing to build/bdist.macosx-10.9-x86_64/wheel
INFO:root:running install
INFO:LightGBM:Starting to compile the library.
INFO:LightGBM:Starting to compile with CMake.
Traceback (most recent call last):
  File "setup.py", line 61, in silent_call
    subprocess.check_call(cmd, stderr=log, stdout=log)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '_lightgbm', '-I/Users/jarven/LightGBM/lightgbm-python/build_cpp', '-j4']' returned non-zero exit status 2.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 355, in <module>
    'Typing :: Typed'])
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/__init__.py", line 107, in setup
    return distutils.core.setup(**attrs)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 259, in run
    self.run_command('install')
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/Users/jarven/environment/anaconda3/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "setup.py", line 228, in run
    time_costs=self.time_costs)
  File "setup.py", line 175, in compile_cpp
    error_msg='An error has occurred while building lightgbm library file')
  File "setup.py", line 65, in silent_call
    raise Exception("\n".join((error_msg, LOG_NOTICE)))
Exception: An error has occurred while building lightgbm library file
The full version of error log was saved into /Users/jarven/LightGBM_compilation.log
@nzhsta nzhsta changed the title install lightgbm failed in macos m2 pro install lightgbm failed on macos m2 pro May 8, 2023
@nzhsta
Copy link
Author

nzhsta commented May 8, 2023

log as follows:

[ 98%] Building CXX object CMakeFiles/lightgbm_objs.dir/src/treelearner/voting_parallel_tree_learner.cpp.o
In file included from /Users/jarven/LightGBM/lightgbm-python/compile/src/treelearner/serial_tree_learner.cpp:5:
In file included from /Users/jarven/LightGBM/lightgbm-python/compile/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/jarven/LightGBM/lightgbm-python/compile/include/LightGBM/dataset.h:8:
In file included from /Users/jarven/LightGBM/lightgbm-python/compile/include/LightGBM/config.h:15:
In file included from /Users/jarven/LightGBM/lightgbm-python/compile/include/LightGBM/meta.h:9:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/functional:515:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:28:
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:48:5: warning: delete called on non-final 'LightGBM::GradientDiscretizer' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
    delete __ptr;
    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:305:7: note: in instantiation of member function 'std::default_delete<LightGBM::GradientDiscretizer>::operator()' requested here
      __ptr_.second()(__tmp);
      ^
/Users/jarven/LightGBM/lightgbm-python/compile/src/treelearner/serial_tree_learner.cpp:65:27: note: in instantiation of member function 'std::unique_ptr<LightGBM::GradientDiscretizer>::reset' requested here
    gradient_discretizer_.reset(new GradientDiscretizer(config_->num_grad_quant_bins, config_->num_iterations, config_->seed, is_constant_hessian, config_->stochastic_rounding));
                          ^
1 warning generated.
[ 98%] Built target lightgbm_objs
[100%] Linking CXX shared library /Users/jarven/LightGBM/lightgbm-python/compile/lib_lightgbm.so
ld: warning: ignoring file /opt/homebrew/opt/libomp/lib/libomp.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
Undefined symbols for architecture x86_64:
  "___kmpc_barrier", referenced from:
      _.omp_outlined..15 in linear_tree_learner.cpp.o
      _.omp_outlined..87 in linear_tree_learner.cpp.o
  "___kmpc_dispatch_init_4", referenced from:
      _.omp_outlined..65 in dataset.cpp.o
      _.omp_outlined..80 in dataset.cpp.o
      _.omp_outlined. in dataset_loader.cpp.o
      _.omp_outlined..60 in dataset_loader.cpp.o
      _.omp_outlined..86 in dataset_loader.cpp.o
      _.omp_outlined..87 in dataset_loader.cpp.o
      _.omp_outlined..116 in metric.cpp.o
      ...
  "___kmpc_dispatch_next_4", referenced from:
      _.omp_outlined..65 in dataset.cpp.o
      _.omp_outlined..80 in dataset.cpp.o
      _.omp_outlined. in dataset_loader.cpp.o
      _.omp_outlined..60 in dataset_loader.cpp.o
      _.omp_outlined..86 in dataset_loader.cpp.o
      _.omp_outlined..87 in dataset_loader.cpp.o
      _.omp_outlined..116 in metric.cpp.o
      ...
  "___kmpc_end_master", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..36 in gbdt.cpp.o
      _.omp_outlined. in gbdt_model_text.cpp.o
      _.omp_outlined. in sample_strategy.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..68 in dataset.cpp.o
      _.omp_outlined..103 in dataset_loader.cpp.o
      ...
  "___kmpc_end_reduce_nowait", referenced from:
      _.omp_outlined..35 in metadata.cpp.o
      _.omp_outlined. in metric.cpp.o
      _.omp_outlined..25 in metric.cpp.o
      _.omp_outlined..27 in metric.cpp.o
      _.omp_outlined..29 in metric.cpp.o
      _.omp_outlined..31 in metric.cpp.o
      _.omp_outlined..33 in metric.cpp.o
      ...
  "___kmpc_end_serialized_parallel", referenced from:
      LightGBM::ScoreUpdater::ScoreUpdater(LightGBM::Dataset const*, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::AddScore(double, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::MultiplyScore(double, int) in gbdt.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      ...
  "___kmpc_for_static_fini", referenced from:
      _.omp_outlined..17 in c_api.cpp.o
      _.omp_outlined..23 in c_api.cpp.o
      _.omp_outlined..24 in c_api.cpp.o
      _.omp_outlined..26 in c_api.cpp.o
      _.omp_outlined..27 in c_api.cpp.o
      _.omp_outlined..32 in c_api.cpp.o
      _.omp_outlined..33 in c_api.cpp.o
      ...
  "___kmpc_for_static_init_4", referenced from:
      _.omp_outlined..17 in c_api.cpp.o
      _.omp_outlined..23 in c_api.cpp.o
      _.omp_outlined..24 in c_api.cpp.o
      _.omp_outlined..26 in c_api.cpp.o
      _.omp_outlined..27 in c_api.cpp.o
      _.omp_outlined..32 in c_api.cpp.o
      _.omp_outlined..33 in c_api.cpp.o
      ...
  "___kmpc_for_static_init_4u", referenced from:
      _.omp_outlined..119 in gbdt_model_text.cpp.o
      _.omp_outlined..7 in serial_tree_learner.cpp.o
      _.omp_outlined..8 in serial_tree_learner.cpp.o
  "___kmpc_for_static_init_8", referenced from:
      _.omp_outlined..137 in c_api.cpp.o
      _.omp_outlined..138 in c_api.cpp.o
      _.omp_outlined. in gbdt.cpp.o
      _.omp_outlined..46 in gbdt.cpp.o
      _.omp_outlined..23 in metadata.cpp.o
  "___kmpc_fork_call", referenced from:
      _LGBM_DatasetCreateFromFile in c_api.cpp.o
      _LGBM_DatasetCreateFromSampledColumn in c_api.cpp.o
      _LGBM_DatasetCreateFromSerializedReference in c_api.cpp.o
      LightGBM::Dataset::InitStreaming(int, int, int, int, int, int, int) in c_api.cpp.o
      _LGBM_DatasetPushRows in c_api.cpp.o
      _LGBM_DatasetPushRowsWithMetadata in c_api.cpp.o
      _LGBM_DatasetPushRowsByCSR in c_api.cpp.o
      ...
  "___kmpc_global_thread_num", referenced from:
      LightGBM::ScoreUpdater::ScoreUpdater(LightGBM::Dataset const*, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::AddScore(double, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::MultiplyScore(double, int) in gbdt.cpp.o
      int LightGBM::ParallelPartitionRunner<int, false>::Run<true>(int, std::__1::function<int (int, int, int, int*, int*)> const&, int*) in sample_strategy.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<false, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      ...
  "___kmpc_master", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..36 in gbdt.cpp.o
      _.omp_outlined. in gbdt_model_text.cpp.o
      _.omp_outlined. in sample_strategy.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..68 in dataset.cpp.o
      _.omp_outlined..103 in dataset_loader.cpp.o
      ...
  "___kmpc_push_num_threads", referenced from:
      int LightGBM::ParallelPartitionRunner<int, false>::Run<true>(int, std::__1::function<int (int, int, int, int*, int*)> const&, int*) in sample_strategy.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<false, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<false, true, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<false, false, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      ...
  "___kmpc_reduce_nowait", referenced from:
      _.omp_outlined..35 in metadata.cpp.o
      _.omp_outlined. in metric.cpp.o
      _.omp_outlined..25 in metric.cpp.o
      _.omp_outlined..27 in metric.cpp.o
      _.omp_outlined..29 in metric.cpp.o
      _.omp_outlined..31 in metric.cpp.o
      _.omp_outlined..33 in metric.cpp.o
      ...
  "___kmpc_serialized_parallel", referenced from:
      LightGBM::ScoreUpdater::ScoreUpdater(LightGBM::Dataset const*, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::AddScore(double, int) in gbdt.cpp.o
      LightGBM::ScoreUpdater::MultiplyScore(double, int) in gbdt.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, false, 0>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, false, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      void LightGBM::Dataset::ConstructHistogramsInner<true, true, true, 16>(std::__1::vector<signed char, std::__1::allocator<signed char> > const&, int const*, int, float const*, float const*, float*, float*, LightGBM::TrainingShareStates*, double*) const in dataset.cpp.o
      ...
  "_omp_get_max_threads", referenced from:
      LightGBM::LinearTreeLearner::InitLinear(LightGBM::Dataset const*, int) in linear_tree_learner.cpp.o
  "_omp_get_num_threads", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..36 in gbdt.cpp.o
      _.omp_outlined. in gbdt_model_text.cpp.o
      _.omp_outlined. in sample_strategy.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..68 in dataset.cpp.o
      _.omp_outlined..103 in dataset_loader.cpp.o
      ...
  "_omp_get_thread_num", referenced from:
      _.omp_outlined..17 in c_api.cpp.o
      _.omp_outlined..23 in c_api.cpp.o
      _.omp_outlined..24 in c_api.cpp.o
      _.omp_outlined..26 in c_api.cpp.o
      _.omp_outlined..27 in c_api.cpp.o
      _.omp_outlined..32 in c_api.cpp.o
      _.omp_outlined..33 in c_api.cpp.o
      ...
  "_omp_set_num_threads", referenced from:
      _LGBM_DatasetCreateFromFile in c_api.cpp.o
      _LGBM_DatasetCreateFromSampledColumn in c_api.cpp.o
      _LGBM_DatasetCreateFromSerializedReference in c_api.cpp.o
      _LGBM_DatasetCreateFromMats in c_api.cpp.o
      _LGBM_DatasetCreateFromCSR in c_api.cpp.o
      _LGBM_DatasetCreateFromCSRFunc in c_api.cpp.o
      _LGBM_DatasetCreateFromCSC in c_api.cpp.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/jarven/LightGBM/lightgbm-python/compile/lib_lightgbm.so] Error 1
make[2]: *** [CMakeFiles/_lightgbm.dir/all] Error 2
make[1]: *** [CMakeFiles/_lightgbm.dir/rule] Error 2
make: *** [_lightgbm] Error 2

@jameslamb
Copy link
Collaborator

Thanks for using LightGBM.

I'm closing this and marking it as a duplicate of #5700. This is the exact same issue and error message as was reported there. In the future, please search the open issues in this project before opening a new one.

See my response there for why this has not yet been fixed: #5700 (comment). I'm sorry for the inconvenience, and I hope we'll be able to get LightGBM working on the new Macs soon.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity since it was closed.
To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues
including a reference to this.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants