Opened 14 years ago

Closed 14 years ago

#56 closed defect (fixed)

Soclib-cc unexpected death

Reported by: deusthe@… 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)

soclib-cc-debug.log (22.3 KB) - added by deusthe@… 14 years ago.
log of soclib-cc

Download all attachments as: .zip

Change History (3)

Changed 14 years ago by deusthe@…

Attachment: soclib-cc-debug.log added

log of soclib-cc

comment:1 Changed 14 years ago by Nicolas Pouillon

Priority: N/Amajor

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 Nicolas Pouillon

Resolution: fixed
Status: newclosed

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

Note: See TracTickets for help on using tickets.