Changes between Version 2 and Version 3 of Ticket #63455, comment 14


Ignore:
Timestamp:
Jan 1, 2022, 1:37:39 AM (3 years ago)
Author:
kencu (Ken)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #63455, comment 14

    v2 v3  
    22> To avoid confusion, I proposed cleaning up the “allow newer libtool” patching: [https://github.com/macports/macports-ports/pull/13541]
    33
    4 There are many thousands of ports that build calling "{{{libtool"}}}.
     4There are many thousands of ports that build calling "{{{libtool}}}". About the only port that specifically forces {{{/usr/bin/libtool}}} is {{{mysql*}}}, which it should never have done.
    55
    6 About the only port that specifically forces {{{/usr/bin/libtool}}} is {{{mysql*}}}, which it should never have done, as there is no possibly way that {{{mysql*}}} could know which libtool is the proper one to use on darwin. By doing this forcing, they were already breaking a bunch of builds.
     6There is no possibly way that the {{{mysql*}}} dev team could know which libtool is the proper one to use on darwin. By doing this forcing, they were already breaking a bunch of builds.
    77
    8 So (IMHO) to avoid confusion, you might best revert your "cleanup" and put it back the way I fixed it, so that the first {{{libtool}}} in the path is used, not {{{/usr/bin/libtool}}}, which is the way the other 10,000 ports that use libtool on darwin are set up. Then our proper mechanisms work.
     8So you might best revert your cleanup and put it back the way I fixed it, so that {{{/usr/bin/libtool}}} is not inappropriately forced.
    99
    10 Sure, it should be upstreamed to get them to take out {{{/usr/bin/libtool}}} and just use {{{libtool}}} like everyone else. No idea why someone at {{{mysql}}} thought it would be a good idea to force {{{/usr/bin/libtool}}} in the first place -- a misguided attempt to fix something, I suspect.
    1110
    12 There is no need to specifically patch mysql to use {{{${prefix}/bin/libtool}}}, as our proper mechanisms will work, and the other 10,000 ports that use libtool are not so patched. It won't break anything, of course, at least not immediately, but it is, in it's own way, as wrong as mysql forcing {{{/usr/bin/libtool}}}. Just use {{{libtool}}} and all will be well.
     11It should be upstreamed to get them to take out {{{/usr/bin/libtool}}} and just use {{{libtool}}}.
    1312
    14 > but that made no difference to this problem.
    15 of course.
    16 
    17 I only notice that it prevents trace mode from saying:
    18 >
    19 > {{{
    20 > Warning: The following existing files were hidden from the build system by trace mode:
    21 > …
    22 >   /opt/local/bin/libtool
    23 > }}}
    24 
    25 As you would expect, if there is not a specified dep anywhere for cctools, then that file will be ignored.
     13There is no need to specifically patch mysql to use {{{${prefix}/bin/libtool}}}, as our proper mechanisms will work, and the other 10,000 ports that use libtool are not so patched. It won't break anything, at least not immediately, but it is, in it's own way, as wrong as mysql forcing {{{/usr/bin/libtool}}}. Just use {{{libtool}}} and all will be well.
    2614
    2715
    2816> because [122fca8e4617/macports-ports] was done without specifying cctools as a build dependency, meaning that using trace mode defeats the purpose of that change.
    2917
    30 That is not, in general, correct, although it may be correct now if we want to use cctools libtool on a system that doesn't use a macports-clang-* compiler.
    31 
    32 All older systems that use macports-clang-* already have added a dep for cctools as part of the use of macports-clang=*, as you can see here:
     18That is not, in general, correct. All older systems that use macports-clang-* already have added a dep for cctools as part of the use of macports-clang=*, as you can see here:
    3319
    3420https://ports.macports.org/port/clang-9.0/details/
    3521
    36 so the purpose of the change was not defeated in general. But it may now need to be extended.
     22so the purpose of the change was not defeated in general. But it may now need to be extended, and a newer libtool may be needed specifically for mysql. In which case it will need a dep added on cctools.
    3723
    3824
    3925> Similar patching is still done in e.g. mysql56 and mariadb; should those instead add cctools build dependency and patch to use `${prefix}/bin/libtool` on older systems?
    4026
    41 This is not needed, see above, the dep to cctools is already added by the macports-clang-* ports.
    42 
    43 https://ports.macports.org/port/clang-9.0/details/
     27No, this is not needed, see above, the dep to cctools is already added by the macports-clang-* ports.
    4428
    4529
    46 HOWEVER, there might now being something NEW going on.
     30What you may (or may not, we wait to see) have found here in this ticket appears to be that on some newer versions of macos (that are not presently using a macports-clang compiler to build mysql)  the {{{/usr/bin/libtool}}} fails when building mysql, but the libtool provided by cctools at {{{${prefix}/bin/libtool}}} does build it.
    4731
    48 What you may (or may not, we wait to see) have found here in this ticket appears to be that now some newer version of macos (that is not presently using a macports-clang compiler to build mysql)  has a {{{/usr/bin/libtool}}} that fails when building mysql, but the libtool provided by cctools at {{{${prefix}/bin/libtool}}} does build it. Although above you say you don't agree that this is the case, it seems to be the case, and we await more information about whether it is or is not the case that the libtool from cctools works but the libtool at /usr/bin/libtool does not work.
    49 
    50 So some newer systems might now need to be coerced to use this newer libtool as well as the older systems that were already using it.
    51 
    52 That new information would mean adding a dep on cctools to such systems in mysql (which would be redundant for systems that build using a macports-clang compiler, but that's fine), and again putting back the fix to stop mysql from using the (always) wrong {{{/usr/bin/libtool}}}.
     32That new information might mean adding a dep on cctools to such systems in mysql (which would be redundant for systems that build using a macports-clang compiler, but that's fine), and again putting back the fix to stop mysql from forcing the use of  {{{/usr/bin/libtool}}}.