From 96b7072d5f6287b96cf20c7c1388ba7016deb23e Mon Sep 17 00:00:00 2001 From: Akshay Agrawal Date: Fri, 29 May 2020 11:11:54 -0700 Subject: [PATCH] Pass openmp flag to linker On Ubuntu 20.04, if -fopenmp is passed when compiling but not when linking, importing diffcp results in the following error >>> import diffcp Traceback (most recent call last): File "", line 1, in File "/home/akshay/src/cvxgrp/diffcp/diffcp/__init__.py", line 3, in from diffcp.cone_program import solve_and_derivative, \ File "/home/akshay/src/cvxgrp/diffcp/diffcp/cone_program.py", line 3, in import diffcp.cones as cone_lib File "/home/akshay/src/cvxgrp/diffcp/diffcp/cones.py", line 6, in from _diffcp import dprojection, project_exp_cone, Cone, ConeType ImportError: /home/akshay/envs/diffcp/lib/python3.8/site-packages/_diffcp.cpython-38-x86_64-linux-gnu.so: undefined symbol: omp_get_thread_num --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 491e310..64552fc 100644 --- a/setup.py +++ b/setup.py @@ -65,7 +65,8 @@ def march_native(): "cpp/include", ], language='c++', - extra_compile_args=["-O3", "-std=c++11"] + openmp() + march_native() + extra_compile_args=["-O3", "-std=c++11"] + openmp() + march_native(), + extra_link_args=openmp() ) def is_platform_mac():