Open nalinigans opened 2 years ago
Probably not super helpful me posting this since it's not supported yet, but compilation on arm64 fails for me here (both master and develop).
#0 4052.2 [ 61%] Creating directories for 'crc32-build'
#0 4052.2 [ 61%] Performing download step (download, verify and extract) for 'crc32-build'
#0 4052.2 -- Downloading...
#0 4052.2 dst='/root/gcssdk-install/v1.24.0/src/1.1.0.tar.gz'
#0 4052.2 timeout='none'
#0 4052.2 inactivity timeout='none'
#0 4052.2 -- Using src='https://github.com/google/crc32c/archive/1.1.0.tar.gz'
#0 4052.9 -- Downloading... done
#0 4053.0 -- extracting...
#0 4053.0 src='/root/gcssdk-install/v1.24.0/src/1.1.0.tar.gz'
#0 4053.0 dst='/root/gcssdk-install/v1.24.0/src/crc32-build'
#0 4053.0 -- extracting... [tar xfz]
#0 4053.0 -- extracting... [analysis]
#0 4053.0 -- extracting... [rename]
#0 4053.0 -- extracting... [clean up]
#0 4053.0 -- extracting... done
#0 4053.0 [ 61%] No update step for 'crc32-build'
#0 4053.0 [ 61%] No patch step for 'crc32-build'
#0 4053.1 [ 61%] Performing configure step for 'crc32-build'
#0 4053.1 -- The C compiler identification is GNU 11.3.0
#0 4053.2 -- The CXX compiler identification is GNU 11.3.0
#0 4053.2 -- Detecting C compiler ABI info
#0 4053.2 -- Detecting C compiler ABI info - done
#0 4053.2 -- Check for working C compiler: /usr/bin/cc - skipped
#0 4053.2 -- Detecting C compile features
#0 4053.2 -- Detecting C compile features - done
#0 4053.2 -- Detecting CXX compiler ABI info
#0 4053.3 -- Detecting CXX compiler ABI info - done
#0 4053.3 -- Check for working CXX compiler: /usr/bin/c++ - skipped
#0 4053.3 -- Detecting CXX compile features
#0 4053.3 -- Detecting CXX compile features - done
#0 4053.3 -- Performing Test CRC32C_HAVE_NO_DEPRECATED
#0 4053.3 -- Performing Test CRC32C_HAVE_NO_DEPRECATED - Success
#0 4053.3 -- Performing Test CRC32C_HAVE_NO_SIGN_COMPARE
#0 4053.4 -- Performing Test CRC32C_HAVE_NO_SIGN_COMPARE - Success
#0 4053.4 -- Performing Test CRC32C_HAVE_NO_UNUSED_PARAMETER
#0 4053.4 -- Performing Test CRC32C_HAVE_NO_UNUSED_PARAMETER - Success
#0 4053.4 -- Performing Test CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS
#0 4053.5 -- Performing Test CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS - Success
#0 4053.5 -- Performing Test HAVE_BUILTIN_PREFETCH
#0 4053.5 -- Performing Test HAVE_BUILTIN_PREFETCH - Success
#0 4053.5 -- Performing Test HAVE_MM_PREFETCH
#0 4053.6 -- Performing Test HAVE_MM_PREFETCH - Failed
#0 4053.6 -- Performing Test HAVE_SSE42
#0 4053.6 -- Performing Test HAVE_SSE42 - Failed
#0 4053.6 -- Performing Test HAVE_ARM64_CRC32C
#0 4053.8 -- Performing Test HAVE_ARM64_CRC32C - Success
#0 4053.8 -- Performing Test HAVE_STRONG_GETAUXVAL
#0 4053.9 -- Performing Test HAVE_STRONG_GETAUXVAL - Success
#0 4053.9 -- Performing Test HAVE_WEAK_GETAUXVAL
#0 4054.0 -- Performing Test HAVE_WEAK_GETAUXVAL - Success
#0 4054.0 -- Configuring done
#0 4054.0 -- Generating done
#0 4054.0 -- Build files have been written to: /root/gcssdk-install/v1.24.0/src/crc32-build-build
#0 4054.0 [ 61%] Performing build step for 'crc32-build'
#0 4054.0 [ 20%] Building CXX object CMakeFiles/crc32c_arm64.dir/src/crc32c_arm64.cc.o
#0 4054.2 [ 20%] Built target crc32c_arm64
#0 4054.2 [ 40%] Building CXX object CMakeFiles/crc32c_sse42.dir/src/crc32c_sse42.cc.o
#0 4054.2 [ 40%] Built target crc32c_sse42
#0 4054.2 [ 60%] Building CXX object CMakeFiles/crc32c.dir/src/crc32c_portable.cc.o
#0 4054.3 [ 80%] Building CXX object CMakeFiles/crc32c.dir/src/crc32c.cc.o
#0 4054.3 In file included from /root/gcssdk-install/v1.24.0/src/crc32-build/src/crc32c.cc:11:
#0 4054.3 /root/gcssdk-install/v1.24.0/src/crc32-build/src/./crc32c_arm64_linux_check.h: In function ‘bool crc32c::CanUseArm64Linux()’:
#0 4054.3 /root/gcssdk-install/v1.24.0/src/crc32-build/src/./crc32c_arm64_linux_check.h:36:37: error: the address of ‘long unsigned int getauxval(long unsigned int)’ will never be NULL [-Werror=address]
#0 4054.3 36 | unsigned long hwcap = (&getauxval != nullptr) ? getauxval(AT_HWCAP) : 0;
#0 4054.3 | ~~~~~~~~~~~^~~~~~~~~~
#0 4054.4 cc1plus: all warnings being treated as errors
#0 4054.4 make[5]: *** [CMakeFiles/crc32c.dir/build.make:90: CMakeFiles/crc32c.dir/src/crc32c.cc.o] Error 1
#0 4054.4 make[4]: *** [CMakeFiles/Makefile2:140: CMakeFiles/crc32c.dir/all] Error 2
#0 4054.4 make[3]: *** [Makefile:136: all] Error 2
#0 4054.4 make[2]: *** [dependencies/TileDB/CMakeFiles/crc32-build.dir/build.make:86: /root/gcssdk-install/v1.24.0/src/crc32-build-stamp/crc32-build-build] Error 2
#0 4054.4 make[1]: *** [CMakeFiles/Makefile2:822: dependencies/TileDB/CMakeFiles/crc32-build.dir/all] Error 2
#0 4054.4 make: *** [Makefile:146: all] Error 2
------
@lima1, just last week built GenomicsDB on a macOS m2 arm64
and it built fine using clang
although I had a couple of tests failing. Can you please add the following information? Thanks.
gcs
cloud storage facilities available from GenomicsDB?Just tried my amd64 Dockerimage on my new M2 MacBook Pro, although on a Linux image.
Here's how I tried to compile:
ENV GENOMICSDB_PATH=/opt/GenomicsDB
ENV GENOMICSDB_BRANCH=develop
RUN mkdir $GENOMICSDB_PATH
ENV INSTALL_PREFIX=$GENOMICSDB_PATH
ENV PREREQS_ENV=$GENOMICSDB_PATH/genomicsdb_prereqs.sh
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
ENV MAVEN_VERSION=3.9.2
RUN ls $JAVA_HOME
WORKDIR /tmp
RUN git clone --recursive --branch $GENOMICSDB_BRANCH https://github.com/GenomicsDB/GenomicsDB.git && \
cd GenomicsDB/scripts/prereqs && \
./install_prereqs.sh && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN chmod +x $PREREQS_ENV && \
$PREREQS_ENV && \
cmake -DCMAKE_INSTALL_PREFIX=$GENOMICSDB_PATH -DCMAKE_BUILD_TYPE=Release ./GenomicsDB && \
make && make install && \
rm -rf /tmp/GenomicsDB
@lima1, can you please try the develop branch and see if that fixes your issues building on amd64 Dockerimage on my new M2 MacBook Pro
? Thanks.
Thanks @nalinigans. It compiled successfully last week, including the R bindings. Haven’t thoroughly tested yet. Any recent changes since then that I should try?
Thanks @lima1. Nothing recently added yet. But, you don't need to specify reference genome unless you are generating a vcf. I will be adding support for a protobuf export configuration later, this may be useful as you can use genomic coordinates directly, in addition to setting segment sizes, etc. almost like what GenotypeGVCFs
offers.
Hello from Debian. We are able to compile genomicsdb 1.5.0 for arm64/aarch64 but we get test failures:
gatk forum users have started requesting support for MacOS and Linux arm64 architectures - see forum post.