Author Topic: wxScintilla build error on HEAD  (Read 17004 times)

therion

  • Guest
wxScintilla build error on HEAD
« on: December 05, 2005, 07:19:39 pm »
Hello :-)

Im not being able to build scintilla unsing newer codeblocks releases.
I don't know exactly when this started to happen but i compile anything on 1421, and shows this error msg when i try to compile C::B using C::B HEAD:

Code
Linking dynamic library: devel\wxscintilla.dll
The following character string is too long:
 -shared  -Wl,--out-implib=devel\libwxscintilla.a -Wl,--dll -Lsdk\tinyxml -Lc:\wx\lib\gcc_dll\msw -Lc:\wx\lib\gcc_dllNonUnicode -LC:\MinGW\lib -LC:\wx\lib\gcc_dll  .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexKix.o .objs\2.6\sdk\wxscintilla\src\ScintillaWX.osrc\scintilla\src\Document.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\DocumentAccessor.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\Editor.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\ExternalLexer.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\Indicator.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\KeyMap.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\KeyWords.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAPDL.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAU3.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAVE.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAda.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAsm.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexAsn1.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexBaan.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexBash.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexBasic.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexBullant.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCLW.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCPP.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCSS.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCaml.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexConf.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCrontab.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexCsound.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexEScript.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexEiffel.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexErlang.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexFlagship.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexForth.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexFortran.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexGui4Cli.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexHTML.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexHaskell.o .objs\2.6\sdk\wxscintilla\src\PlatWX.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexLisp.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexLout.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexLua.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexMMIXAL.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexMPT.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexMSSQL.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexMatlab.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexMetapost.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexNsis.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexOthers.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPB.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPOV.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPS.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPascal.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPerl.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexPython.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexRebol.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexRuby.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexSQL.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexScriptol.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexSmalltalk.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexSpecman.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexTADS3.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexTeX.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexVB.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexVHDL.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexVerilog.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LexYAML.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\LineMarker.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\PropSet.o .objs\2.6\sdk\wxscintilla\src\scintilla\src\RESearch.o .objs\2.6\sdk\wxscintilla\src\scintilla\sr
Process terminated with status 1 (1 minutes, 53 seconds)
0 errors, 8 warnings

Thx
« Last Edit: December 05, 2005, 07:27:26 pm by therion »

Offline Michael

  • Lives here!
  • ****
  • Posts: 1608
Re: wxScintilla build error on HEAD
« Reply #1 on: December 05, 2005, 07:29:45 pm »
Hello,

Could be that your string:

-shared -W1...

is too long? Could you try to split it?

Best wishes,
Michael

therion

  • Guest
Re: wxScintilla build error on HEAD
« Reply #2 on: December 05, 2005, 07:56:54 pm »
Hi

This is happening when i try to build Codeblocks-newbuild.cbp...

Regards

Offline kisoft

  • Almost regular
  • **
  • Posts: 194
Re: wxScintilla build error on HEAD
« Reply #3 on: December 07, 2005, 10:39:36 am »
Hello :-)

Im not being able to build scintilla unsing newer codeblocks releases.
I don't know exactly when this started to happen but i compile anything on 1421, and shows this error msg when i try to compile C::B using C::B HEAD:

Code
Linking dynamic library: devel\wxscintilla.dll
The following character string is too long:
... deleted by kisoft ...
Process terminated with status 1 (1 minutes, 53 seconds)
0 errors, 8 warnings

Thx

Temporary solve a problem (for Win only ? I test this method on my Win2k):

Menu: Project/Properties
Select page: Targets
Choose target: scintilla
Change parameter: Objects output dir:
  from: .obj\2.6
  to: .o

After change and rebuild, all right!

This solve a problem - temporary!

Good luck!
OS: WinXPSP3
wxWidgets: 2.8.12
CodeBlocks: Master github cbMakefileGen plugin:
https://github.com/kisoft/cbmakefilegen

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: wxScintilla build error on HEAD
« Reply #4 on: December 07, 2005, 11:59:13 am »
The linker is given too long a commandline, which may be due to
1. too many link libraries / objects
2. too long library / object names (paths)
3. too many unncessary library paths
4. too long library paths

#1 we can't change, you can't just leave out some libraries, #2 can be tweaked like you did.
However, #3 and #4 might be worth being looked into.
Do you have any long linker paths set up in compiler options which are not strictly necessary? It is because I have none, and for me it works, so that might just be it. Apart from that, I'll look into the project to see whether there is something that can be left out.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: wxScintilla build error on HEAD
« Reply #5 on: December 07, 2005, 12:18:56 pm »
Try if the attached project file works for you.

I've removed -lwxmsw and -Lsdk/tinyxml for that target since they are not needed (the former is already in the project's options, and the latter in unnecessary). So this produces identical output.

If that works for you, then I'd commit it like this, that will be better than changing path names (which might cause a problem with someone else if, for whatever reason, someone relies on an output path).

[attachment deleted by admin]
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

therion

  • Guest
Re: wxScintilla build error on HEAD
« Reply #6 on: December 07, 2005, 12:21:54 pm »
hummm yup...
but i can still compile using last week releases... get 1421 on my site and try to build head inside it... works perfectly... it was some modification during the weekend that broke it. i don´t know exactly when but it was between 1421 and 1447

regards,


therion

  • Guest
Re: wxScintilla build error on HEAD
« Reply #7 on: December 07, 2005, 12:31:19 pm »
sorry, i mean... there is nothing wrong with CodeBlocks-NewBuild.cbp, my workaround is to keep 1421 as my "main" IDE and head releases are building perfect :-)

Offline kisoft

  • Almost regular
  • **
  • Posts: 194
Re: wxScintilla build error on HEAD
« Reply #8 on: December 07, 2005, 12:53:17 pm »
The linker is given too long a commandline, which may be due to
1. too many link libraries / objects
2. too long library / object names (paths)
3. too many unncessary library paths
4. too long library paths

#1 we can't change, you can't just leave out some libraries, #2 can be tweaked like you did.
However, #3 and #4 might be worth being looked into.
Do you have any long linker paths set up in compiler options which are not strictly necessary? It is because I have none, and for me it works, so that might just be it. Apart from that, I'll look into the project to see whether there is something that can be left out.

#3 - developers error, we have no reasons to look it. Developer may correct this error.
#1,2,4 - may being resolved with linker scripts (see ld help). If not, in future this problem will wake up.

I use standart way for the IBM VisualAge C++ compiler.

Look example for Makefile (fragment only):
Code
$(TARGET1): $(OBJS1)
    @echo " Link "
    icc.exe /Q+ @<<
     /B" /NOL $(LINKDEB)"
     /Fe$(TARGET1)
     $**
<<

Here nmake expand it with a this command lines:
Code
echo " Link "
icc.exe /Q+ @C:\Temp\65000000.CTN.
del C:\Temp\65000000.CTN.

File C:\Temp\65000000.CTN content list of options and objects for linker.
In this hand, we have not problem with command line limit.
I yet no look a help info for mingw32-make.xe, may be the mingw make have other methods. Who knows.
OS: WinXPSP3
wxWidgets: 2.8.12
CodeBlocks: Master github cbMakefileGen plugin:
https://github.com/kisoft/cbmakefilegen

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: wxScintilla build error on HEAD
« Reply #9 on: December 07, 2005, 12:58:49 pm »
@therion
very interesting phenomen - i'm working with WinXP_SP2 and it doesn't appear

even though my linker command-string for wxscintilla is 4528 characters long - your's is shorter,
because you are using a shorter WX_DIR than i.  ( your "C:\wx" compared to my "D:\wx261" )

i have enlarged the command-shell environment ram to about 12kB,
but this should not really affect the max. size of the command-line,
but who knows ?

btw. what's your OS ?

[edited typos]
« Last Edit: December 07, 2005, 01:01:19 pm by tiwag »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: wxScintilla build error on HEAD
« Reply #10 on: December 07, 2005, 01:12:29 pm »
Yes, linker scripts or incremental linking might help out. But those are all nasty hacks, we have no guarantee that they work with all linkers.
The preferrable way of solving the problem would be to reduce the redundancy in path names, and the easiest way to do that would be to move the obj paths into the respective targets' directories rather than keeping all objects in one folder.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

therion

  • Guest
Re: wxScintilla build error on HEAD
« Reply #11 on: December 07, 2005, 01:13:32 pm »
Hello tiwag :-)

humm, really interesting, im using w2k sp4...
another wierd thing is that the patch thomas has just commited didn't work for me (rev 1461).

don't know... :-/

Offline kisoft

  • Almost regular
  • **
  • Posts: 194
Re: wxScintilla build error on HEAD
« Reply #12 on: December 07, 2005, 01:44:29 pm »
To thomas:
I spoke about build CodeBlocks, no all other compilers. Only MinGW. Only Win platform.
I mean *nix have no this problem.

To therion:
My method don't help?
OS: WinXPSP3
wxWidgets: 2.8.12
CodeBlocks: Master github cbMakefileGen plugin:
https://github.com/kisoft/cbmakefilegen

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
Re: wxScintilla build error on HEAD
« Reply #13 on: December 07, 2005, 01:50:10 pm »
This is a known limitation of command.com environment size in Win95/Win98. Increase your environment size...
Be patient!
This bug will be fixed soon...

therion

  • Guest
Re: wxScintilla build error on HEAD
« Reply #14 on: December 07, 2005, 02:23:32 pm »
This is a known limitation of command.com environment size in Win95/Win98. Increase your environment size...

Hello mandrav and kisoft :-)

I use win2k sp4...

I don't know i made myself clear (sorry, english is not my native language) but the point is:
- using HEAD sources (1462 at the moment)
- if i open these sources inside a "cb 1421", i can build anything...
- if i open te same same sources on a "newer cb" i get this error.

IMHO:
- the machine, OS, compiler (gcc3.4.4) etc are the same, so there is no problem.
- the sources are the same (HEAD).
- the IDEs used to build are different: on a 1421 it works, on a newer it DOESNT.

I don't know... something was changed during the weekend (between 1421 and 1447, i dont know when) that is causing this problem for me...

kisoft: yes it works :-) but...