libtorrent-rasterbar fails to install during an update attempt

2023-03-15 Thread Kenneth Wolcott
port outdated
The following installed ports are outdated:
libtorrent-rasterbar   2.0.8_0 < 2.0.8_1
Downloads: sudo port -v -s upgrade outdated
--->  Computing dependencies for libtorrent-rasterbar.
--->  Configuring libtorrent-rasterbar
Error: Failed to configure libtorrent-rasterbar: boost176 must be
installed with +python311.
Error: See 
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libtorrent-rasterbar/libtorrent-rasterbar/main.log
for details.
Error: Follow https://guide.macports.org/#project.tickets if you
believe there is a bug.

A small log file is attached.

This is mostly an FYI because I'm not sure if I even need this port,
although *something* needs it.

Thanks,
Ken Wolcott


libtorrent-rasterbar_main.log.xz
Description: application/xz


Re: [mysterious owner of 'libc++.1.dylib']

2023-03-15 Thread Clemens Lang
Hi,

On Wed, Mar 15, 2023 at 06:00:44PM +, Maxim Abalenkov wrote:
> Further inquiry with ‘pkgutil’ doesn’t shed more light either:
> 
>   pkgutil --file-info "/usr/lib/libc++.1.dylib"
>   volume: /
>   path: /usr/lib/libc++.1.dylib
> 
> Would you please tell me, who is the mysterious owner of the ‘libc++’?

It is provided by the Operating System, except you cannot see it in the
filesystem. This is a trick that Apple has started with one of its
recent OS releases, where you can link against libraries that do not
exist in the filesystem, but the dynamic loader dyld(1) still knows
where to find them.

See for example, otool -L /bin/bash, which tells you that it links
against /usr/lib/libncurses.5.4.dylib and /usr/lib/libSystem.B.dylib,
none of which exist on your system.

When compiling, Apple's compiler will search a MacOS SDK for this
library. For example, the definition of libc++.1.dylib required by the
compiler is at

  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libc++.1.tbd

You'll notice that this isn't a library either – it's a text file with
some metadata about the real libc++.1.dylib. Apple's clang compiler
still knows how to deal with this file format, and can link against the
library, despite it not existing on disk.


> libcxx @5.0.1_5 (lang)
> libc++ is a new implementation of the C++ standard library with support 
> for C++11 and portions of C++14.
> 
> macports-libcxx @11.1.0 (lang)
> provides a newer libc++ from llvm for older systems

Those are indeed other versions of that same libc++ you are looking for.
These ports are only useful on older macOS versions that do not yet have
their own copy of libc++, though. You should never install them on
modern macOS, and you should not need to.


HTH,
Clemens


Re: [mysterious owner of 'libc++.1.dylib']

2023-03-15 Thread Bill Cole

On 2023-03-15 at 14:00:44 UTC-0400 (Wed, 15 Mar 2023 18:00:44 +)
Maxim Abalenkov 
is rumored to have said:


Dear all,

I need help please. I’m compiling a C/C++ code base with clang++ 
compiler installed via MacPorts. When I look at the libraries my 
executable relies on I see:


  otool -L 
  /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current 
version 1300.36.0)


What macOS version? I'm guessing Ventura...

That file doesn't exist on Big Sur (where there is a libc++.dylib 
elsewhere)  but it does on El Cap, where it is (sensibly) part of the 
base OS. I suspect that the version there is an indicator of macOS 13.



However, when I try to find out what package owns this library:

  sudo port provides "/usr/lib/libc++.1.dylib"
  /usr/lib/libc++.1.dylib does not exist.


Yes. MacPorts doesn't install libraries into /usr/lib. That would be 
bad.



Further inquiry with ‘pkgutil’ doesn’t shed more light either:

  pkgutil --file-info "/usr/lib/libc++.1.dylib"
  volume: /
  path: /usr/lib/libc++.1.dylib


Interesting. On my El Cap machine pkgutil shows that 
com.apple.pkg.Essentials and multiple com.apple.pkg.update.10.11.* 
packages included a file with that path.


Would you please tell me, who is the mysterious owner of the 
‘libc++’?


It is part of macOS itself. Specifically, it is the implementation of 
the standard C++ library developed by the LLVM project, which is used by 
the clang++ compiler.




--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire


[mysterious owner of 'libc++.1.dylib']

2023-03-15 Thread Maxim Abalenkov
Dear all,

I need help please. I’m compiling a C/C++ code base with clang++ compiler 
installed via MacPorts. When I look at the libraries my executable relies on I 
see:

  otool -L 
  /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
1300.36.0)

However, when I try to find out what package owns this library:

  sudo port provides "/usr/lib/libc++.1.dylib"
  /usr/lib/libc++.1.dylib does not exist.

Further inquiry with ‘pkgutil’ doesn’t shed more light either:

  pkgutil --file-info "/usr/lib/libc++.1.dylib"
  volume: /
  path: /usr/lib/libc++.1.dylib

Would you please tell me, who is the mysterious owner of the ‘libc++’?

Looking for libc++ in the names of ports returns the following list:

sudo port search libc++
gcc-devel-libcxx @13-20230226_1 (lang)
libc++ header implementation to be used by gcc-devel

gcc10-libcxx @10.4.0_5 (lang)
libc++ header implementation to be used by gcc10

gcc11-libcxx @11.3.0_6 (lang)
libc++ header implementation to be used by gcc11

gcc12-libcxx @12.2.0_4 (lang)
libc++ header implementation to be used by gcc12

libcxx @5.0.1_5 (lang)
libc++ is a new implementation of the C++ standard library with support for 
C++11 and portions of C++14.

macports-libcxx @11.1.0 (lang)
provides a newer libc++ from llvm for older systems

Found 6 ports.

—
Best wishes,
Maxim

Maxim Abalenkov \\ maxim.abalen...@gmail.com
+44 7 486 486 505 \\ www.maxim.abalenkov.uk

Setting environment and support of older OS/arch

2023-03-15 Thread Eckard Brauer

(1) How is it possible to not only set a compiler using "port select",
but add some -I directives too?

Problem is that, using Tiger 10.5.8, nearly every relevant thing is
below /opt/local (e.g. STL), but gcc consequently takes include files
from /usr/include, so compilation will fail often.

A maybe clearer variant of this question would be: Is it possible to
replace (better: overlay in the sense of an overlay fs) system tools
with those from macpports, as the current strategy seems to enforce
consequent confusion?

(2) As ports is of course more focused on recent OS', is/are there (a)
branch(es) or related project(s) focusing on support of older ones?
Maybe that could make things easier, even with the risk of drifting
apart, but either I'm still ignorantly missing that, or there's none...

Thanks in advance,
Eckard