Building electric from source code

82 views
Skip to first unread message

analog_match

unread,
May 26, 2012, 2:25:16 AM5/26/12
to electr...@googlegroups.com
I am trying to work on the Electric source code and as such following the instructions at the following location:

I am following the instructions here to install each of the modules. I have been at this for several days now but have not got anywhere because at each step I get a message from eclipse that there is something missing and the thing does not go forward. I am using eclipse indigo that comes pre-installed with Fedora 6. 

For example, step 2 asks to install Maven, but if I do as directed then I get the following message:

Cannot complete the install because one or more required items could not be found.
  Software being installed: Maven Integration for Eclipse (Required) 0.12.1.20110112-1712 (org.maven.ide.eclipse.feature.feature.group 0.12.1.20110112-1712)
  Missing requirement: Maven Integration for Eclipse (Required) 0.12.1.20110112-1712 (org.maven.ide.eclipse.feature.feature.group 0.12.1.20110112-1712) requires 'org.eclipse.jdt.feature.group 3.3.0' but it could not be found

So I decided to skip this and go to step 3, Add Subclipse. Now I get the following:

Your original request has been modified.
  "SVNKit Library" is already installed, so an update will be performed instead.
Cannot complete the install because one or more required items could not be found.
  Software being installed: Subversion Revision Graph 1.0.9 (org.tigris.subversion.subclipse.graph.feature.feature.group 1.0.9)
  Missing requirement: Subversion Revision Graph 1.0.9 (org.tigris.subversion.subclipse.graph.feature.feature.group 1.0.9) requires 'org.eclipse.draw2d 3.2.0' but it could not be found

Where can I find these missing items? Could it be a problem with the eclipse installation? Should I re-install?

If anyone has had experience with this please let me know. Thanks.

Steven Rubin

unread,
May 26, 2012, 4:25:37 PM5/26/12
to electr...@googlegroups.com
I apologize for this confusion.  We have recently removed our use of Maven from the Electric source-code.  It is now simpler to manage, but the on-line instructions are not yet updated.

Here are the instructions needed to load Electric into Eclipse.  Please let me know if there are mistakes or confusions in this and it will help me when I create the online documentation.

(1) Extract the code from java.net:
        "File / Import", "SVN / Checkout Projects from SVN"
                 Repository " https://svn.java.net/svn/electric~svn/trunk/electric" (select the top-level)
                 Click "Check out as a project in the workspace" named "Electric"
(2) Create two Eclipse projects: one for Java, one for Scala:
        New Java Project: "Electric/electric-java", output in "electric-java/bin"
        External libraries:
                 (from the "packaging" folder): AppleJavaExtensions-1.4, bsh-2.0b4, scala-library-2.9.1.jar, slf4j-api-1.6.2, slf4j-jdk14-1.6.2
                 (from your Java3D installation, "Java3D\1.5.2\lib\ext"): j3dcore, j3dutils, vecmath
                 (from your JMF installation, "JMF2.1.1e\lib"): jmf.jar
                 (from your Jython installation, "jython2.5.2"): jython.jar
        New Java Project: "Electric/electric-scala", output in "electric-scala/bin", "Scala Nature"
        External libraries:
                 (from the "packaging" folder): slf4j-api-1.6.2 / slf4j-jdk14-1.6.2
         Right-click "electric-scala" project, choose "Configure / Add Scala Nature"
(3) Link the two projects:
         Right-click "electric-scala" project, choose "Properties", "Java Build Path"
                 In "Projects" tab, click "Add..." and add "electric-java" project
         Right-click "electric-java" project, choose "Properties", "Java Build Path"
                 In "Libraries" tab, click "Add Class Folder" and choose "electric-scala/bin"
(4) Make launch configuration:
        New "Java Application" called "Electric"
                 Project "electric", class "com.sun.electric.Launcher", VM arguments -Xmx1500m

  -Steven Rubin
--
You received this message because you are subscribed to the Google Groups "Electric VLSI Editor" group.
To view this discussion on the web visit https://groups.google.com/d/msg/electricvlsi/-/AhXR06eE9egJ.
To post to this group, send email to electr...@googlegroups.com.
To unsubscribe from this group, send email to electricvlsi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/electricvlsi?hl=en.

Steven Rubin

unread,
Jun 7, 2012, 12:54:55 PM6/7/12
to electr...@googlegroups.com
At 10:04 PM 6/5/2012, you wrote:
Hi Steven,


Thanks for the explanation above. I have followed the procedure but am confused at the last step. Following your instructions to the tee, there is no project called "electric" created in any of the previous steps. The only two options I get is electric-java or electric-scala. Do I have to create another project called "electric"? There is a Launcher.java in the following path however,

/home/yusuf/Electric/electric/electric-java/com/sun/electric/Launcher.java

but how do I access it?

The bigger question is how do I actually modify some section of source code, re- compile the code to create the binary from which to start my modified Electric?

The way my instructions work is that you first extract the java.net source tree into a "project in the workspace" (not associated with any language).  This is the project that I told you to name "Electric".  This project has both java and scala code in it.

Next, for efficiency reasons, I have you create two separate language-specific projects, "electric-java" and "electric-scala".

So you should really have three Eclipse projects.

Of course, you can find any source-code file in both the main "Electric" project AND one of the two language projects.  During normal editing and debugging, you should access these files from the language projects. But when you want to update sources from the repository to get the latest versions, do a Team/Synchronize of the "Electric" project.

Now as far as compiling and running, that is what Eclipse is good at.  My step (4) told you how to create a launch configuration.  Once that is done, launch it and you should have Electric running.

   -Steve

Steven Rubin

unread,
Jun 11, 2012, 12:11:06 PM6/11/12
to electr...@googlegroups.com
At 11:29 PM 6/10/2012, you wrote:
>Here are some more observations of my experimenting with trying to
>build electric from the source code:
>
>This time around I first created a project "Electric - with capital
>E" which was what contained the data from SVN repository. Even
>though this was downloaded as a project in the workspace, it was not
>beng recognized by run configurations which gave me the message:
>
>Launch configuration Electric references non-existing project Electric.


The downloaded project that you get from the SVN repository is NOT
runnable. It is NOT a Java project (if you downloaded it as I
described). You should NOT use it for any other purpose than accessing SVN.

After downloading this, you create two projects that ARE runnable:
electric-java and electric-scala.

Please go back and read the message I wrote about this for more information.

-Steve

Mitesh Khadgi

unread,
Jul 7, 2012, 11:46:10 AM7/7/12
to electr...@googlegroups.com
Hello,

I am interested to work on the source code. Will let you know soon after running it once.
Thanks for sharing. :)

On Sat, Jul 7, 2012 at 10:04 AM, analog_match <ymatch...@gmail.com> wrote:
Friends,
I have documented the steps I followed to setup eclipse projects to use the Electric source code. I am attaching here for anyone that might be interested. I know that if I revisit this issue even a few months down the line, I'll forget most of what I did, hence this document. If anyone finds any bugs or inaccuracies in these steps I would greatly appreciate if you would bring it to my attention so I can update the document accordingly. 

Enjoy!!!

On Saturday, June 16, 2012 11:42:28 PM UTC-4, analog_match wrote:

Thanks Steve,

I was finally able to get some progress on compiling the source code. The big mistake I made was trying to create external projects called electric-java and electric-scala instead of using the ones in the downloaded tree. I did this by unselecting "use default location" in the "create project" form and then browsing down to the two language specific projects. Also in the final step of creating run configurations, when creating the  java application called "Electric", I had to select project as electric-java. Now when I run I Electric starts up with the splash screen showing version as 9.02-j. There are several warning messages of the type:

Description Resource Path Location Type
ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized BypassJtagTester.java /electric-java/com/sun/electric/tool/simulation/test line 113 Java Problem

Thanks

Yusuf



--
You received this message because you are subscribed to the Google Groups "Electric VLSI Editor" group.
To view this discussion on the web visit https://groups.google.com/d/msg/electricvlsi/-/ntSw_oJFO4QJ.

To post to this group, send email to electr...@googlegroups.com.
To unsubscribe from this group, send email to electricvlsi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/electricvlsi?hl=en.



--
Best Regards
Mitesh Khadgi
IIT Madras
Electrical Engineering
EE06B069

Steven Rubin

unread,
Sep 16, 2012, 8:00:28 PM9/16/12
to electr...@googlegroups.com
At 02:42 PM 9/16/2012, you wrote:
>Any chance you could divorce the project from its Netbeans specific
>build file? Its great that it has one, but it always seems one
>person or the other wants to use Eclipse, or cmdline, or it plain
>just didn't work.
>
>In my case, I had to go into the project.properties, and add
>build/classes to the ivy.build.classpath in order to get it to
>successfully compile. I'm not even sure if this is the correct
>solution, and I expect it to break in the future.
>
>It seems like it'd be simpler to provide a separate target for
>cmd-line compilers? Netbeans build-impl.xml looks long and overly complex.
>
>Regards,
>Sebastian Audet

The Electric user's manual has three different pages for source-code
people: Netbeans, Eclipse, and Command-line. So all of them are
documented. Only Netbeans has a "project file" though.

-Steven Rubin

P.S. Because of the confusion with the 3D in 9.02, we are actually
releasing 9.03 in a week.

Dmitry Nadezhin

unread,
Sep 18, 2012, 3:34:37 AM9/18/12
to electr...@googlegroups.com
Hello Sebastian,

Please try updated build instructions in trunk/electric/README.txt

On Mon, Sep 17, 2012 at 1:42 AM, smaudet <smau...@gmail.com> wrote:
> Any chance you could divorce the project from its Netbeans specific build
> file? Its great that it has one, but it always seems one person or the other
> wants to use Eclipse, or cmdline, or it plain just didn't work.
>
> In my case, I had to go into the project.properties, and add build/classes
> to the ivy.build.classpath in order to get it to successfully compile. I'm
> not even sure if this is the correct solution, and I expect it to break in
> the future.
>
> It seems like it'd be simpler to provide a separate target for cmd-line
> compilers? Netbeans build-impl.xml looks long and overly complex.
>
> Regards,
> Sebastian Audet
>
> --
> You received this message because you are subscribed to the Google Groups
> "Electric VLSI Editor" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/electricvlsi/-/qitzSXuaoWUJ.

Sebastian Audet

unread,
Sep 19, 2012, 8:08:02 PM9/19/12
to electr...@googlegroups.com
The update has fixed the command line build process, thank you! Successfully built and run, on Windows/Linux.

Regards,
Sebastian Audet
Reply all
Reply to author
Forward
0 new messages