-
Notifications
You must be signed in to change notification settings - Fork 544
Description
Trying to compile the latest STAR 2.7.11b on M1 Mac running the latest OSX 14.5 by running a following command;
make -j8 STARforMacStatic CXX=/opt/homebrew/opt/gcc/bin/g++-14 CXXFLAGS_SIMD=-march=native
Toward the end, ld complains about arm64 symbols not found in htslib, as follows;
ld: warning: ignoring file 'htslib/libhts.a[32](zfio.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[31](vlen.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[30](thread_pool.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[29](string_alloc.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[28](sam_header.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[27](pooled_alloc.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[26](open_trace_file.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[25](md5.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[24](mFILE.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[23](files.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[22](cram_stats.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[21](cram_samtools.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[20](cram_io.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[19](cram_index.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[18](cram_encode.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[17](cram_decode.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[16](cram_codecs.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[15](vcfutils.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[14](vcf.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[13](tbx.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[12](vcf_sweep.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[11](synced_bcf_reader.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[10](sam.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[9](hts.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[8](hfile_net.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[7](hfile.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[6](faidx.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[5](bgzf.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[4](kstring.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[3](knetfile.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file 'htslib/libhts.a[2](kfunc.o)': found architecture 'x86_64', required architecture 'arm64'
I checked brew installation is all the packages including gcc are native arm64. I did not run into this issue in the previous version, 2.7.10b_alpha_23-06-09. I downloaded the precompiled binary and get the similar error message, /opt/homebrew/Cellar/veclibfort/0.4.3/lib/libvecLibFortI.dylib (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')). libvecLibFortI.dylib is compiled for arm64. Is a target architecture of STAR 2.7.11b set to X86_64, not arm64 or even unified ? Or am I missing something ? I'd appreciate any pointers.