Opened 4 years ago
Closed 4 years ago
#63663 closed defect (fixed)
gegl-0.3 @0.3.34_10: Undefined Exiv2 symbols
| Reported by: | evanmiller (Evan Miller) | Owned by: | mascguy (Christopher Nielsen) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.7.1 |
| Keywords: | Cc: | ||
| Port: | gegl-0.3 |
Description
Looks like some symbols recently disappeared from Exiv2?
libtool: link: /opt/local/bin/g++-mp-7 -I/opt/local/include/json-glib-1.0 -I/opt/local/include/gio-unix-2.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/babl-0.1 -pipe -Os -fno-altivec -arch ppc -Wl,-headerpad_max_install_names -Wl,-syslibroot -Wl,/ -arch ppc -o .libs/exp_combine exp_combine-exp_combine.o ../gegl/.libs/libgegl-0.3.dylib -L/opt/local/lib -lgmodule-2.0 /opt/local/lib/libjson-glib-1.0.dylib -lgio-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 /opt/local/lib/libintl.dylib -lbabl-0.1 -lm -lexiv2
Undefined symbols:
"Exiv2::ExifData::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
_main in exp_combine-exp_combine.o
_main in exp_combine-exp_combine.o
_main in exp_combine-exp_combine.o
"Exiv2::ImageFactory::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)", referenced from:
_main in exp_combine-exp_combine.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
Might be salvageable with a source patch (though gnome-photos is the only port left that relies on gegl-0.3).
Attachments (1)
Change History (8)
Changed 4 years ago by evanmiller (Evan Miller)
| Attachment: | gegl-0.3-main.log added |
|---|
comment:1 Changed 4 years ago by evanmiller (Evan Miller)
comment:2 Changed 4 years ago by mascguy (Christopher Nielsen)
I'll see if it's feasible to update gnome-photos to a newer release, particularly if that allows us to migrate off of gegl-0.3.
It's still worth continuing your investigation in-parallel, though.
comment:3 Changed 4 years ago by mascguy (Christopher Nielsen)
After digging into this a bit more, the various GNOME-related inter-dependencies make such an update more challenging.
There are still options, including theoretical patching to working with a newer GEGL. But we'll have to see what's practical.
comment:4 Changed 4 years ago by evanmiller (Evan Miller)
Related to the original C++11 ABI issue: https://trac.macports.org/ticket/55733
comment:5 follow-up: 6 Changed 4 years ago by evanmiller (Evan Miller)
Good news - build succeeds with compiler.cxx_standard 2011 – which I guess juggles the libc++ interfaces behind the scenes? Will prep a PR later.
comment:6 Changed 4 years ago by mascguy (Christopher Nielsen)
Replying to evanmiller:
Good news - build succeeds with
compiler.cxx_standard 2011– which I guess juggles the libc++ interfaces behind the scenes? Will prep a PR later.
Awesome, looking forward to the fix. And great work as usual!
comment:7 Changed 4 years ago by evanmiller (Evan Miller)
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

Actually, this looks like a C++11 ABI mismatch of some sort. I'm sure it comes up frequently and I will look into existing solutions.