# install and build openvsp
RUN set -x \
&& yum install -y epel-release
&& yum install -y gcc-c++ git make swig unzip \
libxml2 fltk cpptest glew libstdc++-static \
libxml2-devel \
cpptest-devel eigen3-devel glm-devel cminpack-devel \
&& yum clean all \
# Link include and libs for Python API. The CMake file doesn't seem to
# read the environment variables, and the setting of the paths in the
# CMakeFileLists.txt for the API doesn't work right. This does it
&& ln -s /opt/conda/include/python3.5m /usr/include/python3.5m \
&& ln -s /opt/conda/lib/libpython3.so /usr/lib64/libpython3.5m.so \
# get most recent cmake
&& curl -L https://cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz | \
tar -C /usr/local -xvaz --strip-components=1 -f - \
# Download and Build OpenVSP
&& mkdir OpenVSP; cd OpenVSP \
&& mkdir build; mkdir repo \
&& git clone https://github.com/OpenVSP/OpenVSP.git repo \
&& cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release -DVSP_NO_GRAPHICS=true \
-DVSP_USE_SYSTEM_FLTK=true -DVSP_USE_SYSTEM_CPPTEST=true \
-DVSP_USE_SYSTEM_LIBXML2=true -DVSP_USE_SYSTEM_EIGEN=true \
-DVSP_USE_SYSTEM_GLM=true -DVSP_USE_SYSTEM_GLEW=true \
-DVSP_USE_SYSTEM_CMINPACK=true \
../repo/SuperProject \
&& make \
# install OpenVSP and the python_api
&& unzip ./OpenVSP-prefix/src/OpenVSP-build/OpenVSP-3.5.2-Linux -d /usr/local/bin \
&& pushd OpenVSP-prefix/src/OpenVSP-build/src/python_api/ \
&& mkdir /opt/conda/lib/python3.5/site-packages/openvsp \
&& cp vsp.py _vsp.so /opt/conda/lib/python3.5/site-packages/openvsp \
&& popd \
# TODO: clean up /OpenVSP if the files are not needed after building and
# installing the binaries/python api (add line continuation above)
&& cd / && rm -rf /OpenVSP \
# add OpenVSP to the path
&& export PATH=$PATH:/usr/local/bin/OpenVSP-3.5.2-Linux/
Python 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 19:24:31) [MSC v.1900 32 bit (Intel)]Type "copyright", "credits" or "license" for more information.IPython 6.5.0 -- An enhanced Interactive Python.run test.pyTraceback (most recent call last):File "E:\OpenVSP-3.16.2\python\test.py", line 4, in <module>import vsp as vspFile "E:\OpenVSP-3.16.2\python\vsp.py", line 17, in <module>_vsp = swig_import_helper()File "E:\OpenVSP-3.16.2\python\vsp.py", line 16, in swig_import_helperreturn importlib.import_module('_vsp')File "C:\ProgramData\Anaconda3\envs\py35\lib\importlib\__init__.py", line 126, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)ImportError: DLL load failed: The specified procedure could not be found.
Python 3.6.8 |Anaconda custom (32-bit)| (default, Feb 11 2019, 15:50:09) [MSC v.1915 32 bit (Intel)]Type "copyright", "credits" or "license" for more information.IPython 7.2.0 -- An enhanced Interactive Python.run test.pySET_ALL = 0SET_SHOWN = 1SET_NOT_SHOWN = 2SET_FIRST_USER = 3EXPORT_FELISA = 0EXPORT_XSEC = 1EXPORT_STL = 2EXPORT_AWAVE = 3EXPORT_NASCART = 4EXPORT_POVRAY = 5EXPORT_CART3D = 6EXPORT_VORXSEC = 7EXPORT_XSECGEOM = 8EXPORT_GMSH = 9EXPORT_X3D = 10EXPORT_STEP = 11VSP_OK = 0VSP_INVALID_PTR = 1VSP_CANT_FIND_TYPE = 3VSP_CANT_FIND_PARM = 4VSP_CANT_FIND_NAME = 5VSP_INVALID_GEOM_ID = 6VSP_FILE_DOES_NOT_EXIST = 7VSP_FILE_WRITE_FAILURE = 8VSP_WRONG_XSEC_TYPE = 10VSP_WRONG_FILE_TYPE = 11VSP_INDEX_OUT_RANGE = 12VSP_INVALID_XSEC_ID = 13VSP_INVALID_ID = 14VSP_CANT_SET_NOT_EQ_PARM = 15SYM_XY = 1SYM_XZ = 2SYM_YZ = 4SYM_ROT_X = 8SYM_ROT_Y = 16SYM_ROT_Z = 32SYM_PLANAR_TYPES = 3SYM_NUM_TYPES = 6XSEC_FUSE = 0XSEC_STACK = 1XSEC_WING = 2XSEC_CUSTOM = 3XSEC_NUM_TYPES = 5X_DIR = 0Y_DIR = 1Z_DIR = 2XS_SHIFT_LE = 0XS_SHIFT_MID = 1XS_SHIFT_TE = 2XS_POINT = 0XS_CIRCLE = 1XS_ELLIPSE = 2XS_SUPER_ELLIPSE = 3XS_ROUNDED_RECTANGLE = 4XS_GENERAL_FUSE = 5XS_FILE_FUSE = 6XS_FOUR_SERIES = 7XS_SIX_SERIES = 8XS_BICONVEX = 9XS_WEDGE = 10XS_BEZIER = 11XS_FILE_AIRFOIL = 12XS_NUM_TYPES = 19XSEC_BOTH_SIDES = 0XSEC_LEFT_SIDE = 1XSEC_RIGHT_SIDE = 2IMPORT_STL = 0IMPORT_NASCART = 1IMPORT_CART3D_TRI = 2IMPORT_XSEC_MESH = 3IMPORT_PTS = 4NO_FILE_TYPE = 0COMP_GEOM_TXT_TYPE = 1COMP_GEOM_CSV_TYPE = 2DRAG_BUILD_TSV_TYPE = 4SLICE_TXT_TYPE = 8MASS_PROP_TXT_TYPE = 16DEGEN_GEOM_CSV_TYPE = 32DEGEN_GEOM_M_TYPE = 64CFD_STL_TYPE = 128CFD_POLY_TYPE = 256CFD_TRI_TYPE = 512CFD_OBJ_TYPE = 1024CFD_DAT_TYPE = 2048CFD_KEY_TYPE = 4096CFD_GMSH_TYPE = 8192CFD_SRF_TYPE = 16384CFD_TKEY_TYPE = 32768INT_DATA = 0DOUBLE_DATA = 1STRING_DATA = 2VEC3D_DATA = 3MESH_INDEXED_TRI = 0MESH_SLICE_TRI = 1GEOM_XSECS = 2CFD_STL_FILE_NAME = 0CFD_POLY_FILE_NAME = 1CFD_TRI_FILE_NAME = 2CFD_OBJ_FILE_NAME = 3CFD_DAT_FILE_NAME = 4CFD_KEY_FILE_NAME = 5CFD_GMSH_FILE_NAME = 6CFD_SRF_FILE_NAME = 7CFD_TKEY_FILE_NAME = 8CFD_NUM_FILE_NAMES = 12CFD_MIN_EDGE_LEN = 0CFD_MAX_EDGE_LEN = 1CFD_MAX_GAP = 2CFD_NUM_CIRCLE_SEGS = 3CFD_GROWTH_RATIO = 4CFD_LIMIT_GROWTH_FLAG = 5CFD_INTERSECT_SUBSURFACE_FLAG = 6CFD_HALF_MESH_FLAG = 7CFD_FAR_FIELD_FLAG = 8CFD_FAR_MAX_EDGE_LEN = 9CFD_FAR_MAX_GAP = 10CFD_FAR_NUM_CIRCLE_SEGS = 11CFD_FAR_SIZE_ABS_FLAG = 12CFD_FAR_LENGTH = 13CFD_FAR_WIDTH = 14CFD_FAR_HEIGHT = 15CFD_FAR_X_SCALE = 16CFD_FAR_Y_SCALE = 17CFD_FAR_Z_SCALE = 18CFD_FAR_LOC_MAN_FLAG = 19CFD_FAR_LOC_X = 20CFD_FAR_LOC_Y = 21CFD_FAR_LOC_Z = 22CFD_WAKE_SCALE = 23CFD_WAKE_ANGLE = 24POINT_SOURCE = 0LINE_SOURCE = 1BOX_SOURCE = 2NUM_SOURCE_TYPES = 5XDDM_VAR = 0XDDM_CONST = 1NORMAL_SURF = 0WING_SURF = 1NUM_SURF_TYPES = 4SS_LINE = 0SS_RECTANGLE = 1SS_ELLIPSE = 2SS_NUM_TYPES = 5AR_WSECT_DRIVER = 0SPAN_WSECT_DRIVER = 1AREA_WSECT_DRIVER = 2TAPER_WSECT_DRIVER = 3AVEC_WSECT_DRIVER = 4ROOTC_WSECT_DRIVER = 5TIPC_WSECT_DRIVER = 6SECSWEEP_WSECT_DRIVER = 7NUM_WSECT_DRIVER = 8SWEEP_WSECT_DRIVER = 8SWEEPLOC_WSECT_DRIVER = 9SECSWEEPLOC_WSECT_DRIVER = 10('POD', 'FUSELAGE', 'WING', 'STACK', 'BLANK', 'ELLIPSOID', 'BODYOFREVOLUTION', 'PROP', 'HINGE', 'CONFORMAL')All geoms in Vehicle.('PQUAYWKAMT', 'RLPWWTLWCX', 'BMJPVFTEWA')All geoms in Vehicle.()End of second use case, all geoms in Vehicle.('FBBTWFUNUC',)Start of third use case, read in first-case file.All geoms in Vehicle.('PQUAYWKAMT', 'RLPWWTLWCX', 'BMJPVFTEWA')
--