#817 Boostrap help

DanielFath Sun 15 Nov 2009

Ok I tried to bootstrap the current fan repository from hg. But I ran into some problems.

Here is the dump enviroment:

C:\dev\fan\src>buildboot.fan dumpenv
---------------
  scriptFile:   /C:/dev/fan/src/buildboot.fan [build::BuildGroup]
  boot.home:    file:/C:/dev/rel/
  working.home: file:/C:/dev/rel/
  devHomeDir:   /C:/dev/fan/
---------------
  scriptFile:   /C:/dev/fan/src/sys/build.fan [build::BuildPod]
  boot.home:    file:/C:/dev/rel/
  working.home: file:/C:/dev/rel/
  devHomeDir:   /C:/dev/fan/
---------------
  scriptFile:   /C:/dev/fan/src/sys/java/build.fan [build::BuildJava]
  boot.home:    file:/C:/dev/rel/
  working.home: file:/C:/dev/rel/
  devHomeDir:   /C:/dev/fan/
  javaHome:    /C:/dev/Java/
---------------
  scriptFile:   /C:/dev/fan/src/sys/dotnet/build.fan [build::BuildCs]
  boot.home:    file:/C:/dev/rel/
  working.home: file:/C:/dev/rel/
  devHomeDir:   /C:/dev/fan/
  dotnetHome:  /C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/
C:\dev\fan\src>sys\build.fan dumpenv
---------------
  scriptFile:   /C:/dev/fan/src/sys/build.fan [build::BuildPod]
  boot.home:    file:/C:/dev/rel/
  working.home: file:/C:/dev/rel/
  devHomeDir:   /C:/dev/fan/

I changed etc/pod.fansys and both the rel and dev lib/sys.props and I'm stumped. Now the guide for Bootstrap mentions verifying "javaHome for jfan/build.fan" but I got no clue how to do this. Right now sys\build and buildBoot work but buildPods don't work

C:\dev\fan\src>buildpods.fan
ERROR: cannot compile script
sys::Err: Script file defines no public classes: file:/C:/dev/fan/src/buildpods.
fan
  fanx.util.ScriptUtil.compile (ScriptUtil.java:56)
  fan.sys.Sys.compile (Sys.java:539)
  fanx.tools.Fan.executeFile (Fan.java:57)
  fanx.tools.Fan.execute (Fan.java:35)
  fanx.tools.Fan.run (Fan.java:242)
  fanx.tools.Fan.main (Fan.java:280)

Any help would be nice :(

KevinKelley Sun 15 Nov 2009

Normally I just use fan buildAll.fan full (in src dir) after an Hg pull, to rebuild everything.

Bootstrap mentions verifying "javaHome for jfan/build.fan"

Fan needs a Java compiler to build the system libraries, so that's just saying to check it. That configuration property got moved fairly recently; it now lives in {fanhome}/etc/build/pod.fansym. Adjust the buildDevHome and buildJdkHome properties there, as needed for your system.

brian Mon 16 Nov 2009

Your build environment looks correct - it is exactly what I have.

I have never seen the "no public classes" error as a bootstrap problem before.

So does buildboot work? You will need to run that to compile versions of sys.pod, compiler.pod, build.pod into your "dev/lib/fan" directory before buildpods.fan will work.

DanielFath Mon 16 Nov 2009

Yeah it worked. However I deleted my rel stuff and redid it now more carefully; Anyway I found the problem; My jdkHome in dev wasn't set right :x

As for the above error. Tbh I'm not sure how I caused it. I messed around with rel and dev files trying all kinds of quirky stuff.

Anyway problem solved, sorry for the inconvenience.

Login or Signup to reply.