Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 0c8c7595 authored by hhakim's avatar hhakim
Browse files

Fix possible linking error in python shared library path to OpenMP library on...

Fix possible linking error in python shared library path to OpenMP library on macOS by editing it manually.

This is again that issue where Matlab OMP library and MacPorts version are mixed.

Other minor changes: in pyfaust.proj and factparams, Remove python 2
specific code to workaround the missing ABC class in abc.package
(abstract class).
parent 67009d6d
No related branches found
No related tags found
No related merge requests found
Pipeline #834036 skipped
......@@ -5,7 +5,7 @@ variables:
DURL: "https://gitlab.inria.fr/faustgrp/gforge_files/-/raw/master/"
DFILE: "faust_data-2.6.0.zip"
JOB_PYTHON: "python3" # if set again in job, it hides this one (precedence: https://docs.gitlab.com/13.6/ee/ci/variables/#priority-of-environment-variables)
WIN_PY_VER: '3.9' #default python version used to build python wrapper on windows (for both whl package and nsis .exe)
WIN_PY_VER: '3.9' # default python version used to build python wrapper on windows (for both whl package and nsis .exe)
NIX_PY_VER: '3.9' # default python version used to build python wrapper for "unix" system packages (pkg/macos, rpm/deb/linux)
.ctest_template: &ctest_script
......@@ -93,6 +93,8 @@ pkg_macos:
# restore clang libomp
- sudo cp /opt/local/lib/libomp/libomp.dylib /opt/local/lib/libomp/libiomp5.dylib
- sudo mv /opt/local/lib/libomp/libomp.dylib.bak /opt/local/lib/libomp/libomp.dylib
# ensure the linking of libomp to the python wrapper shared lib is right (not overridden by matlab libomp)
- sudo install_name_tool -change @rpath/libiomp5.dylib /opt/local/lib/libomp/libomp.dylib wrapper/python/_FaustCorePy.cpython-*-darwin.so
- sudo make install LANG=en_GB.UTF-8
#- 'sudo hdiutil create -volname Faust-$SHA_START-MatlabR2016a-Py2.7 -srcfolder /opt/local/faust-$SHA_START -ov -format UDRW faust-$SHA_START'
- sudo pkgbuild --identifier fr.inria.faust --version $SHA_START --root /opt/local/faust-$SHA_START --install-location /opt/local/faust-$SHA_START --scripts . ./faust-$SHA_START.pkg
......@@ -217,7 +219,15 @@ pkg_macos_release:
# restore clang libomp
- sudo cp /opt/local/lib/libomp/libomp.dylib /opt/local/lib/libomp/libiomp5.dylib
- sudo mv /opt/local/lib/libomp/libomp.dylib.bak /opt/local/lib/libomp/libomp.dylib
# ensure the linking of libomp to the python wrapper shared lib is right (not overridden by matlab libomp)
- otool -L wrapper/python/_FaustCorePy.cpython-*-darwin.so
- sudo install_name_tool -change @rpath/libiomp5.dylib /opt/local/lib/libomp/libomp.dylib wrapper/python/_FaustCorePy.cpython-*-darwin.so
- otool -L wrapper/python/_FaustCorePy.cpython-*-darwin.so
- sudo rm -Rf /opt/local/faust # install dir
- 'sudo make install LANG=en_GB.UTF-8'
# ensure libomp path also in install path
- sudo install_name_tool -change @rpath/libiomp5.dylib /opt/local/lib/libomp/libomp.dylib /opt/local/faust/python/_FaustCorePy.cpython-*-darwin.so
- otool -L wrapper/python/_FaustCorePy.cpython-*-darwin.so
- 'sudo hdiutil create -volname Faust-$CI_COMMIT_TAG-MatlabR2016a-Py2.7 -srcfolder /opt/local/faust -ov -format UDRW faust-$CI_COMMIT_TAG'
- sudo pkgbuild --identifier fr.inria.faust --version $CI_COMMIT_TAG --root /opt/local/faust --install-location /opt/local/faust --scripts . ./faust-$CI_COMMIT_TAG.pkg
- for FILE in $(find /usr/local/lib ! -iname "libmatio*" -maxdepth 1 -mindepth 1); do filter_list+="--filter $(basename $FILE) "; done;
......
......@@ -4,12 +4,7 @@ from pyfaust import *
import numpy as np
import _FaustCorePy
import sys
if sys.version_info > (3,0):
from abc import ABC, abstractmethod
else:
from abc import abstractmethod
ABC = object # trick to handle py2 missing ABC
# but not using abstract class in py2.7
from abc import ABC, abstractmethod
## @package pyfaust.factparams @brief The module for the parametrization of FAuST's algorithms (Palm4MSA and Hierarchical Factorization).
......@@ -1047,7 +1042,7 @@ class ParamsHierarchicalSquareMat(ParamsHierarchical):
"""
The simplified parameterization class for factorizing a square matrix (of order a power of two) with the hierarchical factorization algorithm.
This type of parameters is typically used for Hadamard matrix
This type of parameters is typically used for a Hadamard matrix
factorization.
<b/> See also pyfaust.fact.hierarchical, pyfaust.demo.hadamard
......
......@@ -3,12 +3,7 @@
## @package pyfaust.proj @brief This module provides matrix projectors.
import _FaustCorePy
from pyfaust.factparams import *
if sys.version_info > (3,0):
from abc import ABC, abstractmethod
else:
from abc import abstractmethod
ABC = object # trick to handle py2 missing ABC
# but not using abstract class in py2.7
from abc import ABC, abstractmethod
from pyfaust.fact import _check_fact_mat
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment