From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader01.eternal-september.org!aioe.org!lYnhq7byp2KtY/MFJZaCTw.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: components_4_64 Test_Python fails on Mac Monterey Date: Fri, 21 Oct 2022 22:00:16 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <313fb3bf-8158-32fd-910d-2fbc9c257ac9@dmitry-kazakov.de> <984400a0-754f-46b9-9a5e-ee2df7bbdd37n@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="26682"; posting-host="lYnhq7byp2KtY/MFJZaCTw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:64538 List-Id: On 2022-10-21 21:41, Simon Wright wrote: > "Dmitry A. Kazakov" writes: > >> On 2022-10-21 19:04, Simon Wright wrote: >>> "Dmitry A. Kazakov" writes: >>> >>>> This selects py-load_python_library.adb from os/pthread which is just >>>> a copy of os/linux. Likely there are differences between Linux and >>>> OSX. >>> dlopen() would need to see e.g. >>> $FRAMEWORKS/Python.framework/Python/Versions/3.8/lib/libpython3.8.dylib >>> where $FRAMEWORKS would normally be /Library/Frameworks but, in >>> Roger's >>> case (running Homebrew), would be $HOMEBREW_PREFIX/Frameworks (Roger >>> might have frameworks scattered bewtween the two places, for added fun). >> >> Thanks Simon. >> >> Is the variable $FRAMEWORKS set or I have to search a whole set of >> subdirectories? > > It's not set; I'm not sure what the Homebrew version would look like, > but it's probably like /Library/Frameworks. And I left out Current, > which chooses between e.g. 3.8, 3.9. > > libpython := ''; > find_libpython: > for top in $HOMEBREW_PREFIX/Frameworks, /Library/Frameworks loop > if exists $top/Python then > libpython := $top/Python/Versions/Current/lib/libpython*.dylib; > exit find_libpython; > end if; > end loop find_libpython; > fail if libpython is still '' > > ========== > > There is another macOS package manager, MacPorts, but I've settled on > Homebrew. I researched a little bit. Mac's Python is even more messy than Windows' one. That is an achievement of its own! (:-)) So far I come to the list /usr/lib /Library/Frameworks/Python.framework/Versions /sw/lib /opt/lib /opt/homebrew/lib each to be searched recursively for the name: libpython3.*.dylib P.S. It seems that I must check Julia bindings as well. So far it looks so that nobody ever used them on Mac. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de