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

Update FindGUROBI.cmake to support Linux ARM64 GUROBI #220

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

martin-g
Copy link

GUROBI adds support for Linux ARM64 in v. 10.0.0+.

GUROBI adds support for Linux ARM64 in v. 10.0.0+.

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
@martin-g
Copy link
Author

The PR is set as a Draft because it is tested against GUROBI 11.0.2 (current latest) while the project still uses 9.0.2!

@@ -18,13 +18,13 @@ if(EXISTS ${GUROBI_HOME} )
string(STRIP ${GUROBI_VER} GUROBI_VER )
message( "-- The retrieved version of Gurobi is: " ${GUROBI_VER} )

string(SUBSTRING ${GUROBI_VER} 0 2 GUROBI_VER_LIB)
string(SUBSTRING ${GUROBI_VER} 0 3 GUROBI_VER_LIB)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems for GUROBI v11 there is no need to cut the last digit, i.e. 110 needs to stay 110.


message( "-- The retrieved name of version-specific library is " gurobi ${GUROBI_VER_LIB} )

file( GLOB GUROBI_LIB_FILE ${GUROBI_HOME}/linux64/lib/libgurobi${GUROBI_VER_LIB}.* )
file( GLOB GUROBI_LIB_FILE ${GUROBI_HOME}/*linux64/lib/libgurobi${GUROBI_VER_LIB}.* )
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GUROBI for Linux ARM64 uses .../armlinux64/** as a base folder.

@martin-g
Copy link
Author

I wanted to add support for Linux ARM64 to Bioconda/hatchet - bioconda/bioconda-recipes#47963
The build using GUROBI 11.0.2 passes but it seems the tests fail:

13:22:14 �[32mBIOCONDA INFO�[0m (OUT) Packaging hatchet-2.0.1-py39hce41f19_1�[0m
13:22:15 �[32mBIOCONDA INFO�[0m (OUT) compiling .pyc files...�[0m
13:22:15 �[32mBIOCONDA INFO�[0m (OUT) number of files: 97�[0m
13:22:15 �[32mBIOCONDA INFO�[0m (OUT) WARNING :: get_rpaths_raw()=[] and patchelf=[''] disagree for /opt/conda/conda-bld/hatchet_1716556818517/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libgurobi110_light.so ::�[0m
13:22:16 �[32mBIOCONDA INFO�[0m (OUT) WARNING :: get_rpaths_raw()=[] and patchelf=[''] disagree for /opt/conda/conda-bld/hatchet_1716556818517/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libgurobi110.so ::�[0m
13:22:16 �[32mBIOCONDA INFO�[0m (OUT) WARNING :: get_rpaths_raw()=[] and patchelf=[''] disagree for /opt/conda/conda-bld/hatchet_1716556818517/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libGurobiJni110.so ::�[0m
13:22:16 �[32mBIOCONDA INFO�[0m (OUT) Warning: rpath /opt/conda/conda-bld/hatchet_1716556818517/_build_env/lib is outside prefix /opt/conda/conda-bld/hatchet_1716556818517/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place (removing it)�[0m
13:22:16 �[32mBIOCONDA INFO�[0m (OUT) WARNING :: get_rpaths_raw()=[] and patchelf=[''] disagree for /opt/conda/conda-bld/hatchet_1716556818517/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libgurobi.so.11.0.2 ::�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT) Traceback (most recent call last):�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/bin/conda-build", line 11, in <module>�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     sys.exit(execute())�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 581, in execute�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     api.build(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     return build_tree(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3762, in build_tree�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     packages_from_this = build(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2839, in build�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 1974, in bundle_conda�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     files = post_process_files(metadata, initial_files)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 1782, in post_process_files�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     post_build(m, new_files, build_python=python)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1729, in post_build�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     check_overlinking(m, files, host_prefix)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1554, in check_overlinking�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     return check_overlinking_impl(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1414, in check_overlinking_impl�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     all_needed_dsos, needed_dsos_for_file = _collect_needed_dsos(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 847, in _collect_needed_dsos�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     needed = get_linkages_memoized(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/os_utils/liefldd.py", line 1191, in __call__�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     value = self.func(*args, **kw)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/os_utils/liefldd.py", line 1220, in get_linkages_memoized�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     return get_linkages(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/os_utils/liefldd.py", line 630, in get_linkages�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     result_lief = inspect_linkages_lief(�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/os_utils/liefldd.py", line 509, in inspect_linkages_lief�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     uniqueness_key = get_uniqueness_key(binary)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)   File "/opt/conda/lib/python3.10/site-packages/conda_build/os_utils/liefldd.py", line 370, in get_uniqueness_key�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT)     return str(file)�[0m
13:22:17 �[32mBIOCONDA INFO�[0m (OUT) MemoryError: std::bad_alloc�[0m

I guess some more changes are needed in HATCHet to fully upgrade to GUROBI 11.x ?!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant