Opened 18 months ago

Closed 6 months ago

#59621 closed defect (duplicate)

poppler does not build on legacy Leopard

Reported by: rmottola (Riccardo) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: leopard legacy-os Cc:
Port: poppler

Description (last modified by ryandesign (Ryan Schmidt))

poppler does not build anymore - it used to by just forcing the compiler. Now clang 7 is automatically selected but fails as follows:

/opt/local/bin/clang++-mp-7.0  -Dpoppler_EXPORTS -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0/fofi -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0/goo -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0/poppler -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/build -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/build/poppler -isystem /opt/local/include -isystem /opt/local/include/freetype2 -isystem /opt/local/include/openjpeg-2.3  -Wall -Wextra -Wpedantic -Wno-unused-parameter -Wcast-align -Wformat-security -Wframe-larger-than=65536 -Wmissing-format-attribute -Wnon-virtual-dtor -Woverloaded-virtual -Wmissing-declarations -Wundef -Wzero-as-null-pointer-constant -Wshadow -fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE -arch i386 -mmacosx-version-min=10.5 -fPIC   -std=c++14 -o CMakeFiles/poppler.dir/goo/ -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0/goo/
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.82.0/goo/
/opt/local/include/LegacySupport/stdlib.h:44:14: error: conflicting asm label
extern char *realpath(const char * __restrict, char * __restrict)
/usr/include/stdlib.h:226:60: note: previous declaration is here
char    *realpath(const char * __restrict, char * __restrict) __DARWIN_EXTSN(realpath);
/usr/include/sys/cdefs.h:365:36: note: expanded from macro '__DARWIN_EXTSN'
#define __DARWIN_EXTSN(sym)             __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN)

The error is exact the same as this #58578 however here there is nothing to tweak, it appears that Legacy Support is totally missing?

Change History (7)

comment:1 Changed 18 months ago by rmottola (Riccardo)

I stand corrected: PortGroup "legacysupport 1.0" is specified.

comment:2 Changed 18 months ago by kencu (Ken)

it might be that clang-7.0 is too restrictive for the slightly different asm definition in macports-legacy-support vs the stdlib definition. Try clang-5.0 and see what it does with it.

For the longer term, we'll need to fill in some missing bits in macports-legacy-support's header wraps to better match the actual stdlib header; Christian did a very good job on this first time around, but apparently there is still some tweakage to be done.

comment:3 Changed 18 months ago by jmroot (Joshua Root)

Keywords: legacy added; legay removed
Owner: set to dbevans
Status: newassigned

comment:4 Changed 11 months ago by mf2k (Frank Schima)

Keywords: legacy-os added; legacy removed

comment:5 Changed 6 months ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:6 Changed 6 months ago by kencu (Ken)

I find that clang-7.0 triggers this error in several ports, but not with the legacy-support test suite...

using clang-5.0 or gcc-7 has worked in each case for me. Clang tightened up redefining asm declarations and made them errors; I assume that is why clang-5.0 works but 7.0 does not.

How to fix it properly so clang-7.0 is happy currently eludes me.

comment:7 Changed 6 months ago by kencu (Ken)

Resolution: duplicate
Status: assignedclosed

let's follow this issue along in #58677

Note: See TracTickets for help on using tickets.