I'm trying to compile with jLifelines support so I can test a patch, and make keeps bombing out with:
make: *** No rule to make target '"../jLifelines-0.5-class.jar"', needed by 'all'. Stop.
Any thoughts? The jarfile is there, correctly named, where it's supposed to be.
I get the impression you saw the thread on compiling with JLL from 2 years ago. I dont know if anyone has tried compiling with JLL since! The few people who compile GDBI use PGV, and it has no external pieces.
The trick is creating makefile.local with JLIFELINES_JAR defined with the path to jLifelines-*-class.jar.
I think I know what the problem is! The path has to be absolute. It cds from the build directory to the source, and with ../*.jar, it will not find it.
You are still using jLifelines-0.5-class.jar?
Thanks! Absolute path seemed to do the trick. Unfortunately, now both 0.5 and 0.6 break down as it's compiling ldb.jar with "package jLifelines.stdlib does not exist" and ...jLifelines.gedlib..., etc. and associated messages. (Incidentally, trying to compile jLifelines 0.6 standalone under Java 1.5 fails, apparently due to "enum" being a reserved keyword.)
I'm just trying to produce a gdbi-*-jll.jar binary from CVS; am I going about this the wrong way?
You do not need to compile jLifelines. You just download the 0.6 release. We use it as-is.
Sorry, the compilation of jLL was an aside. When I get makefile.local properly pointed at jLifelines-0.6-class.jar and start the make process for gdbi, it fails with "package jLifelines.stdlib does not exist" and ...jLifelines.gedlib..., etc. and associated messages, as it's compiling ldb.jar. That's my currently pressing issue.
I think the problem is in your classpath. I get the same error when I have a dummy jll .jar.
To isolate the problem, run:
The javac command should have a parameter like:
The last part is the JLIFELINES_JAR definition. I think you are either defining it wrong, or it is a bad file. You can verify the file by running "jar tvf" on it.
Huh! When I changed the path in makefile.local to Windows-style (C:\...) instead of the equivalent Cygwin Unix-style (/cygdrive/c/...), everything works just like it should. Thanks a lot for walking me through the build process.
I have the fix for bug 1248950 ready and tested: how do you prefer to receive patches? Some sort of diff?
Thanks for working on the patch. Either the file or the diff output is fine.
Yes, you need the Windows C: because Java is not a Cygwin program. I get that problem when I run gvim on /usr/local files. My favorite Cygwin trick is "ln -s C:/ /C" so I can use /C/... Then I just change /C to C: for Windows programs.
I checked in the patch you uploaded.
I have been meaning to ask, why jLifelines? More specifically, is it just to have a local database, or are there other reasons? Once I have the new fsdb database, would you be able to use that instead?
Well, actually, I kinda like the reporting facilities of jLL; the reports cooked up by the Lifelines guys are a marvel to behold, particularly the ones that output PostScript. I know you've been ruminating about dropping jLL support, but I find it rather useful. If I have the time, I might try to add some of the report functions in the current Lifelines to jLL.
Log in to post a comment.