#54552 closed defect (fixed)
LLVM Issue [ Cannot select: intrinsic %llvm.x86.sse.cvtpi2ps ] when installing volk
Reported by: | har5ha | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.1 |
Keywords: | lion | Cc: | |
Port: | volk |
Description
I am having the following problem when trying to install volk (which is a dependency for installing Gqrx)
I would be very grateful if somebody could point me in the right direction.
Thanks in Advance!
OS : Mac OSX : 10.7.5 [Lion]
Macports : 2.4.1
:info:build cd /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build/lib && /usr/bin/clang -DHAVE_CPUID_H -DHAVE_DLFCN_H -DHAVE_FENV_H -DHAVE_POSIX_MEMALIGN -DHAVE_XGETBV -D_GLIBCXX_USE_CXX11_ABI=1 -I/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build/include -I/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/volk-1.3/include -I/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/volk-1.3/kernels -I/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build/lib -I/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/volk-1.3/lib -I/macports/include/orc-0.4 -I/macports/include -pipe -Os -Wall -fvisibility=hidden -DNDEBUG -arch x86_64 -mmacosx-version-min=10.7 -fPIC -m64 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mavx -o CMakeFiles/volk_obj.dir/volk_machine_avx_64_mmx_orc.c.o -c /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build/lib/volk_machine_avx_64_mmx_orc.c :info:build fatal error: error in backend: Cannot select: intrinsic %llvm.x86.sse.cvtpi2ps :info:build make[2]: *** [lib/CMakeFiles/volk_obj.dir/volk_machine_avx_64_mmx_orc.c.o] Error 1 :info:build make[2]: *** Waiting for unfinished jobs.... :info:build make[2]: Leaving directory `/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build' :info:build make[1]: *** [lib/CMakeFiles/volk_obj.dir/all] Error 2 :info:build make[1]: Leaving directory `/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build' :info:build make: *** [all] Error 2 :info:build make: Leaving directory `/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build' :info:build Command failed: cd "/macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/work/build" && /usr/bin/make -j4 -w all VERBOSE=ON :info:build Exit code: 2 :error:build Failed to build volk: command execution failed :debug:build Error code: CHILDSTATUS 44578 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname" :error:build See /macports/var/macports/logs/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_volk/volk/main.log for details.
Attachments (2)
Change History (14)
Changed 7 years ago by har5ha
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Cc: | jeremyhu larryv removed |
---|---|
Keywords: | lion added |
Owner: | set to michaelld |
Port: | volk added; llvm-4.0 removed |
Status: | new → assigned |
In the future, please fill in the Port field with the port that actually fails to build and Cc that port's maintainers (port info --maintainers volk
), if any.
comment:2 follow-up: 3 Changed 7 years ago by michaelld (Michael Dickens)
What does /usr/bin/clang --version
return? Also, what's the actual commandline you used to try to do this install?
comment:3 Changed 7 years ago by har5ha
Replying to michaelld:
What does
/usr/bin/clang --version
return? Also, what's the actual commandline you used to try to do this install?
$ /usr/bin/clang --version Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) Target: x86_64-apple-darwin11.4.2 Thread model: posix
The command I used to install GQRX :
$ sudo port install gqrx
and it fails while installing volk which is a dependency for installing gqrx.
I tried
$ sudo port clean volk $ sudo port install volk
got the same result.
Thanks in advance!.
comment:4 Changed 7 years ago by kencu (Ken)
hmm. I got a different error on 10.7:
[ 91%] Linking C shared library libvolk.dylib cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build/lib && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/volk.dir/link.txt --verbose=ON /usr/bin/clang -pipe -Os -Wall -fvisibility=hidden -DNDEBUG -arch x86_64 -mmacosx-version-min=10.7 -dynamiclib -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -compatibility_version 1.3.0 -o libvolk.1.3.dylib -install_name /opt/local/lib/libvolk.1.3.dylib CMakeFiles/volk_obj.dir/volk_16ic_deinterleave_16i_x2_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_16ic_deinterleave_real_8i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_16ic_magnitude_16i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_16ic_s32f_deinterleave_32f_x2_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_16sc_magnitude_32f_aligned16_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_16u_byteswap_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_s32f_multiply_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_s32f_normalize_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_sqrt_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_add_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_divide_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_dot_prod_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_max_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_min_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_multiply_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32f_x2_subtract_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32fc_32f_multiply_32fc_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32fc_magnitude_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32fc_s32f_magnitude_16i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32fc_s32fc_multiply_32fc_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32fc_x2_multiply_32fc_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32i_x2_and_32i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_32i_x2_or_32i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_8i_convert_16i_a_orc_impl.c.o CMakeFiles/volk_obj.dir/volk_8i_s32f_convert_32f_a_orc_impl.c.o CMakeFiles/volk_obj.dir/constants.c.o CMakeFiles/volk_obj.dir/volk_prefs.c.o CMakeFiles/volk_obj.dir/volk_rank_archs.c.o CMakeFiles/volk_obj.dir/volk_malloc.c.o CMakeFiles/volk_obj.dir/volk.c.o CMakeFiles/volk_obj.dir/volk_cpu.c.o CMakeFiles/volk_obj.dir/volk_machines.c.o CMakeFiles/volk_obj.dir/volk_machine_generic_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_sse2_64_mmx_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_sse3_64_mmx_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_ssse3_64_mmx_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_sse4_a_64_mmx_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_sse4_1_64_mmx_orc.c.o CMakeFiles/volk_obj.dir/volk_machine_sse4_2_64_mmx_orc.c.o -Wl,-rpath,/opt/local/lib /opt/local/lib/liborc-0.4.dylib Undefined symbols for architecture x86_64: "___cpuid_count", referenced from: _i_can_has_avx2 in volk_cpu.c.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [lib/libvolk.1.3.dylib] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build' make[1]: *** [lib/CMakeFiles/volk.dir/all] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build" && /usr/bin/make -j2 -w all VERBOSE=ON Exit code: 2 Error: Failed to build volk: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port volk failed
which was fixed by adding:
PortGroup cxx11 1.1
which resulted in build success:
$ port -v installed volk The following ports are currently installed: volk @1.3_0+docs+orc (active) platform='darwin 11' archs='x86_64' date='2017-08-02T15:08:26+0200'
There were a lot of warnings. I'll put up the build log for you.
Changed 7 years ago by kencu (Ken)
Attachment: | volk.build.10.7.with.cxx11-11-Portgroup.txt added |
---|
volk successful build with cxx11 1.1 PortGroup (but lots of errors)
comment:5 Changed 7 years ago by michaelld (Michael Dickens)
Yeah; hmmm; OK. I'm guessing that the default compiler is too old. Moving to the cxx11 1.1 PortGroup should solve the issue, but technically should not be required. The Volk CMake script should be smart enough to detect intrinsics & compiler features ... but, clearly it's failing here. I think I'll just move to using the cxx11 1.1 PortGroup since it's an easy fix & deal with non-MP builds when they come up.
comment:6 follow-up: 9 Changed 7 years ago by michaelld (Michael Dickens)
comment:7 follow-up: 11 Changed 7 years ago by michaelld (Michael Dickens)
@har5ha : Please do the following and report back:
sudo port selfupdate sudo port clean volk* sudo port install volk
This might take a while because it will try to install macports-clang-4.0 to use as the compiler instead of that provided by Xcode.
comment:8 Changed 7 years ago by kencu (Ken)
FWIW, I saw this in the config, which led me to the cxx11 1.1 PortGroup:
-D_GLIBCXX_USE_CXX11_ABI=1
comment:9 Changed 7 years ago by har5ha
Replying to michaelld:
Is there something that as a user, I need to do with regards to cxx11 1.1 PortGroup or is it just for Port maintainers?.
TIA
PS: Nevermind I saw that you have included the following in the newer version of the port file [.../var/macports/sources/rsync.macports.org/release/tarballs/ports/science/volk]
# although Volk does not technically require C++11, forcing the use of # modern compilers reduces build failures. Also, it will require C++11 # in the future, so let's just get on the bandwagon early. PortGroup cxx11 1.1
comment:10 Changed 7 years ago by michaelld (Michael Dickens)
I started writing this before your edit. I'll post it anyway as is.
There's nothing you need to do about PortGroups. We use them for common code, shared between multiple ports. In this case, the cxx11 1.1 PortGroup changes the compiler to one that supports C++11 compliance. For your specific Mac OS X version, the compiler should end up being "macports-clang-4.0", or the clang-4.0 port.
Thus, when you do a "sudo port selfupdate" if this clang-4.0 port is not yet installed, it will be -- and, that takes quite a bit of compile time.
Hope this helps!
comment:11 Changed 7 years ago by har5ha
Replying to michaelld:
@har5ha : Please do the following and report back:
sudo port selfupdate sudo port clean volk* sudo port install volkThis might take a while because it will try to install macports-clang-4.0 to use as the compiler instead of that provided by Xcode.
Successfully! installed volk. Thanks! for all the help @michaelld and @kencu
comment:12 Changed 7 years ago by michaelld (Michael Dickens)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Great & you're welcome! Thanks for reporting back.
volk main.log