9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] Build Errors
@ 2023-11-23 12:25 Frank D. Engel, Jr.
  2023-11-23 14:47 ` Jacob Moody
  0 siblings, 1 reply; 6+ messages in thread
From: Frank D. Engel, Jr. @ 2023-11-23 12:25 UTC (permalink / raw)
  To: 9front

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.


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
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
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
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
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






^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] Build Errors
  2023-11-23 12:25 [9front] Build Errors Frank D. Engel, Jr.
@ 2023-11-23 14:47 ` Jacob Moody
  2023-11-23 15:32   ` Frank D. Engel, Jr.
  0 siblings, 1 reply; 6+ messages in thread
From: Jacob Moody @ 2023-11-23 14:47 UTC (permalink / raw)
  To: 9front

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] Build Errors
  2023-11-23 14:47 ` Jacob Moody
@ 2023-11-23 15:32   ` Frank D. Engel, Jr.
  2023-11-23 15:45     ` Jacob Moody
  0 siblings, 1 reply; 6+ messages in thread
From: Frank D. Engel, Jr. @ 2023-11-23 15:32 UTC (permalink / raw)
  To: 9front

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.


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
>
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] Build Errors
  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.
  0 siblings, 1 reply; 6+ messages in thread
From: Jacob Moody @ 2023-11-23 15:45 UTC (permalink / raw)
  To: 9front

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
>>
>>
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] Build Errors
  2023-11-23 15:45     ` Jacob Moody
@ 2023-11-23 23:09       ` Frank D. Engel, Jr.
  2023-11-24 20:49         ` Jacob Moody
  0 siblings, 1 reply; 6+ messages in thread
From: Frank D. Engel, Jr. @ 2023-11-23 23:09 UTC (permalink / raw)
  To: 9front

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
>>>
>>>
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] Build Errors
  2023-11-23 23:09       ` Frank D. Engel, Jr.
@ 2023-11-24 20:49         ` Jacob Moody
  0 siblings, 0 replies; 6+ messages in thread
From: Jacob Moody @ 2023-11-24 20:49 UTC (permalink / raw)
  To: 9front

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
>>>>
>>>>
>>
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-11-24 20:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-23 12:25 [9front] Build Errors 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 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).