Samba requires large file support support, but not available on this platform: sizeof(off_t) < 8

I had a recent disk crash on my Linux Slackware distro. I replaced the 1TB drive with a smaller 37GB drive. Unfortunately, the crash occurred after I had installed samba4 but before I had done a backup. I am now trying to re-install Samba, but during the make I get the message:

Samba requires large file support support, but not available on this platform: sizeof(off_t) < 8

This is the same kernel, etc., from the tarfile. What's up with this and how do I fix it?
LVL 1
jmarkfoleyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Daniel McAllisterPresident, IT4SOHO, LLCCommented:
This may be related to several issues -- I'll need to know more about your build environment, but lets start with which version of Slackware you're on and which version of Samba4 you're trying to build.

There was a significant change in the build scripts at version 4.1.7 (latest, bleeding edge is 4.1.11). Specifically, they changed a lot of their dependencies.

Also, what version of the Slackware kernel are you running, what version of which compiler are your using, and lastly, what is the output of your configure script.

Thanks - I'm sure we'll be able to figure this out.

Dan
IT4SOHO
0
MazdajaiCommented:
Did you compile from source or install with slapt-get -i samba?
0
jmarkfoleyAuthor Commented:
I'm running Slackware 14.1, kernel 3.10.17. I've been using the Samba4 version that came with the distro without problem for a while: version 4.1.0. gcc compiler version 4.8.2. I'm trying to build the Samba version than comes with openchange-2.1-QUADRANT. I need to do this because the samba libraries in /usr/local/samba/lib don't come with the Slackware distro (or if they do, they must be on one of the supplemental disks). These libraries are needed by openChange.

Now, here's the thing. I did all this successfully last week. I did not get a build error when making the new Samba libraries! I successfully built and installed openChange. Then, my disk crashed. It was a 2TB drive. I had a tar backup, but not of the recently built samba libraries and openChange. I restored the backup -- the exact same distro, same kernel, same everything, only now I get an error trying to build the samba libraries. The only thing different is the "new" drive is 37GB versus 2TB. Like the crashed drive, the new one is ext4 with ACL.

I'm wondering if for some reason when a small drive/partition is created it does not support LFS? Or, conversely when a TB+ drive is created it somehow forces LFS? I'm going to try re-restoring to a bigger drive to test this theory. Any insights would be welcomed.

Output of build:
Checking getconf LFS_CFLAGS                : -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
Checking getconf large file support flags work : not found
Checking for large file support without additional flags : not found
Checking for -D_FILE_OFFSET_BITS=64                      : not found
Checking for -D_LARGE_FILES                              : not found
Samba requires large file support support, but not available on this platform: sizeof(off_t) < 8
Error in lib/talloc configure (error code 1)
make: *** [samba] Error 1

Open in new window

0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Daniel McAllisterPresident, IT4SOHO, LLCCommented:
I don't use slackware, but the libraries for Samba4 that come from the distro won't usually be in /usr/local -- look for them instead in /lib or /usr/lib.

Finding (and using) the libraries that come with the Slackware distribution of Samba4 will likely give you a more stable build than a self-built one (because the people at Slackware most likely didn't build Samba4 with all the defaults left alone -- they surely optimized it for the way Slackware is designed & built).

Also, assuming you still need a local build, have you run a "make clean" and re-run "configure"?

Dan
IT4SOHO
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jmarkfoleyAuthor Commented:
it4soho: I spent about a month trying to do a build under Debian from the official slackware download. It mostly worked, but I could no longer get domain client Win7 workstations to do Remote Desktop Access or Updates. The Slackware as-is release worked perfectly for all aspects of Samba4 DC/AC and redirected folders. I just need these libraries for making OpenChange.  (yes, did make clean; no configure set for the samba build)

If I can't get the libraries to build with the OpenChange included samba, then I'll try the official download, but I did get these built before the disk crashed. I just which I remember what I did!

Mazdajai: > Did you compile from source or install with slapt-get -i samba?

At the moment, I'm trying to build with the Samba version that comes with OpenChange -- that's their recommendation.

I am still getting that "Samba requires large file support support, but not available on this platform: sizeof(off_t) < 8", but I know for sure it is bogus and must be some setting the build script is not finding. I restored everything to a 2TB drive and formatted the partition using `mkfs.ext4 -T largefile /dev/sda1`. So, the platform definitely *does* support large files.
0
Daniel McAllisterPresident, IT4SOHO, LLCCommented:
Is this error (the large file support not being present) the FIRST error spit out of your compile attempt?
(Often, the first error will cause multiple follow-on errors that are present only because of the first -- and many times their reported "reasons" are invalid because the true error is actually a dependency.)
Also, look in the compile output for warnings BEFORE this error.

Dan
IT4SOHO
0
jmarkfoleyAuthor Commented:
I found the problem! I had a disk crash and restored from backup. The problem was I used the tar command as follows:

tar --exclude proc --exclude sys ...

This excluded ALL files and directories named sys, including /usr/include/sys. The header files needed for the successful compile were in that directory. Once I re-installed the distro and restored those files it worked fine. The correct tar command should have been:

tar --exclude /proc --exclude /sys ...
0
MazdajaiCommented:
Good findings. I would still recommend using slapt instead of compiling from source. Every time there is a kernel update, there is great chance of breaking them.
0
jmarkfoleyAuthor Commented:
I didn't need to actually compile samba. I only needed to compile from sources supplied in the OpenChange package to get the Samba libs such as libmapi.so, which are not part of the Slackware distro in any directory I could find.

I have never used slapt before. I'll investigate that for the future.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.