9front - general discussion about 9front
 help / color / mirror / Atom feed
From: "Frank D. Engel, Jr." <fde101@fjrhome.net>
To: 9front@9front.org
Subject: Re: [9front] Build Errors
Date: Thu, 23 Nov 2023 18:09:33 -0500	[thread overview]
Message-ID: <2f8becfb-1f11-4bca-8c52-e23938c8c759@fjrhome.net> (raw)
In-Reply-To: <9b103c9c-e801-41c9-8aa9-68c79605d0f2@posixcafe.org>

Interesting... no, it was not.

I went to the web interface for 9front git and tracked down that file 
and created the file from what I found there.

After that I did another mk nuke; mk libs, fixed a syntax error (missing 
newline at the end of the file I created), and was able to follow 
through the rest of your instructions (correcting ../cmd/7c to ../7c) 
until it failed again on putndb:


7c -FTVw ipv6.c
7c -FTVw ppp.c
dhcp.c:290 not enough function arguments: putndb
mk: 7c -FTVw dhcp.c  : exit status=rc 2019648: 7c 2019655: error
mk: for (i in ...  : exit status=rc 2019353: rc 2019643: mk 2019645: error
mk: for(i in 1a ...  : exit status=rc 2010989: rc 2019256: mk 2019258: error
mk: mk $MKFLAGS all.dirs  : exit status=rc 2010967: mk 2010969: error
mk: date for (i ...  : exit status=rc 2002103: rc 2009943: mk 2009944: error


It occurred to me that I also have my standalone auth server to update.  
I tried running sysupdate on that and the sysupdate wouldn't even complete:


57f22f910c897fe3f07b88b1b7f1e62830115262 libmach: add DPPD decoding for 
amd64
474c03a439abac401dd71719de48631b9b3b8781 libmach: add HSUBPD decoding 
for amd64
970d3b7eb7dc56aa84924dd68c4c39fd1df5d1f5 git/walk: skip all paths with 
'.git/' when creating the index
remotes/THEM/front: c5cf9b3e26033272c5f57b9a860c335e63786045 => 
970d3b7eb7dc56aa84924dd68c4c39fd1df5d1f5
cp: can't create sys/man/8/acmed: 'sys/man/8/acmed' permission denied
/bin/sysupdate:9: e:: './e:' not found
/bin/sysupdate:12: `if not' does not follow `if(...)'
cpu% sysupdate
up to date



I did check and whatever state this happens to be in, that same file is 
missing on that system also:


cpu% ls /sys/src/libc/arm64/sqrt.s
ls: /sys/src/libc/arm64/sqrt.s: '/sys/src/libc/arm64/sqrt.s' does not exist
cpu%



On 11/23/23 10:45, Jacob Moody wrote:
> On 11/23/23 09:32, Frank D. Engel, Jr. wrote:
>> Thanks.
>>
>> I tried mk nuke followed by mk libs and it came back to the same error
>> related to sqrt.7; git/diff was telling me it was not a git repository,
>> so taking a cue from the sysupdate script, I tried this:
>>
>> rfork en
>>
>> cd /
>>
>> bind -ac /dist/plan9front /
>>
>> cd sys/src/libc
>>
>> git/diff
>>
>>
>> That git/diff command produced no output.
> Is your /sys/src/libc/arm64/sqrt.s there?
>
> cpu% sha1sum /sys/src/libc/arm64/sqrt.s
> e7b293090682ab5576a1fb47f13850c4eda8d667	/sys/src/libc/arm64/sqrt.s
>
> The complaint it's giving you is that it can't make sqrt.7 which means
> it can't find sqrt.s, which makes me question that git/diff output.
>
>>
>> On 11/23/23 09:47, Jacob Moody wrote:
>>> On 11/23/23 06:25, Frank D. Engel, Jr. wrote:
>>>> It has admittedly been a while since I last did a sysupdate on my 9front
>>>> Pi cluster, but after the release announcement jogged my memory to go
>>>> back and do this, I ran into some build errors.
>>>>
>>>> I did an mk clean to get a clean start on the builds but am still
>>>> hitting errors no matter which path I take.
>>> This new release was done in part due to the above average amount
>>> of breakage via a naive sysupdate. Notes in line on how to get unstuck.
>>>
>>>> For mk kernels it is ending here:
>>>>
>>>>
>>>> 7c -FTVw -I. ../port/devcap.c
>>>> 7c -FTVw -I. ../port/devproc.c
>>>> 7c -FTVw devrtc.c
>>>> ../ip/ethermedium.c:726 too many function arguments: icmpna6
>>>> ../ip/ethermedium.c:740 too many function arguments: icmpns6
>>> This "too many function arguments" or "not enough function arguments"
>>> is usually evidence that the library has updated and needs rebuilt from
>>> scratch. You can do this via mk nuke.
>>>
>>>> mk: 7c -FTVw -I. ../ip/ethermedium.c  : exit status=rc 1979947: 7c
>>>> 1979949: error
>>>> file system made
>>>> mk: for(i in arm64 ...  : exit status=rc 1979801: rc 1979803: mk
>>>> 1979804: error
>>>> mk: for (i in ...  : exit status=rc 1978206: rc 1978208: mk 1979800: error
>>>>
>>>>
>>>>
>>>> For mk all (building for arm64, the platform it is running on):
>>>>
>>>>
>>>> a - runeistype.7
>>>> a - runenorm.7
>>>> a - runetotype.7
>>>> arm64
>>>> 7a  getcallerpc.s
>>>> 7a  getfcr.s
>>>> 7a  main9.s
>>>> 7a  main9p.s
>>>> mk: no recipe to make 'sqrt.7' in directory /sys/src/libc/arm64
>>> This one is a bit strange, I recommend checking git/diff for libc and
>>> ensuring you don't have any files missing.
>>>> mk: for(i in 9sys ...  : exit status=rc 1980048: rc 1980626: mk 1980628:
>>>> error
>>>> mk: date for (i ...  : exit status=rc 1979980: rc 1980046: mk 1980047: error
>>>>
>>>>
>>>>
>>>> For objtype=amd64 mk all it is ending here:
>>>>
>>>>
>>>> mk dhcpd
>>>> mk: 'all' is up to date
>>>> mk httpd
>>>> mk: 'all' is up to date
>>>> mk ipconfig
>>>> 6c -FTVw dhcp.c
>>>> dhcp.c:290 not enough function arguments: putndb
>>> Needs a mk nuke
>>>
>>>> mk: 6c -FTVw dhcp.c  : exit status=rc 1983177: 6c 1983179: error
>>>> mk: for (i in ...  : exit status=rc 1983160: rc 1983174: mk 1983176: error
>>>> mk: for(i in 1a ...  : exit status=rc 1982313: rc 1983157: mk 1983159: error
>>>> mk: mk $MKFLAGS all.dirs  : exit status=rc 1982292: mk 1982294: error
>>>> mk: date for (i ...  : exit status=rc 1980646: rc 1982272: mk 1982273: error
>>>>
>>>>
>>>>
>>>> I also tried objtype=mips mk all as an additional reference point due to
>>>> the inconsistency in the errors I am seeing:
>>>>
>>>>
>>>> vl -o v.dhcpd dhcpd.v db.v ndb.v ping.v
>>>> vl -o v.dhcpleases dhcpleases.v db.v ping.v
>>>> mk httpd
>>>> vl  -o v.imagemap imagemap.v libhttps.av
>>>> vl  -o v.man2html man2html.v libhttps.av
>>>> vl  -o v.save save.v libhttps.av
>>>> mk ipconfig
>>>> vc -FTVw dhcp.c
>>>> dhcp.c:290 not enough function arguments: putndb
>>> Same as above, needs a mk nuke.
>>>
>>>> mk: vc -FTVw dhcp.c  : exit status=rc 1985713: vc 1985715: error
>>>> mk: for (i in ...  : exit status=rc 1985673: rc 1985710: mk 1985712: error
>>>> mk: for(i in 1a ...  : exit status=rc 1984844: rc 1985670: mk 1985672: error
>>>> mk: mk $MKFLAGS all.dirs  : exit status=rc 1984822: mk 1984824: error
>>>> mk: date for (i ...  : exit status=rc 1983184: rc 1984801: mk 1984802: error
>>>>
>>>>
>>> Additionally there was a compiler and linker update for arm64 specifically
>>> that must be applied in order. 7l must be updated before 7c. With all that said
>>> this is the steps I would take to rebuild. I can confirm that from a clean repo
>>> the arm64 build works just fine, for what that's worth.
>>>
>>> cd /sys/src/
>>> mk nuke
>>> mk libs
>>> cd cmd/7l
>>> mk install
>>> cd ../cmd/7c
>>> mk install
>>> cd ../..
>>> mk install
>>>
>>>
>


  reply	other threads:[~2023-11-23 23:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-23 12:25 Frank D. Engel, Jr.
2023-11-23 14:47 ` Jacob Moody
2023-11-23 15:32   ` Frank D. Engel, Jr.
2023-11-23 15:45     ` Jacob Moody
2023-11-23 23:09       ` Frank D. Engel, Jr. [this message]
2023-11-24 20:49         ` Jacob Moody

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2f8becfb-1f11-4bca-8c52-e23938c8c759@fjrhome.net \
    --to=fde101@fjrhome.net \
    --cc=9front@9front.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).