large-file support

Help
Joost Kop
2009-04-01
2012-12-14
  • Joost Kop
    Joost Kop
    2009-04-01

    Hello,

    I'm using libupnp on an embedded linux system(arm xscale). For this I use the uClibc toolchain. I want to disable large-file support in uClibc, because the system doesn't really needs filesupport. It is only used to connect to the network.

    When I used the --disable-largefile option in libupnp and disabled large-file support in uClibc, I got an error during ./configure (see error below). I now use libupnp with large-file support enabled in uClibc. This is working, but I would like to disable this.
    Is the --disable-largefile option is working correct?

    The error I got:
    configure:21116: checking arpa/inet.h usability
    configure:21133: arm-linux-gcc -c -g -O2 -Os -Wall  conftest.c >&5
    In file included from /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/stdio.h:28,
                     from conftest.c:34:
    /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/features.h:383:4: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
    In file included from /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/stdio.h:72,
                     from conftest.c:34:
    /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/bits/uClibc_stdio.h:72:2: error: #error Sorry... uClibc was built without large file support!
    In file included from conftest.c:34:
    /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/stdio.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
    In file included from conftest.c:34:
    /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/stdio.h:709: error: expected declaration specifiers or '...' before 'fpos_t'
    /home/joost/Documenten/hobby/WMA11/toolchain/buildroot-2009.02/build_arm/staging_dir/usr/include/stdio.h:711: error: expected ';', ',' or ')' before '*' token
    configure:21139: $? = 1
    configure: failed program was:
    | /* confdefs.h.  */

    Thanks in advance for your help.

    Best regards,
    Joost

     
    • Hi Joost,

      As far as I know, there is no --disable-largefile option implemented in configure and we are forcing _FILE_OFFSET_BITS to be 64. Look:

      #
      # Lot's of stuff to ensure large file support
      #
      AC_TYPE_SIZE_T
      AC_TYPE_OFF_T
      AC_DEFINE([_LARGE_FILE_SOURCE], [], [Large files support])
      AC_DEFINE([_FILE_OFFSET_BITS], [64], [File Offset size])

      This has been introduced in the 1.4.x branch with the "large file patch" series and there is currently no provision for disabling it.

      If you are willing to code and test a patch for the inclusion of this feature, I believe there would be no problem in accepting it into the tree, though I would like to hear from the other developers too.

      Regards,
      Marcelo.

       
    • Hi Marcelo,

      I guess you mean Michael (and maybe Jonathan) who were involved in the large file support patch.

      Anyway, I have no objection as long as the patch is clean and the resulting code base is not hard to maintain .

      Regards,
      Nektarios

       
    • Joost Kop
      Joost Kop
      2009-04-04

      Hi Marcelo,

      Ok, I'll see what I can do to implement the option.
      Thanks for your answer.

      Best regards,
      Joost

       
  • Hi Joost,

    Any news on this issue?

    Regards,
    Marcelo.

     
  • Joost Kop
    Joost Kop
    2010-03-21

    Hi Marcelo,

    That's a long time ago… I don't recall implementing it.
    The project I was working on more or less died. I haven't been using pupnp for a long time, so don't wait up until I have implemented it….  Sorry about that.

    Best regards,
    Joost

     
  • Ok, no problem at all.

    Thanks for your prompt reply!

    Regards,
    Marcelo.