www.digitalmars.com         C & C++   DMDScript  

D - 8 character limitation for source files

reply anubis <anubis nord-com.net> writes:
this is odd. when my soure file names get longer than 8 characters dmd 
produces object files that are cut the usual way ( 8 chars + ~1 ). this 
makes dide throw up since it passes the full file name to the linker. 
i'm, fairly new to D so is this a known issue ??? will it be fixed ?
Sep 29 2003
next sibling parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
Actually I think is strictly a DIDE problem, its been fixed Ill put it up
later today.  Ill also start a mailing list ( I wish I new of a place that
offered free newsgroup hosting, or we had some sort of D Apps NG.  Hopefully
Benjis site will have this capability )so Im not cluttering the list.

C

P.S.

Can you give me an example ?


"anubis" <anubis nord-com.net> wrote in message
news:bl9thh$hja$1 digitaldaemon.com...
 this is odd. when my soure file names get longer than 8 characters dmd
 produces object files that are cut the usual way ( 8 chars + ~1 ). this
 makes dide throw up since it passes the full file name to the linker.
 i'm, fairly new to D so is this a known issue ??? will it be fixed ?
Sep 29 2003
parent J Anderson <anderson badmama.com.au.REMOVE> writes:
Charles Sanders wrote:

Actually I think is strictly a DIDE problem, its been fixed Ill put it up
later today.  Ill also start a mailing list ( I wish I new of a place that
offered free newsgroup hosting, or we had some sort of D Apps NG.  Hopefully
Benjis site will have this capability )so Im not cluttering the list.

C

P.S.

Can you give me an example ?


"anubis" <anubis nord-com.net> wrote in message
news:bl9thh$hja$1 digitaldaemon.com...
  

this is odd. when my soure file names get longer than 8 characters dmd
produces object files that are cut the usual way ( 8 chars + ~1 ). this
makes dide throw up since it passes the full file name to the linker.
i'm, fairly new to D so is this a known issue ??? will it be fixed ?

    
For free newsgroup, try: http://gmane.org/ I think you may have to set up a mailing list first though. It works with general newsgroup protocols, but you have to subscribe to the mailing list to send. -Anderson
Sep 30 2003
prev sibling next sibling parent reply anubis <anubis nord-com.net> writes:
ok, this clearly is a dide issue. when i tell dmd to compile a file 
manually it has no problems with +8 char filenames. dmd generates a .obj 
file with the full name. what is causing this in dide ?
Sep 29 2003
parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
I use GetShortPathName so that I can send the arguments via command line
(the linker seems not to like the "C:\dir with spaces" syntax).

What is the problem exactly, can you give me the error output please ?

C

"anubis" <anubis nord-com.net> wrote in message
news:bla5hq$s1g$1 digitaldaemon.com...
 ok, this clearly is a dide issue. when i tell dmd to compile a file
 manually it has no problems with +8 char filenames. dmd generates a .obj
 file with the full name. what is causing this in dide ?
Sep 29 2003
next sibling parent reply anubis <anubis nord-com.net> writes:
Charles Sanders wrote:

 I use GetShortPathName so that I can send the arguments via command line
 (the linker seems not to like the "C:\dir with spaces" syntax).
 
 What is the problem exactly, can you give me the error output please ?
 
 C
 
 "anubis" <anubis nord-com.net> wrote in message
 news:bla5hq$s1g$1 digitaldaemon.com...
 
ok, this clearly is a dide issue. when i tell dmd to compile a file
manually it has no problems with +8 char filenames. dmd generates a .obj
file with the full name. what is causing this in dide ?
well i get an undefined symbol error : Symbol Undefined _D13morethaneight11module_funcFZv the obvious reason why this is happening is that the linker looks for "morethaneight" while the symbol in the .obj file is "morethan~1". i can avoid this by explicitly setting the module's name to morethaneight with "module morethaneight;" (i just discovered this while writing ). another thing is that dide appears to have problems when there are to many source files present because passing them all to dmd in one string exceeds the maximum length of the cmdline. i'm not quite sure of that though. maybe somebody else had the same problem, too. fact is that i can manually compile my project without a prob but dide seems to do nothing but display the cmdline it tried to execute ( which is cut off before the last source file ).
Sep 29 2003
parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
 the obvious reason why this is happening is that the linker looks for
 "morethaneight" while the symbol in the .obj file is "morethan~1".
Ahh i didnt realize that Ill fix it.
  another
 thing is that dide appears to have problems when there are to many
 source files present because passing them all to dmd in one string
 exceeds the maximum length of the cmdline.
Quite possible, this was a problem in WinME for sure ( I dont know the actual length you can send to cmd.exe but Ill find out , it seems ridiculously short though! ), Ill fix it.
 fact is that i
 can manually compile my project without a prob but dide seems to do
 nothing but display the cmdline it tried to execute ( which is cut off
 before the last source file ).
Can you paste it please. C "anubis" <anubis nord-com.net> wrote in message news:blaip1$1ev5$1 digitaldaemon.com...
 Charles Sanders wrote:

 I use GetShortPathName so that I can send the arguments via command line
 (the linker seems not to like the "C:\dir with spaces" syntax).

 What is the problem exactly, can you give me the error output please ?

 C

 "anubis" <anubis nord-com.net> wrote in message
 news:bla5hq$s1g$1 digitaldaemon.com...

ok, this clearly is a dide issue. when i tell dmd to compile a file
manually it has no problems with +8 char filenames. dmd generates a .obj
file with the full name. what is causing this in dide ?
well i get an undefined symbol error : Symbol Undefined _D13morethaneight11module_funcFZv the obvious reason why this is happening is that the linker looks for "morethaneight" while the symbol in the .obj file is "morethan~1". i can avoid this by explicitly setting the module's name to morethaneight with "module morethaneight;" (i just discovered this while writing ). another thing is that dide appears to have problems when there are to many source files present because passing them all to dmd in one string exceeds the maximum length of the cmdline. i'm not quite sure of that though. maybe somebody else had the same problem, too. fact is that i can manually compile my project without a prob but dide seems to do nothing but display the cmdline it tried to execute ( which is cut off before the last source file ).
Sep 29 2003
parent reply Helmut Leitner <helmut.leitner chello.at> writes:
Charles Sanders wrote:
 
 the obvious reason why this is happening is that the linker looks for
 "morethaneight" while the symbol in the .obj file is "morethan~1".
Ahh i didnt realize that Ill fix it.
  another
 thing is that dide appears to have problems when there are to many
 source files present because passing them all to dmd in one string
 exceeds the maximum length of the cmdline.
Quite possible, this was a problem in WinME for sure ( I dont know the actual length you can send to cmd.exe but Ill find out , it seems ridiculously short though! ), Ill fix it.
I recently came upon the same problem. It should be easy to solve, because the linker (OPTLINK) can be called separately providing a response file. The response file has no limitations, you can pass the object file names e.g. line by line: object1+ object2+ object3 Just be sure that the environment contains the necessary LIB definition that the compiler generates behind the scenes. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Sep 29 2003
next sibling parent reply anubis <anubis nord-com.net> writes:
 I recently came upon the same problem. It should be easy to solve,
 because the linker (OPTLINK) can be called separately providing a
 response file. 
 
 The response file has no limitations, you can pass the object file
 names e.g. line by line:
    object1+
    object2+
    object3
 
 Just be sure that the environment contains the necessary LIB definition
 that the compiler generates behind the scenes.
 
yeah, i was about to suggest the same thing. i should add this to the dide wishlist but... anyway. i saw a lot of techwhiz additions that were requested on the wishlist... well, i think dide should be kept as simple as possible and should be made totally reliable before any new additions are made. other people might think differently but i want an editor with syntax hightlighting and a button that's labled "compile". as long as this is present and works i'm set. btw, i think you should store file names relative to the project directory in the .dideprj file instead of their absolute path name (so that i can move the folder around and still have a valid project).
Sep 30 2003
parent "Charles Sanders" <sanders-consulting comcast.net> writes:
 btw, i think you should store file names relative to the
 project directory in the .dideprj file instead of their absolute path
 name (so that i can move the folder around and still have a valid
project). Even if you did make them relative it will still break if you moved the folder around, I was going to add an export and import that copied all files to a temp dir so you could use between computers etc. I think your just ignoring me now when I ask you to paste the error so Im going to ignore you back. C "anubis" <anubis nord-com.net> wrote in message news:blb99s$2fbm$1 digitaldaemon.com...
 I recently came upon the same problem. It should be easy to solve,
 because the linker (OPTLINK) can be called separately providing a
 response file.

 The response file has no limitations, you can pass the object file
 names e.g. line by line:
    object1+
    object2+
    object3

 Just be sure that the environment contains the necessary LIB definition
 that the compiler generates behind the scenes.
yeah, i was about to suggest the same thing. i should add this to the dide wishlist but... anyway. i saw a lot of techwhiz additions that were requested on the wishlist... well, i think dide should be kept as simple as possible and should be made totally reliable before any new additions are made. other people might think differently but i want an editor with syntax hightlighting and a button that's labled "compile". as long as this is present and works i'm set. btw, i think you should store file names relative to the project directory in the .dideprj file instead of their absolute path name (so that i can move the folder around and still have a valid
project).

Sep 30 2003
prev sibling parent "Charles Sanders" <sanders-consulting comcast.net> writes:
Ahh ok, thanks for that.  Ill try to modify dig (and also try to find the
hardcoded C:)

C


"Helmut Leitner" <helmut.leitner chello.at> wrote in message
news:3F791A0A.271EEB17 chello.at...
 Charles Sanders wrote:
 the obvious reason why this is happening is that the linker looks for
 "morethaneight" while the symbol in the .obj file is "morethan~1".
Ahh i didnt realize that Ill fix it.
  another
 thing is that dide appears to have problems when there are to many
 source files present because passing them all to dmd in one string
 exceeds the maximum length of the cmdline.
Quite possible, this was a problem in WinME for sure ( I dont know the actual length you can send to cmd.exe but Ill find out , it seems ridiculously short though! ), Ill fix it.
I recently came upon the same problem. It should be easy to solve, because the linker (OPTLINK) can be called separately providing a response file. The response file has no limitations, you can pass the object file names e.g. line by line: object1+ object2+ object3 Just be sure that the environment contains the necessary LIB definition that the compiler generates behind the scenes. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Sep 30 2003
prev sibling parent reply "Sean L. Palmer" <palmer.sean verizon.net> writes:
GetShortPathName is an anachronism.  Just wrap the path in double quotes.

Sean

"Charles Sanders" <sanders-consulting comcast.net> wrote in message
news:blabdm$14gk$1 digitaldaemon.com...
 I use GetShortPathName so that I can send the arguments via command line
 (the linker seems not to like the "C:\dir with spaces" syntax).

 What is the problem exactly, can you give me the error output please ?

 C

 "anubis" <anubis nord-com.net> wrote in message
 news:bla5hq$s1g$1 digitaldaemon.com...
 ok, this clearly is a dide issue. when i tell dmd to compile a file
 manually it has no problems with +8 char filenames. dmd generates a .obj
 file with the full name. what is causing this in dide ?
Sep 30 2003
parent "Charles Sanders" <sanders-consulting comcast.net> writes:
I tried that it didn't work.

Anachronism I've been trying to find that word forever thank you!!!

C


"Sean L. Palmer" <palmer.sean verizon.net> wrote in message
news:blccib$vvl$1 digitaldaemon.com...
 GetShortPathName is an anachronism.  Just wrap the path in double quotes.

 Sean

 "Charles Sanders" <sanders-consulting comcast.net> wrote in message
 news:blabdm$14gk$1 digitaldaemon.com...
 I use GetShortPathName so that I can send the arguments via command line
 (the linker seems not to like the "C:\dir with spaces" syntax).

 What is the problem exactly, can you give me the error output please ?

 C

 "anubis" <anubis nord-com.net> wrote in message
 news:bla5hq$s1g$1 digitaldaemon.com...
 ok, this clearly is a dide issue. when i tell dmd to compile a file
 manually it has no problems with +8 char filenames. dmd generates a
.obj
 file with the full name. what is causing this in dide ?
Sep 30 2003
prev sibling parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
Can someone who has had the problem of dide not being able to pass a large
number of files email me ?  I have a proposed solution but I cannot seem to
reproduce the problem, and would like you to test something pls.

Thanks
C


"anubis" <anubis nord-com.net> wrote in message
news:bl9thh$hja$1 digitaldaemon.com...
 this is odd. when my soure file names get longer than 8 characters dmd
 produces object files that are cut the usual way ( 8 chars + ~1 ). this
 makes dide throw up since it passes the full file name to the linker.
 i'm, fairly new to D so is this a known issue ??? will it be fixed ?
Sep 30 2003
parent anubis <anubis nord-com.net> writes:
i'm very sorry that i didn't reply. the reason is that i was in america 
and now am back in germany. today was the first day i head time to hook 
up my laptop to the net again. again, i'm very sorry about that.
i will post the dide output today if you still need it. seems that you 
found a solution, though.
Oct 03 2003