#63150 closed defect (fixed)
mkvtoolnix @58.0.0_0+qtgui: build fails during configure
Reported by: | klanchman (Kyle Lanchman) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | Tatsh (Andrew Udvare), MaddTheSane (C.W. Betts), i0ntempest | |
Port: | mkvtoolnix |
Description
When upgrading from mkvtoolnix 57 to 58, compilation fails at the configure step due to seemingly missing Boost prerequisites:
:info:configure configure: error: Boost's multi-precision library is required but wasn't found
However, the boost176
port is installed and I see a directory that seems related, /opt/local/libexec/boost/1.76/include/boost/multiprecision/
.
Environment details:
- macOS 11.4 (20F71)
- Xcode 12.5.1 (12E507) - installed at nonstandard path
/Applications/Xcode/Xcode_12.5.1.app
- 3 different machines, all with Intel CPUs
Attachments (2)
Change History (13)
Changed 3 years ago by klanchman (Kyle Lanchman)
Changed 3 years ago by klanchman (Kyle Lanchman)
Attachment: | config.log added |
---|
comment:1 Changed 3 years ago by jmroot (Joshua Root)
Port: | mkvtoolnix added |
---|
comment:2 follow-up: 4 Changed 3 years ago by mouse07410 (Mouse)
comment:3 Changed 3 years ago by klanchman (Kyle Lanchman)
Thanks, I just gave that a try but unfortunately I got the same error.
I found a workaround for now: a previous revision of v58 works if I check it out and install it manually. The log snippet in the GitHub comment matches mine when using the latest revision, which removed the extra flag.
comment:4 Changed 3 years ago by reneeotten (Renee Otten)
Replying to mouse07410:
In addition to installing the
boost176
port you need to install theboost
port. It provides the symlinks from the actual location ofboost176
to the "expected" location (/opt/local/include
and such) .I had both, then somehow
boost
port disappeared. Stuff that relied on Boost stopped working until I remedied it by gettingboost
port back.
No, your suggestion here is incorrect. The "original" boost
port will disappear eventually (it provides version 1.71 and there are no "symlinks" or anything happening therre) and pretty much all ports have migrated to use the boost
PG. Currently, different versions of boost
can be installed simultaneously and ports can depend on whichever version they need. But... you should not need the boost
port anymore and installing that to "solve" a problem will not work.
This port depends on boost176
which is the latest upstream version. If that is actually the issue in that it doesn't build with the latest version, then it can be told to use boost171
instead.
comment:5 Changed 3 years ago by reneeotten (Renee Otten)
see also the comments on the commit that update to version 58.0.
Why the setting of the standard was removed in this commit, while it it was known that that would cause the build error is a good question...
comment:6 Changed 3 years ago by mouse07410 (Mouse)
No, your suggestion here is incorrect. The "original" boost port will disappear eventually (it provides version 1.71 and there are no "symlinks" or anything happening therre) and pretty much all ports have migrated to use the boost PG. Currently, different versions of boost can be installed simultaneously and ports can depend on whichever version they need. But... you should not need the boost port anymore and installing that to "solve" a problem will not work.
I have some code that uses Boost. This symlink
$ ll /opt/local/include/boost lrwxr-xr-x 1 root admin 43 Jun 26 02:32 /opt/local/include/boost@ -> /opt/local/libexec/boost/1.76/include/boost $
appeared only after installing the port boost
in addition to boost176
.
From description of the boost
port:
This port is just a shim port, installing symbolic links to the include area and libraries provided by the boost176 port.
comment:7 Changed 3 years ago by reneeotten (Renee Otten)
right, sorry... I must have missed that last change to the boost
port. I indeed see that you're correct in that it installs symlinks. Regardless, ideally it shouldn't be required to get other ports to build - likely the mkvtoolnix
port just needs to be told more specifically where to find the stuff installed by the boost176
port.
comment:8 Changed 3 years ago by Tatsh (Andrew Udvare)
Cc: | Tatsh added |
---|
comment:9 Changed 3 years ago by MaddTheSane (C.W. Betts)
Cc: | MaddTheSane added |
---|
comment:10 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | i0ntempest added |
---|
As far as I know, when I last touched this port, it worked. If someone else has broken it in the mean time, I would appreciate it if someone else would fix it.
comment:11 Changed 3 years ago by i0ntempest
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Should be fixed in [ab28a47801746092cbfa777d2f2019e0d7d5abad/macports-ports] by adding that cxxflag back. Not shown here because apparently MP website was having issues at the time I pushed it.
Also unrelated to this ticket, v59 is out and it now requires Qt regardless if GUI is built or not, and needs new configure args when not using +qtgui variant. Since we have multiple versions in the portfile we can't just change configure args for all of them. I'll leave it to the maintainer to decide which way is the best.
In addition to installing the
boost176
port you need to install theboost
port. It provides the symlinks from the actual location ofboost176
to the "expected" location (/opt/local/include
and such) .I had both, then somehow
boost
port disappeared. Stuff that relied on Boost stopped working until I remedied it by gettingboost
port back.