Portfile question for 10.6.8

Ken Cunningham ken.cunningham.webuse at gmail.com
Tue Jun 6 15:46:56 UTC 2023


it looks like the legacy support library is not being included in the link.

This is common when only scripts are used, as there are many flags that might not be considered.

If you run the build on 10.6 using some extra verbosity flags like "-d" it will show you all the ENVVARs and LDFLAGS etc that macports sets. You should see the ones your script needs to account for in that list to get the proper legacysupport library on the link line.

K



> On Jun 6, 2023, at 7:44 AM, raf via macports-users <macports-users at lists.macports.org> wrote:
> 
> On Tue, Jun 06, 2023 at 11:52:26PM +1000, raf <macports at raf.org> wrote:
> 
>> Hi, I'm writing a Portfile, and I have two macOS
>> systems to test it on: 10.6.8 and 10.14.6. Both have
>> macports-2.8.1.
>> 
>> I'm having trouble getting it working on macos-10.6.8.
>> It doesn't know where to download the tarball from.
>> 
>> This is the Portfile (minus blank lines):
>> 
>>  # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
>>  PortSystem          1.0
>>  PortGroup           legacysupport 1.0
>>  #PortGroup           github 1.0
>>  PortGroup           makefile 1.0
>>  # Need openat(), unlinkat(), fdopendir()
>>  legacysupport.newest_darwin_requires_legacy 13
>>  name                rawhide
>>  version             3.1
>>  #github.setup raforg rawhide 3.1 v
>>  #github.tarball_from releases
>>  revision            0
>>  categories          sysutils
>>  platforms           darwin
>>  license             GPL-3+
>>  maintainers         raf.org:raf
>>  description         (rh) find files using pretty C expressions
>>  long_description    (rh) An alternative to find(1) that is more fun to use
>>  homepage            https://raf.org/rawhide/
>>  master_sites        ${homepage}download/
>>  checksums           rmd160 230300b186a02dc5f2406b15f26a2d3e640b3a51 \
>>                      sha256 f495311262b44d3b55ba301f8367c65fbfc075f09d6fce4018a5e5e0588cc6fa \
>>                      size 272193
>>  depends_lib         port:pcre2 port:libmagic
>>  # Only a script, not a real configure.
>>  use_configure       yes
>>  destroot.destdir    PREFIX=${destroot}${prefix}
>>  configure.args      --macports
>>  build.target        rh
>>  livecheck.type      regex
>>  livecheck.url       ${master_sites}
>>  livecheck.regex     ${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}
>> 
>> It works on 10.14.6, but on 10.6.8, it guesses a bunch of download locations:
>> 
>>> sudo port install rawhide
>>  Portfile changed since last build; discarding previous state.
>>  --->  Computing dependencies for rawhide
>>  --->  Fetching distfiles for rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from https://raf.org/rawhide/download/
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://aarnet.au.distfiles.macports.org/pub/macports/distfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://jog.id.distfiles.macports.org/macports/distfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://kmq.jp.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://mirror.fcix.net/macports/distfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://cjj.kr.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://ywg.ca.distfiles.macports.org/mirror/macports/distfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://pek.cn.distfiles.macports.org/macports/distfiles/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://fra.de.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://ema.uk.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://cph.dk.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://fco.it.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://mse.uk.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://nue.de.distfiles.macports.org/rawhide
>>  --->  Attempting to fetch rawhide-3.1.tar.gz from http://atl.us.distfiles.macports.org/rawhide
>>  Error: Failed to fetch rawhide: The requested URL returned error: 404
>>  Error: See /opt/local/var/macports/logs/_Users_raf_macports_ports_sysutils_rawhide/rawhide/main.log for details.
>>  Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
>>  Error: Processing of port rawhide failed
>> 
>> I don't know why it tried distfiles.macports.org/rawhide first,
>> or why it didn't find https://raf.org/rawhide/download/rawhide-3.1.tar.gz
>> 
>> I then tried using "PortGroup github 1.0" (and commenting out name and version and
>> uncommenting github.setup and github.tarball_from), but it behaved the same way.
>> 
>> Any suggestions? Mind you, I'm expecting possible trouble compiling it on 10.6.8
>> when it does successfully download, but the legacysupport port group is supposed to
>> help (copied from bfs which uses it to access the same syscalls).
>> 
>> Ah, it's probably just TLS 1.0 not being supported by my website or github.
>> 
>> Maybe it'll work if the tarball ever makes it to http://distfiles.macports.org.
>> How does that happen?
>> 
>> Assuming it will happen eventually, how can I tell it to use a local copy of the
>> distfile for the moment, just for the purpose of testing the compilation on 10.6.8?
>> Maybe I need to set up a temporarily non-https website to download it from.
>> 
>> And is there anything else I've done wrong? I haven't done this before.
>> 
>> cheers,
>> raf
> 
> I set up a non-https server to get around the download problem,
> and now I'm getting compile errors on 10.6.8:
> 
>  Undefined symbols for architecture x86_64:
>    "_fstatat", referenced from:
>        _prepare_target in rhcmds.o
>        _rawhide_traverse in rhdir.o
>    "_faccessat", referenced from:
>        _c_readable in rhcmds.o
>        _c_writable in rhcmds.o
>        _c_executable in rhcmds.o
>    "_openat", referenced from:
>        _get_dirsize in rhcmds.o
>        _rawhide_traverse in rhdir.o
>    "_readlinkat", referenced from:
>        _read_symlink in rhcmds.o
>        _visitf_default in rhdir.o
>    "_fdopendir$INODE64", referenced from:
>        _get_dirsize in rhcmds.o
>        _rawhide_traverse in rhdir.o
>    "_unlinkat", referenced from:
>        _visitf_unlink in rhdir.o
>  ld: symbol(s) not found for architecture x86_64
>  clang: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Any advice? I thought the following would work because it's what bfs uses
> and it compiles on 10.6.8:
> 
>   PortGroup           legacysupport 1.0
>   legacysupport.newest_darwin_requires_legacy 13
> 
> cheers,
> raf
> 



More information about the macports-users mailing list