# Compiling master from source on alpine fails with undefined reference to backtrace

**URL:** <https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676>\
**Category:** C++\
**Created:** [December 20, 2019, 10:36pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676 "2019-12-20T22:36:24Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [December 20, 2019, 10:36pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/1 "2019-12-20T22:36:24Z")

</div>

I’m using this docker image with latest master (as well as v1.3.1) [https://github.com/stephwag/pytorch-alpine/blob/master/Dockerfile](https://github.com/stephwag/pytorch-alpine/blob/master/Dockerfile)

According to what I’ve found elsewhere, libexecinfo-dev provides /usr/lib/libexecinfo.so which provides backtrace, but it doesn’t seem to find it.

Here is the error I am seeing:

```auto
[36%] Linking CXX executable ../../bin/c10_tempfile_test
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: ../../lib/libc10.so: undefined reference to `backtrace'
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: ../../lib/libc10.so: undefined reference to `backtrace_symbols'
collect2: error: ld returned 1 exit status
make[2]: *** [c10/test/CMakeFiles/c10_tempfile_test.dir/build.make:89: bin/c10_tempfile_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:2158: c10/test/CMakeFiles/c10_tempfile_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[36%] Building CXX object third_party/ideep/mkl-dnn/src/CMakeFiles/mkldnn.dir/cpu/gemm/s8x8s32/ref_gemm_s8x8s32.cpp.o
[36%] Generating src/x86_64-fma/blas/shdotxf.py.o
[37%] Linking CXX executable ../../bin/c10_typeid_test
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: ../../lib/libc10.so: undefined reference to `backtrace'
/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: ../../lib/libc10.so: undefined reference to `backtrace_symbols'
collect2: error: ld returned 1 exit status
make[2]: *** [c10/test/CMakeFiles/c10_typeid_test.dir/build.make:89: bin/c10_typeid_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:2118: c10/test/CMakeFiles/c10_typeid_test.dir/all] Error 2

```

---

<div class="post-metadata">

**Author:** ![albanD](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/alband/32/215_2.png) [@albanD](https://discuss.pytorch.org/u/albanD)\
**Post date:** [December 22, 2019, 1:44pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/2 "2019-12-22T13:44:35Z")

</div>

From that google search: [https://github.com/openalpr/openalpr/issues/566](https://github.com/openalpr/openalpr/issues/566) it seems like `musl` does not provide the `backtrace` function. So I guess you will have to use glibc to be able to compute pytorch.

@gchanan is musl something we would like to add support for in the future?

---

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [December 22, 2019, 1:49pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/3 "2019-12-22T13:49:22Z")

</div>

My understanding is that libexecinfo-dev provides this library ([https://www.freshports.org/devel/libexecinfo](https://www.freshports.org/devel/libexecinfo)). It doesn’t seem to link it correctly, though.

---

<div class="post-metadata">

**Author:** ![albanD](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/alband/32/215_2.png) [@albanD](https://discuss.pytorch.org/u/albanD)\
**Post date:** [December 22, 2019, 1:56pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/4 "2019-12-22T13:56:24Z")

</div>

Is our build system even trying to link to it? In the sense that we don’t need it with glibc.

Maybe try to `LD_PRELOAD` it to see if this is really the issue?

---

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [December 22, 2019, 1:58pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/5 "2019-12-22T13:58:13Z")

</div>

> [@albanD](#):
>
> Maybe try to `LD_PRELOAD` it to see if this is really the issue?

Sure, I’ll try LD\_PRELOAD and see if that links it

---

<div class="post-metadata">

**Author:** ![albanD](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/alband/32/215_2.png) [@albanD](https://discuss.pytorch.org/u/albanD)\
**Post date:** [December 22, 2019, 1:58pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/6 "2019-12-22T13:58:37Z")

</div>

It won’t link it, but it will make these symbols available 😃

---

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [December 22, 2019, 1:59pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/7 "2019-12-22T13:59:45Z")

</div>

Got it - thanks! 🙂

---

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [December 22, 2019, 2:31pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/8 "2019-12-22T14:31:01Z")

</div>

hmm, same error with `LD_PRELOAD=/usr/lib/libexecinfo.so python setup.py install`

---

<div class="post-metadata">

**Author:** ![thammada](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/thammada/32/20839_2.png) [@thammada](https://discuss.pytorch.org/u/thammada)\
**Post date:** [February 22, 2020, 9:38am UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/9 "2020-02-22T09:38:32Z")

</div>

Were you able to solve this?

---

<div class="post-metadata">

**Author:** ![kldavis4](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/kldavis4/32/18993_2.png) [@kldavis4](https://discuss.pytorch.org/u/kldavis4)\
**Post date:** [February 23, 2020, 2:43pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/10 "2020-02-23T14:43:41Z")

</div>

Unfortunately I was not able to resolve it. I ended up just using a non-alpine image.

---

<div class="post-metadata">

**Author:** ![StrawVulcan](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/strawvulcan/32/22923_2.png) [@StrawVulcan](https://discuss.pytorch.org/u/StrawVulcan)\
**Post date:** [April 17, 2020, 3:05pm UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/11 "2020-04-17T15:05:45Z")

</div>

If it’s not a ton of trouble, I would really appreciate being able to build PyTorch for Alpine.

---

<div class="post-metadata">

**Author:** ![edwardxwu](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/edwardxwu/32/23814_2.png) [@edwardxwu](https://discuss.pytorch.org/u/edwardxwu)\
**Post date:** [May 6, 2020, 1:50am UTC](https://discuss.pytorch.org/t/compiling-master-from-source-on-alpine-fails-with-undefined-reference-to-backtrace/64676/12 "2020-05-06T01:50:57Z")

</div>

execinfo is only used in 1-2 files so you could comment out the header and set SUPPORTS\_BACKTRACE to 0 to remove it. worked for me on alpine and 1.4
