Opened 5 years ago
Closed 5 years ago
#60284 closed defect (fixed)
gmic @2.9.0_0: removes symbols needed by darktable @3.0.1_0
Reported by: | olupton (Olli Lupton) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | Schamschula (Marius Schamschula), parafin | |
Port: | gmic darktable |
Description
Building darktable @3.0.1_0+openmp
fails with the error
:info:build Undefined symbols for architecture x86_64: :info:build "cimg_library::CImgList<char>::assign(unsigned int)", referenced from: :info:build _lut3d_read_gmz in lut3dgmic.cpp.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) :info:build make[2]: *** [src/iop/liblut3d.so] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_graphics_darktable/darktable/work/build' :info:build make[1]: *** [src/iop/CMakeFiles/lut3d.dir/all] Error 2
when gmic @2.9.0_0
is installed. If I revert to gmic @2.8.4_0
the build succeeds (and the missing symbol is there):
$ nm -Ujg /opt/local/lib/libgmic.2.8.4.dylib | c++filt | grep "cimg_library::CImgList<char>::assign(unsigned int)" cimg_library::CImgList<char>::assign(unsigned int)
I am not immediately sure if this is a defect in gmic
or darktable
.
With gmic @2.9.0_0
far fewer symbols are exported:
$ nm -Ujg /opt/local/lib/libgmic.2.9.0.dylib | c++filt | grep assign cimg_library::CImg<float>::assign(unsigned int, unsigned int, unsigned int, unsigned int) cimg_library::CImgList<float>::assign(unsigned int)
vs.
$ nm -Ujg /opt/local/lib/libgmic.2.8.4.dylib | c++filt | grep assign | wc -l 259
I also find that darktable
crashes on startup, but presumably this is another issue, to be debugged separately.
I doubt this is relevant, but I just updated to macOS Catalina.
Change History (8)
comment:1 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Owner: | set to MarcusCalhoun-Lopez |
---|---|
Status: | new → accepted |
comment:2 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mps@… added |
---|
You say you have upgraded your OS.
Did you follow the migration instructions?
comment:3 Changed 5 years ago by olupton (Olli Lupton)
Yes, I followed those instructions and didn't run into any obvious problems.
As far as I can see it's just a coincidence that the gmic
port was updated around the same time I upgraded.
(sorry for failing to add the port maintainer to the ticket)
comment:4 Changed 5 years ago by jmroot (Joshua Root)
Cc: | Schamschula added; mps@… removed |
---|
comment:5 Changed 5 years ago by parafin
For some context see this discussion: https://discuss.pixls.us/t/gmic-lookup-symbol-err-on-opensuse-darktable-master-build/15827. For the current bug I successfully tested a workaround - add the following line to post-configure in gmic Portfile
reinplace "s/\\(MANDATORY_CFLAGS =\\)/\\1 -Dgmic_pixel_type2=char/" ${worksrcpath}/src/Makefile
comment:6 Changed 5 years ago by parafin
Cc: | parafin added |
---|
comment:7 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
The issue has been fixed upstream.
I am working on a patch for the MacPorts gmic.
comment:8 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
In the future, please add the maintainer of the port when opening tickets.