Opened 7 years ago

Closed 7 years ago

#54475 closed defect (fixed)

texlive-bin @2017: Failed to build texlive-bin on Lion

Reported by: neal-wood Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: lion Cc:
Port: texlive-bin

Description

Unable to build texlive-bin on OS X 10.7.5 (Lion) with Xcode 4.6.3. Trouble with with compiling c++?

:info:build In file included from /opt/local/include/poppler/Object.h:360,
:info:build                  from pdftexdir/pdftosrc.cc:42:
:info:build /opt/local/include/poppler/Stream.h:286: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:288: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:290: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:292: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:314: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:315: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:316: error: expected `;' before ‘BaseStream’
:info:build /opt/local/include/poppler/Stream.h:316: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:317: error: expected `;' before ‘Stream’
:info:build /opt/local/include/poppler/Stream.h:317: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:318: error: expected `;' before ‘Dict’
:info:build /opt/local/include/poppler/Stream.h:318: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:319: error: expected `;' before ‘virtual’
:info:build /opt/local/include/poppler/Stream.h:343: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:344: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:345: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:345: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:346: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:347: error: expected `;' before ‘Stream’
:info:build /opt/local/include/poppler/Stream.h:347: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:348: error: expected `;' before ‘Dict’
:info:build /opt/local/include/poppler/Stream.h:348: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:349: error: expected `;' before ‘Stream’
:info:build /opt/local/include/poppler/Stream.h:349: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:351: error: expected `;' before ‘int’
:info:build /opt/local/include/poppler/Stream.h:351: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:352: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:352: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:354: error: expected `;' before ‘protected’
:info:build /opt/local/include/poppler/Stream.h:452: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:454: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:455: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:456: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:456: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:457: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:458: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:460: error: expected `;' before ‘int’
:info:build /opt/local/include/poppler/Stream.h:460: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:462: error: expected `;' before ‘Goffset’
:info:build /opt/local/include/poppler/Stream.h:462: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:463: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:463: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:464: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:465: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:465: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:467: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:468: error: expected `;' before ‘void’
:info:build /opt/local/include/poppler/Stream.h:468: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:470: error: expected `;' before ‘private’
:info:build /opt/local/include/poppler/Stream.h:474: error: expected ‘;’ before ‘override’
:info:build /opt/local/include/poppler/Stream.h:475: error: expected `;' before ‘int’
:info:build /opt/local/include/poppler/Stream.h:475: error: expected ‘;’ before ‘override’
:info:build pdftexdir/pdftosrc.cc:207: error: expected `;' at end of input
:info:build pdftexdir/pdftosrc.cc:207: error: expected `}' at end of input
:info:build pdftexdir/pdftosrc.cc:207: error: expected unqualified-id at end of input
:info:build make[5]: *** [pdftexdir/pdftosrc-pdftosrc.o] Error 1
:info:build make[5]: *** Waiting for unfinished jobs....
:info:build libtool: compile:  /usr/bin/llvm-gcc-4.2 -DHAVE_CONFIG_H -I. -I./w2c -I./synctexdir -DSYNCTEX_USE_LOCAL_HEADER -isystem/opt/local/include -Wimplicit -Wreturn-type -Wdeclaration-after-statement -Wno-unknown-pragmas -pipe -Os -arch x86_64 -MT synctexdir/libsynctex_la-synctex_parser.lo -MD -MP -MF synctexdir/.deps/libsynctex_la-synctex_parser.Tpo -c synctexdir/synctex_parser.c -o synctexdir/libsynctex_la-synctex_parser.o >/dev/null 2>&1
:info:build mv -f pdftexdir/.deps/ttf2afm-ttf2afm.Tpo pdftexdir/.deps/ttf2afm-ttf2afm.Po
:info:build mv -f mplibdir/.deps/libmputil_a-decNumber.Tpo mplibdir/.deps/libmputil_a-decNumber.Po
:info:build mv -f synctexdir/.deps/libsynctex_la-synctex_parser.Tpo synctexdir/.deps/libsynctex_la-synctex_parser.Plo
:info:build make[5]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped/texk/web2c'
:info:build make[4]: *** [all-recursive] Error 1
:info:build make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped/texk/web2c'
:info:build make[3]: *** [all] Error 2
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped/texk/web2c'
:info:build make[2]: *** [recurse] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped/texk'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped/texk'
:info:build make: *** [all-recursive] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/work/texlive-source-20170604-stripped" && /usr/bin/make -j4 -w all 
:info:build Exit code: 2
:error:build Failed to build texlive-bin: command execution failed
:debug:build Error code: CHILDSTATUS 14785 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/main.log for details.

Attachments (1)

main.log (782.0 KB) - added by neal-wood 7 years ago.

Download all attachments as: .zip

Change History (12)

Changed 7 years ago by neal-wood

Attachment: main.log added

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Cc: dports@… removed
Keywords: x86_64 removed
Owner: set to drkp
Status: newassigned

comment:2 Changed 7 years ago by kencu (Ken)

Fixed by adding PortGroup cxx11 1.1 which forces a build with clang-4.0. Otherwise, the way the portfile plays out with the current blacklisting, it tries to build with llvm-gcc-4.2 which fails.

$ port -v installed texlive-bin
The following ports are currently installed:
  texlive-bin @2017_0+x11 (active) platform='darwin 11' archs='x86_64' date='2017-07-15T19:42:08-0700'

Using PortGroup cxx11 1.1 would also have the added benefit of fixing the build on PPC...

Another approach would have been to blacklist llvm-gcc-4.2 as well as the other gcc versions that are already blacklisted.

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:4 Changed 7 years ago by neal-wood

Thank you both. After adding "PortGroup cxx11 1.1" to "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/tex/texlive-bin/Portfile" MacPorts clang-4.0 rather that Xcode llvm-gcc-4.2 is used during configure

$ sudo port install texlive-bin
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
:notice:configure --->  Configuring texlive-bin
:debug:configure Preferred compilers: clang llvm-gcc-4.2 macports-clang-3.4 macports-llvm-gcc-4.2 apple-gcc-4.2
:debug:configure Using compiler 'MacPorts Clang 4.0'
$ port -v installed texlive-bin
The following ports are currently installed:
  texlive-bin @2017_0+x11 (active) platform='darwin 11' archs='x86_64' date='2017-07-16T18:05:55+0100'

May I ask the significance of "PortGroup cxx11 1.1", please? Also, why sudden issue with older versions of OS X?

comment:5 Changed 7 years ago by kencu (Ken)

until recently (dunno when exactly) llvm-gcc-4.2 could build this. The current portfile reflects this old knowledge. But things evolve, and it can't any more. Jeremy noticed this, and found out the port could build with clang-3.7 or so, or better, so he added a blacklist for clang < 500.

But the blacklisting plan in the portfile still allows llvm-gcc-4.2, so that is what was used (and failed). It could be blacklisted, and then according to the portfile specs, some clang newer than ver 500 would be used.

Adding the cxx11 portgroup jumps past all this, and forces a build with clang-4.0 (which works).

There is still a hole in the logic of the PortGroup cxx11 1.1, however. The libc++ section would need to blacklist older clangs < 500 for this to all be neat and tidy.

If I were king of nothing, Macports base would default to always build everything with clang-4.0 on Intel. That would solve a lot of needless troubles with compiler selection variations between machines, IMHO. A few exceptions for Fortran and PPC would still exist, but the rest of the builders would be very very consistent then.

I'm sure there is some reason I can't think of right now why this isn't done, tho.

comment:6 Changed 7 years ago by neal-wood

Thanks for the useful info.

comment:7 in reply to:  4 Changed 7 years ago by har5ha

Replying to neal-wood:

Thank you both. After adding "PortGroup cxx11 1.1" to "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/tex/texlive-bin/Portfile" MacPorts clang-4.0 rather that Xcode llvm-gcc-4.2 is used during configure

$ sudo port install texlive-bin
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
:notice:configure --->  Configuring texlive-bin
:debug:configure Preferred compilers: clang llvm-gcc-4.2 macports-clang-3.4 macports-llvm-gcc-4.2 apple-gcc-4.2
:debug:configure Using compiler 'MacPorts Clang 4.0'
$ port -v installed texlive-bin
The following ports are currently installed:
  texlive-bin @2017_0+x11 (active) platform='darwin 11' archs='x86_64' date='2017-07-16T18:05:55+0100'

May I ask the significance of "PortGroup cxx11 1.1", please? Also, why sudden issue with older versions of OS X?


Thanks for all the useful Info, everybody.

comment:8 Changed 7 years ago by kencu (Ken)

FYI there is a pull request pending for this. <https://github.com/macports/macports-ports/pull/639>

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 7 years ago by michaelld (Michael Dickens)

I just ran across this issue & Ken's fix works for me too (solved independently). I like his PR; looks good to me!

This port requires C++11 for building, so using one of the various cxx11 PG's makes sense. The 1.0 version won't solve the issue on older OSs, while the 1.1 version does.

What's the hold-up in merging the PR?

comment:10 Changed 7 years ago by kencu (Ken)

Thanks, Michael -- I'm waiting on my commit permissions so I can take care of these things myself without such long delays.

comment:11 Changed 7 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In 2b1e49d05cd18b699f4fb1faf0b9f6c4890c3906/macports-ports:

texlive-bin: add cxx11 1.1 PortGroup

fixes build on older systems
still need to specificy clang > 500 however
can delete other compiler blacklisting as that is

now handled by cxx11 1.1 PortGroup

closes: #54358
closes: #54374
closes: #54475

Note: See TracTickets for help on using tickets.