ktemkin / gnuradio-for-mac-without-macports

GNURadio bundled as an app for Mac OS X (does not require MacPorts)
GNU General Public License v3.0
323 stars 45 forks source link

"VOLK required but not found" when running build script #84

Open raziele opened 4 years ago

raziele commented 4 years ago

When build script begins configuring gnuradio for compilation it returns the following error:

-- Configuring VOLK support...                             
--   VOLK submodule is not checked out.                    
--   To check out the VOLK submodule, use:                 
--     git pull --recurse-submodules=on                    
--     git submodule update --init                         
--   External VOLK disabled.                               
--   Override with -DENABLE_INTERNAL_VOLK=ON/OFF           
--                                                 
CMake Error at CMakeLists.txt:428 (message):               
  VOLK required but not found. 

The root cause is the fact that in the gnuradio section the fetch\unpack stages are repeated in addition to the fetch\unpack stages already done in build_and_install_cmake. The solution would be TMO to add:

git pull --recurse-submodules=on     
git submodule update --init`

inside build_and_install_cmake function

savenas commented 4 years ago

Hi, @raziele

did you mean like this

function build_and_install_cmake() {
  set -e

  local P=${1}
  local URL=${2}
  local CKSUM=${3}
  local T=${4}
  local BRANCH=${5}
  local MVFROM=${6}
  local NAME=${7}

  export -n SHELLOPTS

  if [ "" = "${T}" ]; then
    T=${P}
  fi

  if [ -f ${TMP_DIR}/.${P}.done ]; then
    I "already installed ${P}"    
  else
    fetch "${P}" "${URL}" "${T}" "${BRANCH}" "${CKSUM}"
    unpack ${P} ${URL} "${T}" "${MVFROM}" "${NAME}"
    # Create our working directory, and build things there.
    (
      set -e
      git pull --recurse-submodules=on # update the script
      git submodule update --init    # ----------------------
      rm -Rf ${TMP_DIR}/${T}-build
raziele commented 4 years ago

Looking into it again - I think the right place would be inside the fetch function, just after checking out into the local branch here (line 260)

volk folder is added only after we checkout from the release branch, so this would be the right place to update and init

dkozel commented 4 years ago

GNU Radio removed the VOLK submodule from the master branch today. It will stay in the maint-3.8 branch forever, but setting up the build to fetch VOLK separately would be a better long term fix.

https://www.gnuradio.org/blog/2020-04-11-removing-volk-submodule/

savenas commented 4 years ago

Thank you guys ;)