Opened 8 months ago

Last modified 7 months ago

#69655 accepted defect

libopenshot @0.3.2: Undefined symbols

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: ctreleaven (Craig Treleaven)
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: Cc:
Port: libopenshot

Description

The recent ImageMagick update seems to cause a problem for libopenshot:

https://build.macports.org/builders/ports-12_x86_64-builder/builds/102034/steps/install-port/logs/stdio

Undefined symbols for architecture x86_64:
  "_AcquireExceptionInfo", referenced from:
      void Magick::writeImages<std::__1::__wrap_iter<Magick::Image*> >(std::__1::__wrap_iter<Magick::Image*>, std::__1::__wrap_iter<Magick::Image*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in ImageWriter.cpp.o
  "_DestroyExceptionInfo", referenced from:
      void Magick::writeImages<std::__1::__wrap_iter<Magick::Image*> >(std::__1::__wrap_iter<Magick::Image*>, std::__1::__wrap_iter<Magick::Image*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in ImageWriter.cpp.o
  "_ExportImagePixels", referenced from:
      openshot::Magick2QImage(std::__1::shared_ptr<Magick::Image>) in MagickUtilities.cpp.o
  "_WriteImages", referenced from:
      void Magick::writeImages<std::__1::__wrap_iter<Magick::Image*> >(std::__1::__wrap_iter<Magick::Image*>, std::__1::__wrap_iter<Magick::Image*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in ImageWriter.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Attachments (1)

main.log (614.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 7 months ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 8 months ago by ctreleaven (Craig Treleaven)

Status: assignedaccepted

comment:2 Changed 8 months ago by ctreleaven (Craig Treleaven)

Interesting. After updating ImageMagick, I'm unable to reproduce the libopenshot failure on my system:

DEBUG: Copying /Users/craigtreleaven/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: Using normalized porturl file:///Users/craigtreleaven/mp/macports-ports/multimedia/libopenshot
DEBUG: Opening port in directory: /Users/craigtreleaven/mp/macports-ports/multimedia/libopenshot
DEBUG: OS darwin/19.6.0 (macOS 10.15.7) arch i386
...
DEBUG: ImageMagick 6.9.13-7_0 exists in the ports tree
DEBUG: ImageMagick 6.9.13-7_0 +x11 is the latest installed
DEBUG: ImageMagick 6.9.13-7_0 +x11 is active
...
Generating build files for OpenShot with CMake 3.24.4
  Building libopenshot (version 0.3.2)
  SO/API/ABI Version: 25

-- Found ZLIB: /opt/local/lib/libz.dylib (found version "1.3.1") 
-- Found ImageMagick: /opt/local/lib/libMagick++-6.Q16.dylib (found version "6.9.13-7") 
...

Was there possibly some transient error on the buildbots?

comment:3 in reply to:  2 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ctreleaven:

Was there possibly some transient error on the buildbots?

A transient issue that simultaneously affected each build machine in the same way? Not that I know of.

comment:4 Changed 8 months ago by ctreleaven (Craig Treleaven)

True. That wasn't a well-formed thought. ;)

On my local build, I see that the link line references /opt/local/lib/libMagickCore-6.Q16.dylib but this is absent on the buildbot. I presume the missing symbols should be found in this library.

I don't understand why the buildbot is adding one ImageMagick library for linking but not another after the version update. I know the buildbot file systems are case sensitive but I don't see mismatches in capitalization.

Not sure where to look further

comment:5 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

I experience the same problem locally on my macOS 12 system with a case-insensitive filesystem.

If you are sure you have updated to the new ImageMagick on your system and you still do not experience the issue, could you attach your main.log? We can compare logs to find the difference.

Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added
Note: See TracTickets for help on using tickets.