Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XMPFiles/source/XMPFiles_Impl.cpp: fix arm build with gcc 10 #57

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ffontaine
Copy link

@ffontaine ffontaine commented Mar 17, 2022

Description

Fix the following build failure with exempi on arm with gcc 10 raised since version 2.6.0 and https://gitlab.freedesktop.org/libopenraw/exempi/-/commit/0872e35a30457d2ecf746a1bebdb7d94636d0e2f and 0872e35:

/home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: ../../XMPFiles/source/.libs/libXMPFiles.a(XMPFiles_Impl.o):(.rodata+0x5c): multiple definition of `typeinfo name for TXMPMeta<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >'; XMPFilesCoverage.o:(.rodata+0x0): first defined here

More information can be found on a similar issue here: OpenKinect/libfreenect2#157

Fixes:

Related Issue

Motivation and Context

This change is needed to avoid build failure with exempi: http://autobuild.buildroot.org/?reason=exempi-2.6.1

How Has This Been Tested?

This has been build-tested with buidlroot.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Fix the following build failure with exempi on arm with gcc 10 raised
since version 2.6.0 and
https://gitlab.freedesktop.org/libopenraw/exempi/-/commit/0872e35a30457d2ecf746a1bebdb7d94636d0e2f
adobe@0872e35:

/home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: ../../XMPFiles/source/.libs/libXMPFiles.a(XMPFiles_Impl.o):(.rodata+0x5c): multiple definition of `typeinfo name for TXMPMeta<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >'; XMPFilesCoverage.o:(.rodata+0x0): first defined here

More information can be found on a similar issue here:
OpenKinect/libfreenect2#157

Fixes:
 - http://autobuild.buildroot.org/results/c440719de02a154c6bdae11bda06ea30c131c71d

Signed-off-by: Fabrice Fontaine <[email protected]>
@ffontaine ffontaine closed this Mar 17, 2022
@ffontaine ffontaine reopened this Mar 17, 2022
@ffontaine ffontaine closed this Jun 14, 2022
@ffontaine ffontaine reopened this Jun 14, 2022
@hfiguiere
Copy link

Issue also occur on gcc 9.3.0 armhf

jollaitbot pushed a commit to sailfishos-mirror/exempi that referenced this pull request Dec 10, 2022
Cherry-pick adobe/XMP-Toolkit-SDK#57

Original commit messsage:
==========
Author: Fabrice Fontaine <[email protected]>

XMPFiles/source/XMPFiles_Impl.cpp: fix arm build with gcc 10

Fix the following build failure with exempi on arm with gcc 10 raised
since version 2.6.0 and
https://gitlab.freedesktop.org/libopenraw/exempi/-/commit/0872e35a30457d2ecf746a1bebdb7d94636d0e2f
adobe/XMP-Toolkit-SDK@0872e35:

/home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: ../../XMPFiles/source/.libs/libXMPFiles.a(XMPFiles_Impl.o):(.rodata+0x5c): multiple definition of `typeinfo name for TXMPMeta<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >'; XMPFilesCoverage.o:(.rodata+0x0): first defined here

More information can be found on a similar issue here:
OpenKinect/libfreenect2#157

Fixes:
 - http://autobuild.buildroot.org/results/c440719de02a154c6bdae11bda06ea30c131c71d

Signed-off-by: Fabrice Fontaine <[email protected]>
==========

Signed-off-by: Hubert Figuière <[email protected]>
@SoftAvocado
Copy link

SoftAvocado commented Aug 7, 2023

Hello! I've faced the same problem on arm32v7/ubuntu docker container and on Raspberry Pi OS 32-bit. I fixed the source code of XMPFiles_Impl.cpp according to the fixes provided by hfiguiere and now it works fine, thank you! Can you please review this code and merge it to main?

Copy link

@lrosenthol lrosenthol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants