Skip to content

Install issues on apple silicon and in docker #4

@KyleStiers

Description

@KyleStiers

Hello!

Would it be possible to build binaries to be made available as releases for dominant architectures targeting linux/amd64 (and ideally also arm64)? I've tried installing on Apple silicon macOS and within a container using ubuntu and still am running into issues. I've tried to find the right linker for the lzma.h header, but despite having xz installed can't seem to get it quite working.

For example on MacOS using a Rosetta 2 terminal:

Finished building: ../src/htslib/cram/cram_external.c
Building file: ../src/htslib/cram/open_trace_file.c
20 errors generated.
make: *** [src/kswlib/ksw2_ll_sse.o] Error 1
make: *** Waiting for unfinished jobs....

Invoking: Cross GCC Compiler
gcc -I../src/htslib -I../src/ -O3 -Wall -c -fmessage-length=0 -static -MMD -MP -MF"src/htslib/cram/open_trace_file.d" -MT"src/htslib/cram/open_trace_file.o" -o "src/htslib/cram/open_trace_file.o" "../src/htslib/cram/open_trace_file.c"
../src/htslib/cram/cram_io.c:59:10: fatal error: 'lzma.h' file not found
   59 | #include <lzma.h>
      |          ^~~~~~~~
1 error generated.
make: *** [src/htslib/cram/cram_io.o] Error 1
1 warning generated.
Finished building: ../src/htslib/cram/cram_index.c
Finished building: ../src/htslib/cram/cram_codecs.c


Finished building: ../src/htslib/cram/files.c

Finished building: ../src/htslib/cram/cram_samtools.c

Finished building: ../src/htslib/cram/mFILE.c
Finished building: ../src/htslib/cram/cram_stats.c


Finished building: ../src/htslib/cram/open_trace_file.c

Finished building: ../src/htslib/cram/cram_encode.c

Finished building: ../src/htslib/cram/cram_decode.c

And while I can copy the binary in the repo into a container and use it successfully, I'd like to compile it from source so I am trying this way:

FROM ubuntu:latest

RUN apt-get update --fix-missing && \
    apt-get install -y --no-install-recommends \
    build-essential \
    zlib1g-dev \
    liblzma-dev \
    cmake \
    git
    

COPY . /app

WORKDIR /app/Release

RUN make clean && \
    make all -j 12

I get:

make: *** [src/SVcalling_core/subdir.mk:39: src/SVcalling_core/SveHandler_ins_del.o] Error 1
make: *** Waiting for unfinished jobs....
Finished building: ../src/cpp_lib/Assembler/DBGAssembler.cpp

In function 'Contig_AT_tail contig_with_AT_TAIL(bool, int, AssemblyContig&, int, std::vector<std::__cxx11::basic_string<char> >&)',
    inlined from 'void SveHandler::combine_repeat_tail_of_contigs(bool, int, std::vector<ASS_reads_info>&, std::vector<std::__cxx11::basic_string<char> >&, std::vector<AssemblyContig>&)' at ../src/SVcalling_core/SveHandler_combine_contigs.cpp:229:47:
../src/SVcalling_core/SveHandler_combine_contigs.cpp:56:40: warning: 'repreat_char' may be used uninitialized [-Wmaybe-uninitialized]
   56 |                         t.repreat_char = repreat_char;
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
../src/SVcalling_core/SveHandler_combine_contigs.cpp: In member function 'void SveHandler::combine_repeat_tail_of_contigs(bool, int, std::vector<ASS_reads_info>&, std::vector<std::__cxx11::basic_string<char> >&, std::vector<AssemblyContig>&)':
../src/SVcalling_core/SveHandler_combine_contigs.cpp:35:100: note: 'repreat_char' was declared here
   35 |                 int max_repeat_n = 0; int max_repeat_end_pos = -1;      int cur_repeat_n = 0; char repreat_char;
      |                                                                                                    ^~~~~~~~~~~~
Finished building: ../src/SVcalling_core/SveHandler_combine_contigs.cpp

Finished building: ../src/SVcalling_core/SveHandler_inv_tra.cpp

Finished building: ../src/SVcalling_core/analysis.cpp

Finished building: ../src/main.cpp

Error: building at STEP "RUN make clean &&     make all -j 12": while running runtime: exit status 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions