Opened 14 years ago
Closed 14 years ago
#56 closed defect (fixed)
Soclib-cc unexpected death
Reported by: | Owned by: | Nicolas Pouillon | |
---|---|---|---|
Priority: | major | Component: | soclib-cc |
Keywords: | build SoCLIB utils repos attribute | Cc: |
Description
I experienced problems using soclib-cc.
When I'm trying to build SoCLIB utils, soclib-cc returns a "File name too long".
"repos" attribute in SoCLIB.config is involved...
Attachments (1)
Change History (3)
Changed 14 years ago by
Attachment: | soclib-cc-debug.log added |
---|
comment:1 Changed 14 years ago by
Priority: | N/A → major |
---|
Hi,
This problem looks related to your filesystem, not supporting "arbitrary" long file names. I'm preparing a global fix for this.
Just for information, could you tell me what is your OS, and what file system type is mounted where your repos lies ?
Thanks
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
The path for the repos is /home/rbuchmann/systemcass/sources/objdir. This path should work even with a FAT32 filesystem ;-)
Well, not so well. Others have tried.
soclib-cc generates unique filenames for objects and template-specialization files. These files have explicit names with the complete class name in them. On crappy filesystems with a limited path length (like FAT: 128 chars), we can get to the limit and encounter errors.
The easy fix is to hash the unique name to get a constant-length object file name, but it looks ugly, and you have no easy means of finding the objects you are looking for.
In [1559], there is a kludge which should allow you to explicitely set a limit to file name length.
Add a line in your ~/.soclib/global.conf saying for example:
config.default.max_name_length = 32
Cheers
log of soclib-cc