Thread overview |
---|
April 24, 2002 Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Problem 1, linking: If I try to link these object files to an static library from the ide it shows fatal error. I'm using templates and exceptions. And if I try to run linking manually I got this error Digital Mars Librarian Version 7.6B3n Copyright (C) Digital Mars 2000. All Rights Reserved. action-object [-+*] (.obj) + c:\tmp\tools\gd.OBJ + c:\tmp\tools \gdfonts.OBJ + c:\tmp\tools\gif_MH_DC.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHChart.OBJ + c: \tmp\tools\MHCrypt.OBJ + c:\tmp\tools\MHDate.OBJ + c:\tmp\tools\MHDateChart.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHDC.OBJ + c: \tmp\tools\MHDebug.OBJ + c:\tmp\tools\MHDom.OBJ + c :\tmp\tools\MHDouble.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHException.OBJ + c:\tmp\tools\MHGrid.OBJ + c:\tmp\tools\MHNumCh art.OBJ + c:\tmp\tools\MHPoint.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHSignal.OBJ + c:\tmp\tools\MHTest.OBJ + c:\tmp\tools\MHUtil.OBJ list file (.lst) output library file (.lib) Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program termination Problem 2, compiling fltk gui library These functions seems to be the same for the compiler. They compile with gcc and msvc. I removed all "dublicates" and it works ok with dm but... FL_EXPORT int fl_draw_pixmap(/*const*/ char* const* data, int x,int y,Fl_Color=FL_GRAY); FL_EXPORT int fl_draw_pixmap(const char* const* data, int x,int y,Fl_Color=FL_GRAY); Problem 3, berkeley db library The compiler failes with log\log_archive.c and a call to getcwd function. It never stops compiling until it runs out of memory. The library does have an config.h for different kind of settings but it doesn't do me any wiser. I'm using xp by the way. /Micke |
April 25, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Micke | "Micke" <drontman@home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese@63.105.9.61... > Problem 1, linking: > If I try to link these object files to an static library from the ide it > shows fatal error. > I'm using templates and exceptions. > And if I try to run linking manually I got this error > > Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program termination This means the length of an identifier exceeds the limit of the .obj file format. > Problem 2, compiling fltk gui library > These functions seems to be the same for the compiler. > They compile with gcc and msvc. I removed all "dublicates" and it > works ok with dm but... > > FL_EXPORT int fl_draw_pixmap(/*const*/ char* const* data, int x,int > y,Fl_Color=FL_GRAY); > FL_EXPORT int fl_draw_pixmap(const char* const* data, int x,int > y,Fl_Color=FL_GRAY); This has been reported, but I haven't fixed it yet. > Problem 3, berkeley db library > The compiler failes with log\log_archive.c and a call to getcwd > function. > It never stops compiling until it runs out of memory. > The library does have an config.h for different kind of settings but > it doesn't do me any wiser. If you could isolate it down to the smallest reproducible test case, and email it to me, I can likely get it fixed. -Walter |
April 25, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Micke | "Micke" <drontman@home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese@63.105.9.61... > Problem 1, linking: > If I try to link these object files to an static library from the ide it > shows fatal error. > I'm using templates and exceptions. > And if I try to run linking manually I got this error > Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' I did some more checking. This is a fault of the Microsoft OMF library file format. It does not allow identifiers exceeding 512 or so in length. The only solution is to shorten the identifiers or link in those .obj files separately. |
April 25, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | I've got a pached version of LIB.exe with an extended IDMAX... (I think that it what the name of the #define was...) Seems to work just fine! Jan |
April 25, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jan Knepper | "Jan Knepper" <jan@smartsoft.cc> wrote in message news:3CC7EED1.4C3455DD@smartsoft.cc... > I've got a pached version of LIB.exe with an extended IDMAX... (I think that it > what the name of the #define was...) > Seems to work just fine! > Jan It shouldn't work :-( the dictionary in it might be corrupt. |
April 25, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <walter@digitalmars.com> wrote in news:aa89n0$2583$3@digitaldaemon.com: > > "Micke" <drontman@home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese@63.105.9.61... >> Problem 1, linking: >> If I try to link these object files to an static library from the ide >> it shows fatal error. >> I'm using templates and exceptions. >> And if I try to run linking manually I got this error >> >> Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program termination > > This means the length of an identifier exceeds the limit of the .obj file format. It looks like that these three typedefs that have been commented out is the source of the problem. Is there anything I can do about it ? typedef vector<string> StringVect; typedef vector<string> StringVect; typedef vector<string>::iterator StringVectIt; typedef vector<string>::reverse_iterator StringVectRIt; typedef vector<double> DoubleVect; typedef vector<double>::iterator DoubleVectIt; typedef map<string,double> DoubleMap; //typedef map<string,double>::iterator DoubleMapIt; typedef map<string,int> IntMap; //typedef map<string,int>::iterator IntMapIt; typedef map<string,string> StringMap; //typedef map<string,string>::iterator StringMapIt; > >> Problem 3, berkeley db library >> The compiler failes with log\log_archive.c and a call to getcwd >> function. >> It never stops compiling until it runs out of memory. >> The library does have an config.h for different kind of settings but >> it doesn't do me any wiser. > > If you could isolate it down to the smallest reproducible test case, and email it to me, I can likely get it fixed. -Walter > The source is to big to create a test case, but I solved it quick and dirty by taking getcwd source from the library source and rename the function and pasted it into the file that was giving me the problem. /Micke |
April 26, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Micke | "Micke" <drontman@home.se> wrote in message news:Xns91FBE4FFA1486drontmanhomese@63.105.9.61... > "Walter" <walter@digitalmars.com> wrote in news:aa89n0$2583$3@digitaldaemon.com: > > "Micke" <drontman@home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese@63.105.9.61... > >> Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program termination > > This means the length of an identifier exceeds the limit of the .obj file format. > It looks like that these three typedefs that have been commented out > is the source of the problem. Is there anything I can do about it ? > typedef vector<string> StringVect; > typedef vector<string> StringVect; > typedef vector<string>::iterator StringVectIt; > typedef vector<string>::reverse_iterator StringVectRIt; > typedef vector<double> DoubleVect; > typedef vector<double>::iterator DoubleVectIt; > typedef map<string,double> DoubleMap; > //typedef map<string,double>::iterator DoubleMapIt; > typedef map<string,int> IntMap; > //typedef map<string,int>::iterator IntMapIt; > typedef map<string,string> StringMap; > //typedef map<string,string>::iterator StringMapIt; You mean uncommenting them produces the problem? It doesn't look like "map" can be reduced in length very effectively. Sigh. > The source is to big to create a test case, but I solved it quick and dirty by taking getcwd source from the library source and rename the function and pasted it into the file that was giving me the problem. Ok, but I can't solve the problem in the compiler that way <g>. |
April 27, 2002 Re: Three problems with linking and compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <walter@digitalmars.com> wrote in news:aaatg6$23rq$2@digitaldaemon.com: > > You mean uncommenting them produces the problem? It doesn't look like "map" can be reduced in length very effectively. Sigh. After more testing it looks like using stl gives unpredictable result. I really can't say exact what with stl that creates the problem. In one case I had several overloads of operators and when I added the ">" operator in a class the ide crached during compiling. Then I found that I had included stl and had a few test lines with stl in another file and when I removed those lines it worked. I can't reproduce a good test case, sorry about that. |
Copyright © 1999-2021 by the D Language Foundation