Bug 242306

Summary: graphics/ImageMagick6: build fails on 12.1 i386
Product: Ports & Packages Reporter: Vladimir Druzenko <vvd>
Component: Individual Port(s)Assignee: Koop Mast <kwm>
Status: Closed Overcome By Events    
Severity: Affects Some People CC: vvd
Priority: --- Flags: bugzilla: maintainer-feedback? (kwm)
Version: Latest   
Hardware: i386   
OS: Any   

Description Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-29 23:26:00 UTC
Part of build log:
libtool: link: cc -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/libdrm -D_THREAD_SAFE -pthread -I/usr/local/include/librsvg-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/libdrm -D_THREAD_SAFE -pthread -I/usr/local/include/libraw -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include/pango-1.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/fribidi -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/libdrm -D_THREAD_SAFE -pthread -I/usr/local/include/harfbuzz -I/usr/local/include/OpenEXR -D_THREAD_SAFE -I/usr/local/include/lqr-1 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/openjpeg-2.3 -I/usr/local/include -I/usr/local/include -I/usr/local/include/graphviz -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/fribidi -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -D_THREAD_SAFE -pthread -I/usr/local/include -pthread -fopenmp -O2 -pipe -march=prescott -I/usr/local/include/graphviz -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -Wall -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -fstack-protector-strong -fstack-protector-strong -o utilities/.libs/animate utilities/animate.o  -L/usr/local/lib/graphviz -L/usr/local/lib magick/.libs/libMagickCore-6.so wand/.libs/libMagickWand-6.so /usr/obj/usr/ports/graphics/ImageMagick6/work/ImageMagick-6.9.10-57/magick/.libs/libMagickCore-6.so /usr/local/lib/libltdl.so -lgomp -lpthread -llcms2 -lraqm -llqr-1 -lglib-2.0 -lintl -lfftw3 -lxml2 -lfontconfig -lfreetype -lXext -lSM -lICE -lX11 -lXt -llzma -lbz2 -lz -lOpenCL -lm -fopenmp -pthread -Wl,-rpath -Wl,/usr/local/lib
ld: error: magick/.libs/libMagickCore-6.so: undefined reference to __atomic_compare_exchange
ld: error: magick/.libs/libMagickCore-6.so: undefined reference to __atomic_load
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:7422: utilities/animate] Error 1
gmake[3]: Leaving directory '/usr/obj/usr/ports/graphics/ImageMagick6/work/ImageMagick-6.9.10-57'
gmake[2]: *** [Makefile:5688: all] Error 2
gmake[2]: Leaving directory '/usr/obj/usr/ports/graphics/ImageMagick6/work/ImageMagick-6.9.10-57'
*** Error code 1


But build fine with USE_GCC=yes (lang/gcc9) in irc/kvirc/Makefile. And on 12.1 amd64 with clang from base.
Comment 1 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-29 23:26:49 UTC
OPTIONS_FILE_SET+=16BIT_PIXEL
OPTIONS_FILE_SET+=BZIP2
OPTIONS_FILE_SET+=DJVU
OPTIONS_FILE_UNSET+=DOCS
OPTIONS_FILE_SET+=FFTW
OPTIONS_FILE_SET+=FONTCONFIG
OPTIONS_FILE_SET+=FPX
OPTIONS_FILE_SET+=FREETYPE
OPTIONS_FILE_SET+=GRAPHVIZ
OPTIONS_FILE_SET+=GSLIB
OPTIONS_FILE_SET+=HDRI
OPTIONS_FILE_SET+=HEIF
OPTIONS_FILE_SET+=JBIG
OPTIONS_FILE_SET+=JPEG
OPTIONS_FILE_SET+=JPEG2000
OPTIONS_FILE_SET+=LCMS2
OPTIONS_FILE_SET+=LQR
OPTIONS_FILE_SET+=LZMA
OPTIONS_FILE_SET+=MODULES
OPTIONS_FILE_SET+=OPENEXR
OPTIONS_FILE_SET+=OPENMP
OPTIONS_FILE_SET+=PANGO
OPTIONS_FILE_SET+=PDF
OPTIONS_FILE_SET+=PERL
OPTIONS_FILE_SET+=PNG
OPTIONS_FILE_SET+=RAQM
OPTIONS_FILE_SET+=RAW
OPTIONS_FILE_SET+=SVG
OPTIONS_FILE_UNSET+=TESTS
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_SET+=TIFF
OPTIONS_FILE_SET+=WEBP
OPTIONS_FILE_SET+=WMF
OPTIONS_FILE_SET+=X11
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-29 23:46:13 UTC
(In reply to VVD from comment #0)
> But build fine with USE_GCC=yes (lang/gcc9) in irc/kvirc/Makefile. And on 12.1 amd64 with clang from base.
But build fine with USE_GCC=yes (lang/gcc9) in graphics/ImageMagick6/Makefile. And on 12.1 amd64 with clang from base.
Comment 3 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-30 04:23:02 UTC
After build ImageMagick6 with USE_GCC=yes, build of graphics/inkscape fails with this error:

FAILED: bin/inkview 
: && /usr/bin/c++  -D_THREAD_SAFE -O2 -fno-strict-aliasing -fstack-protector-strong -march=prescott -pipe -pthread -O2 -pipe -march=prescott -fstack-protector-strong -fno-strict-aliasing  -fstack-protector-strong src/CMakeFiles/inkview.dir/inkview.cpp.o  -o bin/inkview  -Wl,-rpath,/usr/obj/usr/ports/graphics/inkscape/work/.build/lib:/usr/local/lib: lib/libinkscape_base.so src/libgdl/libgdl_LIB.a src/libnrtype/libnrtype_LIB.a src/libcroco/libcroco_LIB.a src/libavoid/libavoid_LIB.a src/libcola/libcola_LIB.a src/libvpsc/libvpsc_LIB.a src/livarot/liblivarot_LIB.a src/libuemf/libuemf_LIB.a src/2geom/lib2geom_LIB.a src/libdepixelize/libdepixelize_LIB.a src/util/libutil_LIB.a src/inkgc/libgc_LIB.a -L/usr/local/lib -lpangocairo-1.0 -lcairo -lpthread -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -lgsl -lgslcblas -lm -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lintl -lpangocairo-1.0 -lcairo -lpthread -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -lgsl -lgslcblas -lm -lgmodule-2.0 -lglib-2.0 -lintl -lX11 /usr/local/lib/liblcms2.so /usr/local/lib/libiconv.so /usr/local/lib/libintl.so /usr/local/lib/libgc.so /usr/local/lib/libpoppler.so /usr/local/lib/libpoppler-glib.so /usr/local/lib/libcairo.so /usr/local/lib/libwpg-0.3.so /usr/local/lib/librevenge-0.0.so /usr/local/lib/librevenge-stream-0.0.so /usr/local/lib/libvisio-0.1.so /usr/local/lib/libcdr-0.1.so /usr/local/lib/libjpeg.so /usr/local/lib/libpng.so /usr/local/lib/libpopt.so /usr/local/lib/libpotrace.so -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-x11-2.0 -latk-1.0 -lgio-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgtkspell /usr/local/lib/libfreetype.so /usr/local/lib/libaspell.so /usr/local/lib/libxslt.so /usr/local/lib/libxml2.so -lz -lMagick++-6 -lMagickWand-6 -lMagickCore-6 -lMagick++-6 -lMagickWand-6 -lMagickCore-6 && :
ld: error: lib/libinkscape_base.so: undefined reference to Magick::Image::read(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
ld: error: lib/libinkscape_base.so: undefined reference to Magick::Image::magick() const
ld: error: lib/libinkscape_base.so: undefined reference to Magick::Blob::base64(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)
ld: error: lib/libinkscape_base.so: undefined reference to Magick::Blob::base64()
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
*** Error code 1

I tried to build graphics/inkscape with USE_GCC=yes too, but got other error:
FAILED: bin/inkscape 
: && /usr/local/bin/g++9  -D_THREAD_SAFE -O2 -Wl,-rpath=/usr/local/lib/gcc9 -fstack-protector-strong -march=prescott -pipe -pthread -O2 -pipe -march=prescott  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9  -Wl,-rpath=/usr/local/lib/gcc9  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -L/usr/local/lib/gcc9 src/CMakeFiles/inkscape.dir/main.cpp.o  -o bin/inkscape  -Wl,-rpath,/usr/obj/usr/ports/graphics/inkscape/work/.build/lib:/usr/local/lib: lib/libinkscape_base.so src/libgdl/libgdl_LIB.a src/libnrtype/libnrtype_LIB.a src/libcroco/libcroco_LIB.a src/libavoid/libavoid_LIB.a src/libcola/libcola_LIB.a src/libvpsc/libvpsc_LIB.a src/livarot/liblivarot_LIB.a src/libuemf/libuemf_LIB.a src/2geom/lib2geom_LIB.a src/libdepixelize/libdepixelize_LIB.a src/util/libutil_LIB.a src/inkgc/libgc_LIB.a -L/usr/local/lib -lpangocairo-1.0 -lcairo -lpthread -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -lgsl -lgslcblas -lm -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lintl -lpangocairo-1.0 -lcairo -lpthread -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -lgsl -lgslcblas -lm -lgmodule-2.0 -lglib-2.0 -lintl -lX11 /usr/local/lib/liblcms2.so /usr/local/lib/libiconv.so /usr/local/lib/libintl.so /usr/local/lib/libgc.so /usr/local/lib/libpoppler.so /usr/local/lib/libpoppler-glib.so /usr/local/lib/libcairo.so /usr/local/lib/libwpg-0.3.so /usr/local/lib/librevenge-0.0.so /usr/local/lib/librevenge-stream-0.0.so /usr/local/lib/libvisio-0.1.so /usr/local/lib/libcdr-0.1.so /usr/local/lib/libjpeg.so /usr/local/lib/libpng.so /usr/local/lib/libpopt.so /usr/local/lib/libpotrace.so -lgtkmm-2.4 -latkmm-1.6 /usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::spawn_async_with_pipes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Glib::ArrayHandle<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Glib::Container_Helpers::TypeTraits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, Glib::SpawnFlags, sigc::slot<void, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&, int*, int*, int*, int*)'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::operator<<(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, Glib::ustring const&)'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::ustring::erase(Glib::ustring_Iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, Glib::ustring_Iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::str_has_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Gtk::SelectionData::get_target[abi:cxx11]() const'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::operator>>(std::istream&, Glib::ustring&)'
/usr/local/bin/ld: lib/libinkscape_base.so: undefined reference to `Glib::file_test(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Glib::FileTest)'
collect2: error: ld returned 1 exit status
[989/989] cd /usr/obj/usr/ports/graphics/inkscape/work/inkscape-0.92.4/po && sh -c /usr/local/bin/intltool-update\ --pot\ --gettext-package=inkscape
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.

Build of graphics/ImageMagick6 with LLD_UNSAFE=yes and without USE_GCC=yes didn't help too:
libtool: link: (cd "Magick++/lib/.libs" && rm -f "libMagick++-6.so.8" && ln -s "libMagick++-6.so.8.0.0" "libMagick++-6.so.8")
libtool: link: (cd "Magick++/lib/.libs" && rm -f "libMagick++-6.so" && ln -s "libMagick++-6.so.8.0.0" "libMagick++-6.so")
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_compare_exchange'
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_load'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:7434: utilities/composite] Error 1
gmake[3]: *** Waiting for unfinished jobs....
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_compare_exchange'
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_compare_exchange'
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_load'
/usr/local/bin/ld.bfd: magick/.libs/libMagickCore-6.so: undefined reference to `__atomic_load'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:7422: utilities/animate] Error 1
gmake[3]: *** [Makefile:7428: utilities/compare] Error 1
libtool: link: /usr/local/bin/ar cru Magick++/lib/.libs/libMagick++-6.a  Magick++/lib/libMagick___6_la-Blob.o Magick++/lib/libMagick___6_la-BlobRef.o Magick++/lib/libMagick___6_la-ChannelMoments.o Magick++/lib/libMagick___6_la-CoderInfo.o Magick++/lib/libMagick___6_la-Color.o Magick++/lib/libMagick___6_la-Drawable.o Magick++/lib/libMagick___6_la-Exception.o Magick++/lib/libMagick___6_la-Functions.o Magick++/lib/libMagick___6_la-Geometry.o Magick++/lib/libMagick___6_la-Image.o Magick++/lib/libMagick___6_la-ImageRef.o Magick++/lib/libMagick___6_la-Montage.o Magick++/lib/libMagick___6_la-Options.o Magick++/lib/libMagick___6_la-Pixels.o Magick++/lib/libMagick___6_la-ResourceLimits.o Magick++/lib/libMagick___6_la-STL.o Magick++/lib/libMagick___6_la-Thread.o Magick++/lib/libMagick___6_la-TypeMetric.o
/usr/local/bin/ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: /usr/local/bin/ranlib Magick++/lib/.libs/libMagick++-6.a
libtool: link: ( cd "Magick++/lib/.libs" && rm -f "libMagick++-6.la" && ln -s "../libMagick++-6.la" "libMagick++-6.la" )
gmake[3]: Leaving directory '/usr/obj/usr/ports/graphics/ImageMagick6/work/ImageMagick-6.9.10-57'
gmake[2]: *** [Makefile:5688: all] Error 2
gmake[2]: Leaving directory '/usr/obj/usr/ports/graphics/ImageMagick6/work/ImageMagick-6.9.10-57'
===> Compilation failed unexpectedly.
Comment 4 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-30 17:09:43 UTC
Turn off THREADS (with dependent options):
OPTIONS_FILE_UNSET+=DJVU
OPTIONS_FILE_UNSET+=OPENEXR
OPTIONS_FILE_UNSET+=OPENMP
OPTIONS_FILE_UNSET+=PERL
OPTIONS_FILE_UNSET+=THREADS
allow to build graphics/ImageMagick6 without errors.

And after this graphics/inkscape build fine too.