Opened 3 years ago

Closed 3 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)

gegl-0.3-main.log (1.1 MB) - added by evanmiller (Evan Miller) 3 years ago.

Download all attachments as: .zip

Change History (8)

Changed 3 years ago by evanmiller (Evan Miller)

Attachment: gegl-0.3-main.log added

comment:1 Changed 3 years ago by evanmiller (Evan Miller)

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.

comment:2 Changed 3 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 3 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 3 years ago by evanmiller (Evan Miller)

Related to the original C++11 ABI issue: https://trac.macports.org/ticket/55733

comment:5 Changed 3 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 in reply to:  5 Changed 3 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 3 years ago by evanmiller (Evan Miller)

Resolution: fixed
Status: assignedclosed

In bf38706a9f2c04904a23eb27cce9406cdb65148e/macports-ports (master):

gegl-0.3: require C++11

Closes: #63663

Note: See TracTickets for help on using tickets.