Opened 3 years ago
Closed 3 years ago
#63121 closed defect (fixed)
poppler @20.12.1_3 does not build on PPC Tiger because it wants boost176
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | tiger | Cc: | devans@…, cjones051073 (Chris Jones), evanmiller (Evan Miller) |
Port: | poppler |
Description
boost176 needs a C++11 capable compiler while boost171 is already installed.
Attachments (1)
Change History (20)
comment:1 follow-up: 2 Changed 3 years ago by reneeotten (Renee Otten)
comment:2 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to reneeotten:
No. boost176
does not build in the end. It has more problems than trivial support of C++11. The actual question is why poppler
now needs boost
at all and why it needs boost176
in particular.
comment:3 follow-ups: 4 5 Changed 3 years ago by reneeotten (Renee Otten)
in this commit the poppler
port was migrated to the boost
PG, so that explains why it now uses the latest boost176
which is the newest version the port builds with. However, it also now adds the boost
variant to the default set, possibly that can be changed to not do that on older systems.
For now you should be fine with just installing poppler -boost
, unless of course you do need that variant then you'll probably have to do some work yourself. You could, for example, add boost.version 1.71
to the Portfile in you local port directory (which I assume you have if you want to get things to work on an old system) to have it built with a version of boost
that apparently builds on Tiger.
comment:4 follow-up: 7 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to reneeotten:
What is boost
good for? Poppler
worked fine for decades without it…
comment:5 follow-up: 8 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to reneeotten:
For now you should be fine with just installing
poppler -boost
, unless of course you do need that variant then you'll probably have to do some work yourself. You could, for example, addboost.version 1.71
to the Portfile in you local port directory (which I assume you have if you want to get things to work on an old system) to have it built with a version ofboost
that apparently builds on Tiger.
DEBUG: invalid command name "boost.version" while executing "boost.version 1.71" (file "Portfile" line 100)
comment:6 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
There is a bug in Portfile
. When I try port -vd build -sk poppler -boost
port
starts to:
DEBUG: Attempting ln -sf /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python39/python39/work /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/lang/python39/work DEBUG: dropping privileges: euid changed to 501, egid changed to 20. DEBUG: Starting logging for python39 @3.9.5_0 DEBUG: macOS 11.4 (darwin/20.5.0) arch i386 DEBUG: MacPorts 2.7.1 DEBUG: Xcode 12.5 DEBUG: SDK 11 DEBUG: MACOSX_DEPLOYMENT_TARGET: 11.0 ---> Computing dependencies for python39
although it tells me:
port deps poppler -boost Full Name: poppler @20.12.1_3 Extract Dependencies: xz Build Dependencies: cmake, pkgconfig Library Dependencies: bzip2, curl, expat, fontconfig, freetype, libjpeg-turbo, glib2, cairo, lcms2, libiconv, libpng, nss, openjpeg, poppler-data, tiff, zlib, gobject-introspection
OTOH, if I invoke port rdeps poppler -boost | grep 39
I get:
python39 py39-libxml2 py39-anytree py39-setuptools py39-six py39-pytest py39-setuptools_scm py39-attrs py39-hypothesis py39-sortedcontainers py39-zopeinterface py39-iniconfig py39-packaging py39-parsing py39-pluggy py39-py py39-toml py39-nose py39-lxml py39-pygments py39-mock py39-mako py39-beaker py39-markupsafe py39-markdown
Does the recent port
version really know what it is doing and outputting?
comment:7 follow-up: 9 Changed 3 years ago by reneeotten (Renee Otten)
Replying to ballapete:
Replying to reneeotten: What is
boost
good for?Poppler
worked fine for decades without it…
just look at the boost
variant description, with that you know as much as I do...
[+]boost: Use Boost when building the Splash graphics backend
comment:8 follow-up: 11 Changed 3 years ago by reneeotten (Renee Otten)
Replying to ballapete:
Replying to reneeotten:
For now you should be fine with just installing
poppler -boost
, unless of course you do need that variant then you'll probably have to do some work yourself. You could, for example, addboost.version 1.71
to the Portfile in you local port directory (which I assume you have if you want to get things to work on an old system) to have it built with a version ofboost
that apparently builds on Tiger.DEBUG: invalid command name "boost.version" while executing "boost.version 1.71" (file "Portfile" line 100)
there are at least 100 ports doing this so that should work, provided that you put it inside the boost
variant as it needs to have the boost
PG included.
comment:9 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to reneeotten:
Replying to ballapete:
Replying to reneeotten: What is
boost
good for?Poppler
worked fine for decades without it…just look at the
boost
variant description, with that you know as much as I do...[+]boost: Use Boost when building the Splash graphics backend
I don't know what "Splash" is – if it's just a graphical splash screen then I can live without it. There is a command line in (almost all) Macs…
comment:10 Changed 3 years ago by reneeotten (Renee Otten)
Does the recent
port
version really know what it is doing and outputting?
I would assume so.
If you look at the full output instead of only grepping py39-, you will see that the python ports are being pulled in as a dependency for gobject-introspection
. I have no reason to assume that would be incorrect.
comment:11 follow-up: 12 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to reneeotten:
there are at least 100 ports doing this so that should work, provided that you put it inside the
boost
variant as it needs to have theboost
PG included.
Is this equivalent to Put it between lines #93 and #98 of Portfile!
?
comment:12 Changed 3 years ago by reneeotten (Renee Otten)
Replying to ballapete:
Replying to reneeotten:
there are at least 100 ports doing this so that should work, provided that you put it inside the
boost
variant as it needs to have theboost
PG included.Is this equivalent to
Put it between lines #93 and #98 of Portfile!
?
Yes exactly, it just has to come underneath the line (PortGroup boost 1.0
) where the portgroup is included.
comment:13 Changed 3 years ago by cjones051073 (Chris Jones)
Does boost176 still not build on old OSes following the change here
https://github.com/macports/macports-ports/commit/2f7c222384c558960d6093572b59918836d36974
If not please post a complete build log for boost176.
comment:14 Changed 3 years ago by cjones051073 (Chris Jones)
Cc: | cjones051073 added |
---|
comment:15 Changed 3 years ago by evanmiller (Evan Miller)
Cc: | evanmiller added |
---|
Changed 3 years ago by evanmiller (Evan Miller)
Attachment: | boost176-build-tiger-ppc-main.log added |
---|
Failing build log (10.4.11 / PowerPC)
comment:16 Changed 3 years ago by evanmiller (Evan Miller)
This commit will fix the Availability.h
errors if it can be backported to boost176. However, there is another error that will need to be addressed:
:info:build darwin.compile.c++ bin.v2/libs/nowide/build/darwin-7.5.0/release/threading-multi/visibility-hidden/cstdlib.o :info:build "/opt/local/bin/g++-mp-7" -fvisibility-inlines-hidden -Os -std=gnu++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -fPIC -m32 -O3 -Wall -fvisibility=hidden -dynamic -gdwarf-2 -fexceptions -Wno-inline -DBOOST_ALL_NO_LIB=1 -DBOOST_NOWIDE_DYN_LINK=1 -DBOOST_NOWIDE_NO_LFS -DNDEBUG -I"." -c -o "bin.v2/libs/nowide/build/darwin-7.5.0/release/threading-multi/visibility-hidden/cstdlib.o" "libs/nowide/src/cstdlib.cpp" :info:build libs/nowide/src/cstdlib.cpp: In function 'int boost::nowide::unsetenv(const char*)': :info:build libs/nowide/src/cstdlib.cpp:31:30: error: void value not ignored as it ought to be :info:build return ::unsetenv(key);
See attached log for complete context.
comment:17 Changed 3 years ago by kencu (Ken)
there have been no reports of issues with legacy_support_devel, so I'm going to push the Availabilty.h fix into legacy_support very shortly.
Then Tiger users will never see this Availabilty.h issue again (or at least the fix will trivial, adding the ubiquitous legacysupport PG).
Expecting upstreams to support 10.4 is pretty unrealistic, and now for this headache, at least, they will never have to again.
Probably we can also strip a lot of hacks out of our patchfiles, thank God...
comment:18 Changed 3 years ago by evanmiller (Evan Miller)
comment:19 Changed 3 years ago by michaelld (Michael Dickens)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Is this ticket still relevant? Looks like it was addressed. I'm closing as fixed. If not, please reopen and add info as to what's going on.
so the actual issue was with
boost176
and notpoppler
, in other words #63120? It seems that was fix and, therefore, this ticket can be closed - correct?