9front - general discussion about 9front
 help / color / mirror / Atom feed
From: Jacob Moody <moody@posixcafe.org>
To: 9front@9front.org
Subject: Re: [9front] Build Errors
Date: Fri, 24 Nov 2023 14:49:45 -0600	[thread overview]
Message-ID: <d2090e0a-0265-4af7-9702-019697272b6d@posixcafe.org> (raw)
In-Reply-To: <2f8becfb-1f11-4bca-8c52-e23938c8c759@fjrhome.net>

Hmm it seems that something has indeed gone
amok with your git repo, I have not been able
to reproduce this when updating old machines
but it seems consistent for you. In this case I
might suggest boot-strapping a known good ".git"
along with git binaries and scripts, then using that
to evaluate what state the botched sysupdate has left you in.

For this event you can use the nightly iso 9p fs:

; 9fs iso.only9fans.com /n/iso

for grabbing clean files from.


Sorry you've run in to these issues.

On 11/23/23 17:09, Frank D. Engel, Jr. wrote:
> 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-24 20:52 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.
2023-11-24 20:49         ` Jacob Moody [this message]

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=d2090e0a-0265-4af7-9702-019697272b6d@posixcafe.org \
    --to=moody@posixcafe.org \
    --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).