• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Adding large file support
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding large file support


  • Subject: Re: Adding large file support
  • From: Rustam Muginov <email@hidden>
  • Date: Sat, 23 Oct 2010 15:30:22 +0400

AFAIC where are no "fseeko64/fopen64" in C standard.
For 64-bit offset, use
     int fseeko(FILE *stream, off_t offset, int whence);
for definition of off_t, use
#include <sys/types.h>
You can read more in Mac OS X man pages.

On Oct 23, 2010, at 2:28 PM, Alex Reynolds wrote:

> I have a C application I am trying to compile under Mac OS X 10.6.4, which includes large file support. The application builds correctly under Linux.
>
> Here is the Darwin kernel I am using:
>
> -------------------------
> $ uname -v
> Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386
> -------------------------
>
> My gcc installation is as follows:
>
> -------------------------
> $ gcc --version
> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
> -------------------------
>
> My Makefile is as follows:
>
> -------------------------
> CC=gcc
> CFLAGS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -O3 -Wformat -Wall -pedantic -std=gnu99
>
> all: myApp
>    rm -rf *~
>
> myApp: myApp.o
>    ${CC} ${CFLAGS} myApp.o -lbz2 -o myApp
>    rm -rf *~
>
> clean:
>    rm -rf *.o myApp
> -------------------------
>
> The issue is that my application makes calls to "fseeko64" and "fopen64", and it uses the "off64_t" type for offsets. When I attempt to build, I get the following related warnings and errors:
>
> -------------------------
> $ make myApp
> gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -O3 -Wformat -Wall -pedantic -std=gnu99 -c -o myApp.o myApp.c
> myApp.c: In function ‘extractData’:
> myApp.c:119: warning: implicit declaration of function ‘fseeko64’
> myApp.c:119: error: ‘off64_t’ undeclared (first use in this function)
> myApp.c:119: error: (Each undeclared identifier is reported only once
> myApp.c:119: error: for each function it appears in.)
> myApp.c: In function ‘extractMetadata’:
> myApp.c:305: warning: implicit declaration of function ‘fopen64’
> myApp.c:305: warning: assignment makes pointer from integer without a cast
> -------------------------
>
> My code builds without errors under Linux. What changes can I make to the source code to add large file support when building under Darwin?
>
> Thanks for your advice.
>
> Regards,
> Alex _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Adding large file support (From: Alex Reynolds <email@hidden>)

  • Prev by Date: Adding large file support
  • Next by Date: TRIM for SSD in our near future
  • Previous by thread: Adding large file support
  • Next by thread: Re: Adding large file support
  • Index(es):
    • Date
    • Thread