Opened 4 months ago
Closed 4 months ago
#70202 closed defect (fixed)
volk is broken on ppc: cpuinfo_ppc.h: error: #error "Including cpuinfo_ppc.h from a non-ppc target."
Reported by: | barracuda156 | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | powerpc | Cc: | |
Port: | volk |
Description
This is an amazingly written code :) Running the build on ppc, it fails because it thinks ppc header was used on a non-ppc target:
:info:build [ 14%] Building C object cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o :info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/build/cpu_features && /opt/local/bin/gcc-mp-13 -DSTACK_LINE_READER_BUFFER_SIZE=1024 -D_GLIBCXX_USE_CXX11_ABI=1 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/volk-2.5.0/cpu_features/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/volk-2.5.0/cpu_features/include/internal -pipe -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -fcx-limited-range -Wall -Werror=incompatible-pointer-types -Werror=pointer-sign -O3 -DNDEBUG -std=gnu99 -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o -MF CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o.d -o CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/volk-2.5.0/cpu_features/src/cpuinfo_ppc.c :info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/volk-2.5.0/cpu_features/src/cpuinfo_ppc.c:15: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_volk/volk/work/volk-2.5.0/cpu_features/include/cpuinfo_ppc.h:143:2: error: #error "Including cpuinfo_ppc.h from a non-ppc target." :info:build 143 | #error "Including cpuinfo_ppc.h from a non-ppc target." :info:build | ^~~~~ :info:build make[2]: *** [cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o] Error 1 :info:build 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' :info:build make[1]: *** [cpu_features/CMakeFiles/cpu_features.dir/all] Error 2 :info:build make[1]: *** Waiting for unfinished jobs....
Change History (3)
comment:1 follow-up: 2 Changed 4 months ago by kencu (Ken)
comment:2 Changed 4 months ago by barracuda156
Replying to kencu:
add a few more defines to this, so it works on the ppc compilers used on darwin:
#if defined(__powerpc__) #define CPU_FEATURES_ARCH_PPC #endif
Thank you, Ken, yeah, it turned out to be a silly error. I compiles in fact just after fixing it, but I am looking now at the code and thinking whether we can add a proper implementation.
comment:3 Changed 4 months ago by barracuda156
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
add a few more defines to this, so it works on the ppc compilers used on darwin:
https://github.com/google/cpu_features/blob/ba4bffa86cbb5456bdb34426ad22b9551278e2c0/include/cpu_features_macros.h#L62