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: Thu, 23 Nov 2023 09:45:15 -0600	[thread overview]
Message-ID: <9b103c9c-e801-41c9-8aa9-68c79605d0f2@posixcafe.org> (raw)
In-Reply-To: <27cc76d2-c331-45bf-88f5-e833acae4df7@fjrhome.net>

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 15:48 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 [this message]
2023-11-23 23:09       ` Frank D. Engel, Jr.
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=9b103c9c-e801-41c9-8aa9-68c79605d0f2@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).