On Thu, Jan 09 2020, Stuart Henderson <[email protected]> wrote:
> On 2020/01/08 11:32, Jeremie Courreges-Anglas wrote:
>> 
>> +cc rsadowski@
>> 
>> On Wed, Jan 08 2020, Jeremie Courreges-Anglas <[email protected]> wrote:
>> > On Tue, Jan 07 2020, Stuart Henderson <[email protected]> wrote:
>> >> On 2020/01/08 00:45, Pekka Niiranen wrote:
>> >>> Hello,
>> >>> 
>> >>> Has anybody else got this error:
>> >>> 
>> >>> When I start emacs-gtk3 -package from X on PowerBook G4 (5,7)
>> >>> I get error
>> >>> 
>> >>> root@pekkappc:~ # emacs
>> >>> emacs:/usr/local/lib/libestdc++.so.19.0: /usr/lib/libstdc++.so.57.0 :
>> >>> WARNING: symbol(_ZNSt6locale5_Impl11_S_id_ctypeE) size mismatch, relink 
>> >>> your
>> >>> program
>> >>> 
>> >>> I have fetched sources with anoncvs after patch 016 had been released
>> >>> and build a release (took 48h).
>> >>> After that I removed all packages, recompiled first gcc and g++ and 
>> >>> finally
>> >>> did "make install" in /usr/ports/editors/emacs (took days) but I still 
>> >>> get
>> >>> the same error.
>> >>
>> >> Is it displaying the message but working anyway, or is it not working?
>> >
>> > I get the same message on -current sparc64, with or without X.  The
>> > editor works fine over an ssh-forwarded connection.
>> 
>> Pekka: note that if you don't experiment an actual problem (ie a bug or
>> crash) you don't have to rebuild anything.
>> 
>> >> It's not entirely unexpected, the platforms where /usr/bin/cc is gcc
>> >> (alpha hppa mips64el powerpc sparc64) use a mixture of C++ compilers and
>> >> incompatible standard libraries. We try to avoid mixing them as much
>> >> as possible but sometimes it's unavoidable (for example, X libraries
>> >> have to be built with the compiler in the base OS, and some of these
>> >> use C++) and other times it may happen by mistake.
>> >>
>> >> If you send output from running "LD_DEBUG=1 emacs" (there will be quite
>> >> a lot of output, you might need to run it under script(1) to capture it
>> >> all) I'll see if I can spot why, but it might not be fixable.
>> >
>> > Here's the full output:
>> >
>> >   https://pbot.rmdir.de/UemNvFzxIHUkL_6DD5a5_w
>> >
>> > --8<--
>> > billy /tmp$ grep 'libstdc++' typescript | col -b
>> > loading: libstdc++.so.57.0 required by 
>> > /usr/local/lib/libMagickWand-6.Q16.so.4.2
>> >  flags /usr/lib/libstdc++.so.57.0 = 0x0
>> > obj /usr/lib/libstdc++.so.57.0 has emacs as head
>> > linking dep /usr/lib/libstdc++.so.57.0 as child of 
>> > /usr/local/lib/libMagickWand-6.Q16.so.4.2
>> > loading: libstdc++.so.57.0 required by 
>> > /usr/local/lib/libMagickCore-6.Q16.so.7.0
>> > linking dep /usr/lib/libstdc++.so.57.0 as child of 
>> > /usr/local/lib/libMagickCore-6.Q16.so.7.0
>> > examining: '/usr/lib/libstdc++.so.57.0'
>> > loading: libm.so.10.1 required by /usr/lib/libstdc++.so.57.0
>> > linking dep /usr/lib/libm.so.10.1 as child of /usr/lib/libstdc++.so.57.0
>> > emacs:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.19.0 : 
>> > WARNING: symbol(_ZNSt6locale5_Impl11_S_id_ctypeE) size mismatch, relink 
>> > your program
>> >         0000000807fec000 0000000808420000 rlib  0    2   0      
>> > /usr/lib/libstdc++.so.57.0
>> > protect RELRO [0x808404420,0x80840c000) in /usr/lib/libstdc++.so.57.0
>> > doing ctors obj 0x88930f400 @0x807fec2e0: [/usr/lib/libstdc++.so.57.0]
>> > -->8--
>> 
>> There are libstdc++ hits in graphics/ImageMagick.  The most offending
>> ones come from libraw_r.pc.  libraw.pc has already been patched.
>> Another hit comes from coders/Makefile.am but that one doesn't seem to
>> be a problem.
>> 
>> ok for the diff below?
>> (ImageMagick still building here on sparc64, looks promising)

>> 
>> Index: Makefile
>> ===================================================================
>> RCS file: /cvs/ports/graphics/libraw/Makefile,v
>> retrieving revision 1.43
>> diff -u -p -r1.43 Makefile
>> --- Makefile 5 Sep 2019 16:20:25 -0000       1.43
>> +++ Makefile 8 Jan 2020 09:30:47 -0000
>> @@ -4,6 +4,7 @@ COMMENT =            library for reading RAW files
>>  
>>  DISTNAME =          LibRaw-0.19.5
>>  PKGNAME =           ${DISTNAME:L}
>> +REVISION =          0
>>  CATEGORIES =                graphics
>>  
>>  SHARED_LIBS +=  raw                  4.0      # 15.0
>> Index: patches/patch-libraw_pc_in
>> ===================================================================
>> RCS file: /cvs/ports/graphics/libraw/patches/patch-libraw_pc_in,v
>> retrieving revision 1.1
>> diff -u -p -r1.1 patch-libraw_pc_in
>> --- patches/patch-libraw_pc_in       27 Mar 2019 23:29:06 -0000      1.1
>> +++ patches/patch-libraw_pc_in       8 Jan 2020 09:30:47 -0000
>> @@ -1,6 +1,6 @@
>>  $OpenBSD: patch-libraw_pc_in,v 1.1 2019/03/27 23:29:06 ajacoutot Exp $
>>  
>> -Do not hardcode -lstdc++ (symbol mismatch with libc++abi).
>> +Do not hardcode -lstdc++ (symbol mismatch with libc++abi and libestdc++).
>>  
>>  Index: libraw.pc.in
>>  --- libraw.pc.in.orig
>> Index: patches/patch-libraw_r_pc_in
>> ===================================================================
>> RCS file: patches/patch-libraw_r_pc_in
>> diff -N patches/patch-libraw_r_pc_in
>> --- /dev/null        1 Jan 1970 00:00:00 -0000
>> +++ patches/patch-libraw_r_pc_in     8 Jan 2020 09:30:47 -0000
>> @@ -0,0 +1,14 @@
>> +$OpenBSD$
>> +
>> +Do not hardcode -lstdc++ (symbol mismatch with libc++abi and libestdc++).
>> +
>> +Index: libraw_r.pc.in
>> +--- libraw_r.pc.in.orig
>> ++++ libraw_r.pc.in
>> +@@ -7,5 +7,5 @@ Name: libraw
>> + Description: Raw image decoder library (thread-safe)
>> + Requires: @PACKAGE_REQUIRES@
>> + Version: @PACKAGE_VERSION@
>> +-Libs: -L${libdir} -lraw_r -lstdc++@PC_OPENMP@
>> ++Libs: -L${libdir} -lraw_r @PC_OPENMP@
>
> Should be
>
> -Libs: -L${libdir} -lraw_r -lstdc++@PC_OPENMP@
> +Libs: -L${libdir} -lraw_r@PC_OPENMP@
>
> (and the libraw.pc.in patch ought to be fixed too) - I have seen some
> cases where libtool is excessively fussy about whitespace. libraw is
> careful to put the space in where needed.

pkg-config output can indeed end up in .la files, trailing whitespace
there can indeed break base libtool as seen in a recent report.  Thanks
for pointing this out.

> Otherwise OK.

Committed, thanks.  This diff is sufficient to remove the emacs-gtk3
runtime warnings.

>> + Cflags: -I${includedir}/libraw
>> 
>> -- 
>> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE
>> 
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to