Authors : erickt : April 2009
How to fix the "AssertionError: src/compiler/ocs/src/ocs.cmxa: no sources or libraries passed in" bug
posted on April 09, 2009 - 11:13 AM PDT by Erick Tryzelaar
If you get this error when you try to build felix, it's because I accidentally committed a reference to the developer url for our branch of ocs. Here's how to fix it. First, make sure you're up to date with a git pull origin. Next, edit .git/config and replace this line:
[submodule "src/compiler/ocs"]
url = felixgit@felix-lang.org:ocs.git
with:
[submodule "src/compiler/ocs"]
url = http://git.felix-lang.org/r/ocs.git
Finally run git submodule init and git submodule update. Now fbuild/fbuild-light should work again. Let me know if this doesn't work for you.
Git guide for developers
posted on April 05, 2009 - 10:51 PM PDT by Erick Tryzelaar
Good evening/morning/afternoon. So once everyone gets me their ssh public key you can start developing on felix. The instructions are slightly different than for the read only access. You will need to use this pattern:
> git clone felixgit@felix-lang.org:$NAME
Like this:
> git clone felixgit@felix-lang.org:felix
Or if you already are using git, you can do this:
> git remote rm origin
> git remote add origin felixgit@felix-lang.org:felix
> git fetch origin
You'll also need to run:
> git submodule init
To get submodules working. Then, introduce yourself to git:
> git config --global user.name "Erick Tryzelaar"
> git config --global user.email "erickt@example.com"
To commit, do:
> git push origin
We're also using submodules now to make it easier to track external projects. Unfortunately they don't update themselves when they're updated. So, when they change, run:
> git submodule update
If you want to modify a submodule, there are some things you have to do. First, you'll need to change from the read-only repository to the writable one:
> cd src/compiler/dypgen
> git remote rm origin
> git remote add origin felixgit@felix-lang.org:dypgen
> git checkout felix
Then make your changes. Make sure your changes are to the felix branch instead of the master branch, as the master branch will track the remote project. After you've made your change, you need to commit to the submodule first, then push the result back to the server. Finally, go back to the felix directory and commit the submodule version change:
> cd src/compiler/dypgen
> git checkout felix
... edit files
> git commit -a -m "committing changes to dypgen"
> git push origin
> cd ../../..
> git commit -a -m "committing submodule change to felix"
Next on to commit messages. The git tools are written to assume that the first line is used as the title, and should be 50 characters or less. The examples I've seen are along the lines of:
Add feature X to Y.
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Proin a felis in mi placerat commodo.
* foo bar
* baz
gitk --all and git gui are wonderful tools. If you're on the mac, gitx is also really nice, but it doesn't completely replace the other tools.
Felix has switched to git
posted on April 05, 2009 - 06:05 PM PDT by Erick Tryzelaar
We've decided to finally migrate our repository to git, which you can find here. To checkout the read-only copy, do:
> git clone http://git.felix-lang.org/r/felix.git
> cd felix
> git submodule init
To update, do:
> git pull origin
Developers, if you've got any outstanding subversion patches, please migrate them over to the git repository. The easiest way to do this is to:
cd $felix-svn-dir
svn diff > svn.patch
cd $felix-git-dir
patch -p0 < $felix-svn-dir/svn.patch
Please consider the subversion repository read-only for now on. If anyone needs any help with this, please send us an email.
Irc meeting starting soon.
posted on April 01, 2009 - 11:03 PM PDT by Erick Tryzelaar
You can find it here.