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)
Change History (12)
Changed 7 years ago by neal-wood
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Cc: | dports@… removed |
---|---|
Keywords: | x86_64 removed |
Owner: | set to drkp |
Status: | new → assigned |
comment:2 Changed 7 years ago by kencu (Ken)
comment:3 Changed 7 years ago by kencu (Ken)
comment:4 follow-up: 7 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:7 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>
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: | assigned → closed |
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.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.