Hi Anthony,Yes, there is device that is not in the list and this is ground symbol. Please find diff file and test_v2i.sch attached. That is what I have (Please note, that your search for '=' sign, while there is no any '=' sign in the string...)
$ spnet test_v2i.sch spNet v0.9.1.2 gEDA/gschem Netlister Copyright 2009 Anthony Shanks -I- Starting Build of Cell: test_v2i -I- Adding Library: "sym" -I- Adding Library: "power" -I- Combining Cells -E- Fatal Error: Invalid Component attr "C 42200 44200 1 0 0 gnd-1.sym". $ more ~/.spnetlibs library: /home/username/tsmc "sym" library: /usr/local/share/gEDA/sym "power" On 06/23/2009 09:39 AM, Anthony Shanks wrote:
Comments are not supported yet, it's on the todo list. Is the new code working yet? the invalid compoent error will come up with there is a symbol in your schematic without a valid device attribute. Here is a list of devices that are current supported (device=) RESISTOR CAPACITOR INDUCTOR NPN_TRANSISTOR PNP_TRANSISTOR NMOS3T NMOS4T PMOS3T PMOS3T SUBCKT VOLTAGE_SOURCE CURRENT_SOURCE PIN As stated I will add suport for [N|P]MOS_TRANSISTOR in the next release as a 4 terminal mosfet device. Besides this, do you have any components in your schematic that is not on the above list? BTW, thanks for all your help in debugging. -Anthony On Tue, Jun 23, 2009 at 3:12 AM, A.Burinskiy<[1]alexbour@xxxxxxxxx> wrote: Hi Anthony, Yes, the cause of segfault are empty strings at the end of file. Do you support comment out in .spnetlibs? I will go ahead and try your new code. Thanks, Alex On 06/23/2009 03:03 AM, Anthony Shanks wrote: > Wow. I guess I have a lot to learn as far as releasing code and > compiling versions go because it works fine on my end with gcc 4.3. > Sorry this is the first time I've released code (this big), please > bare with me. > > I tried one lib in spnetlibs with your line exactly and it works fine > without a segfault. Can you attach your spnetlibs to ensure I'm 100% > using exactly? One thing I did notice though is that if the file > exists but is empty it does segfault. I just fixed this error and > reuploaded it but I think it may go back to giving you the invalid lib > error (you can redownload it from the same link). Are you sure there > are not blank lines or anything in your file? > > Also about number 1 and number 2 thoughts. That plan was already in > the works for the official release. Most of the symbols from gschem > work with spnet except the mosfets since geda does not have a 3 > terminal symbol. I plan on making [N,P]MOS_TRANSISTOR work for 4 > terminal devices. Also I plan for spnet to read the libraries already > defined in the gEDA rc files. This will also be done in the next > release. I'll try to get a version that does this by the end of the > week however. > > Let me know how it goes after you try the newest update. > > -Anthony > > _______________________________________________ geda-user mailing list [2]geda-user@xxxxxxxxxxxxxx [3]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user References 1. mailto:alexbour@xxxxxxxxx 2. mailto:geda-user@xxxxxxxxxxxxxx 3. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user------------------------------------------------------------------------_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
--- ../spnet-0.9.1.2/src/netlist.c 2009-06-23 02:59:13.000000000 -0700 +++ src/netlist.c 2009-06-23 09:25:45.140068435 -0700 @@ -307,7 +307,7 @@ } // Mosfet - else if(strcmp(devices->device,"NMOS3T") == 0 || strcmp(devices->device,"PMOS3T") == 0 || strcmp(devices->device,"NMOS4T") == 0 || strcmp(devices->device,"PMOS4T") == 0) + else if(strcmp(devices->device,"NMOS3T") == 0 || strcmp(devices->device,"PMOS3T") == 0 || strcmp(devices->device,"NMOS4T") == 0 || strcmp(devices->device,"PMOS4T") == 0 || strcmp(devices->device,"PMOS_TRANSISTOR") == 0 || strcmp(devices->device,"NMOS_TRANSISTOR") == 0 ) { // Get pininfo pininfo = GrabPins(devices->filename,devices->rotate,devices->x,devices->y,devices->inverted,libs); @@ -644,13 +644,13 @@ explist = explode(str,' '); if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component. Empty explist\n\n"); exit(1); } explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component. Empty explist->next\n\n"); exit(1); } else @@ -658,7 +658,7 @@ explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component 3.\n\n"); exit(1); } else @@ -666,13 +666,13 @@ explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component 4.\n\n"); exit(1); } explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component 5.\n\n"); exit(1); } else @@ -680,7 +680,7 @@ explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component 6.\n\n"); exit(1); } else @@ -688,7 +688,7 @@ explist = explist->next; if(explist == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component 7.\n\n"); exit(1); } else @@ -716,7 +716,7 @@ attrib_value = strchr(string,'='); if(attrib_value == NULL) { - printf("\n-E- Fatal Error: Invalid Component.\n\n"); + printf("\n-E- Fatal Error: Invalid Component attr \"%s\".\n\n", string); exit(1); } attrib_value++;
Attachment:
test_v2i.sch
Description: application/geda-schematic
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user