Eigenstate: myrddin-dev mailing list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build errors. Again.


So, I tweaked sysselect.sh, and came up with the following patch:

diff --git a/sysselect.sh b/sysselect.sh
index 332abd6..d7ccd76 100755
--- a/sysselect.sh
+++ b/sysselect.sh
@@ -22,25 +22,21 @@ if test -f "$1+$sys-$arch.myr"; then
  echo "$1+$sys-$arch.myr"
 elif test -f $1+$posixy-$arch.myr; then
  echo $1+$posixy-$arch.myr
+elif test -f $1+$posixy-$sys.myr; then
+ echo $1+$posixy-$sys.myr
 elif test -f "$1+$sys.myr"; then
- echo "$1+$sys-$arch.myr"
-elif test -f $1+$posixy.myr; then
- echo $1+$posixy-$arch.myr
-elif test -f "$1+$sys.myr"; then
- echo "$1+$sys-$arch.myr"
+ echo "$1+$sys.myr"
 elif test -f $1+$posixy.myr; then
- echo $1+$posixy-$arch.myr
+ echo $1+$posixy.myr

-elif test -f "$1+$sys-$arch.s"; then
- echo "$1+$sys-$arch.s"
+elif test -f "$1+$sys.s"; then
+ echo "$1+$sys.s"
 elif test -f $1+$posixy-$arch.s; then
  echo $1+$posixy-$arch.s
-elif test -f "$1+$sys.s"; then
+elif test -f "$1+$sys-$arch.s"; then
  echo "$1+$sys-$arch.s"
-elif test -f $1+$posixy.s; then
+elif test -f $1+$posixy-$arch.s; then
  echo $1+$posixy-$arch.s
-elif test -f "$1+$sys.s"; then
- echo "$1+$sys-$arch.s"
 elif test -f $1+$posixy.s; then
- echo $1+$posixy-$arch.s
+ echo $1+$posixy.s
 fi


Some of conditions were a little unbalanced.

Now, there was only more error:

...
../6/6m -I . install.myr
../6/6m -I . clean.myr
../6/6m -I . test.myr
../6/6m -I . main.myr
main.myr:102: Undeclared var std.getcwd
make: *** [buildmyr] Error 1

However, I simply deleted my installed libstd and it worked.

So, two issues:

1. sysselect.sh conditionals messed up.
2. An installed libstd affects the build.

I was going to try to fix the latter, but, looking main.c, it seems that
the install directory is always appended lastly to the incdirs list. Weird.

Anyway, now Myrddin builds! Thanks for the help!


On Fri, Jun 19, 2015 at 5:05 PM, Ori Bernstein <ori@xxxxxxxxxxxxxx> wrote:

> The way that the build continues after the error says that it's trying to
> run the bootstrap script,
> which (these days) lives in bld/bootstrap/bootstrap-$SYS.myr, and is
> kicked off whenever mbld
> fails. (I should probably change that.)
>
> So, first off:
>
> >  ... lots of other output...
>
> The actual mbld failure is probably buried in there -- there were a number
> of changes, so it's probably
> not recognizing either a new build attribute or target type (IIRC, I
> changed up 'gen' targets a bit recently).
>
> Now, as far as the fallback failing: The syserrno+foo.myr is selected from
> the base name 'syserrno'
> using sysselect.sh; what happens if you run:
>
>       cd libstd
>       ../sysselect.sh syserrno
>
> It looks like it's adding a spurious '+x64' to some files, which is
> causing issues. I'm a bit confused about
> why, because it definitely checks for whether the files exist.
>
> Assuming that gives the wrong file, you can either try fixing it, or if
> you have trouble fixing the hack
> bit, it's probably not too hard to just edit the bootstrap script to
> hardcode files that actually exist.
>
> (I should probably drop sysselect.sh and just generate the bootstrap
> scripts with hardcoded names;
> it's been flaky in the past.)
>
>
> > On Jun 19, 2015, at 10:46 AM, Ryan Gonzalez <rymg19@xxxxxxxxx> wrote:
> >
> > Unable to open file syserrno+linux-x64.myr
> >
>
>
>


-- 
Ryan
[ERROR]: Your autotools build scripts are 200 lines longer than your
program. Something’s wrong.
http://kirbyfan64.github.io/

Follow-Ups:
Re: Build errors. Again.Ori Bernstein <ori@xxxxxxxxxxxxxx>
References:
Build errors. Again.Ryan Gonzalez <rymg19@xxxxxxxxx>
Re: Build errors. Again.Ori Bernstein <ori@xxxxxxxxxxxxxx>