# DCMTK error when building Slicer for arm64 MacOS Monterey

**URL:** <https://discourse.slicer.org/t/dcmtk-error-when-building-slicer-for-arm64-macos-monterey/23514>\
**Category:** Support\
**Tags:** build, macos\
**Created:** [May 20, 2022, 9:03pm UTC](https://discourse.slicer.org/t/dcmtk-error-when-building-slicer-for-arm64-macos-monterey/23514 "2022-05-20T21:03:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![maribernardes](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/maribernardes/32/15348_2.png) [@maribernardes](https://discourse.slicer.org/u/maribernardes)\
**Post date:** [May 20, 2022, 9:03pm UTC](https://discourse.slicer.org/t/dcmtk-error-when-building-slicer-for-arm64-macos-monterey/23514/1 "2022-05-20T21:03:23Z")

</div>

When trying to build the Slicer current source in my MacOS Monterey with M1 processor, I get this error message:

– Configuring incomplete, errors occurred!  
See also “/opt/s/DCMTK-build/CMakeFiles/CMakeOutput.log”.  
See also “/opt/s/DCMTK-build/CMakeFiles/CMakeError.log”.  
make[2]: \*\*\* [DCMTK-prefix/src/DCMTK-stamp/DCMTK-configure] Error 1  
make[2]: Target `CMakeFiles/DCMTK.dir/build' not remade because of errors. make[1]: *** [CMakeFiles/DCMTK.dir/all] Error 2 make[1]: Target `all’ not remade because of errors.  
make: \*\*\* [all] Error 2  
make: Target `default\_target’ not remade because of errors.

Taking a look in CMakeError.log I have found:

Undefined symbols for architecture arm64:  
“\_iconv”, referenced from:  
\_main in src.cxx.o  
“\_iconv\_close”, referenced from:  
\_main in src.cxx.o  
“\_iconv\_open”, referenced from:  
\_main in src.cxx.o  
ld: symbol(s) not found for architecture arm64

Did someone have a similar problem? I would appreciate any light on how to overcome this issue.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [May 23, 2022, 4:21am UTC](https://discourse.slicer.org/t/dcmtk-error-when-building-slicer-for-arm64-macos-monterey/23514/2 "2022-05-23T04:21:46Z")

</div>

This issue seems very similar to this one:

> <https://github.com/QIICR/dcmqi/issues/395>
>
> While testing https://github.com/QIICR/dcmqi/issues/394, I also found that the c…urrent master isn't building on mac (10.14.6 mojave). Same machine builds Slicer fine, so there's something off in the dcmqi superbuild configuration.
> 
> \`\`\`
> \[2%\] Linking CXX executable ../../bin/ofstd\_tests
> Undefined symbols for architecture x86\_64:
> "\_iconv", referenced from:
> OFCharacterEncoding::Implementation::convert(OFString&, char const\*, unsigned long) in libofstd.a(ofchrenc.cc.o)
> "\_iconv\_close", referenced from:
> OFCharacterEncoding::Implementation::~Implementation() in libofstd.a(ofchrenc.cc.o)
> "\_iconv\_open", referenced from:
> OFCharacterEncoding::Implementation::create(OFString const&, OFString const&, OFCondition&) in libofstd.a(ofchrenc.cc.o)
> "\_iconvctl", referenced from:
> OFCharacterEncoding::Implementation::getConversionFlags() const in libofstd.a(ofchrenc.cc.o)
> OFCharacterEncoding::Implementation::setConversionFlags(unsigned int) in libofstd.a(ofchrenc.cc.o)
> "\_locale\_charset", referenced from:
> OFCharacterEncoding::Implementation::getLocaleEncoding() in libofstd.a(ofchrenc.cc.o)
> ld: symbol(s) not found for architecture x86\_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make\[5\]: \*\*\* \[bin/ofstd\_tests\] Error 1
> make\[4\]: \*\*\* \[ofstd/tests/CMakeFiles/ofstd\_tests.dir/all\] Error 2
> make\[3\]: \*\*\* \[all\] Error 2
> make\[2\]: \*\*\* \[DCMTK-prefix/src/DCMTK-stamp/DCMTK-build\] Error 2
> make\[1\]: \*\*\* \[CMakeFiles/DCMTK.dir/all\] Error 2
> make: \*\*\* \[all\] Error 2
> \`\`\`

There are some workarounds described, but a fix was also implemented, so if you build the latest Slicer master version then this issue should not occur.
