delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/06/09/21:11:21

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; q=dns; s=default; b=A//JyWAJfIQlF3KU+SNqlS49AA4nJ
GNYuKmFOcTx0aQFuRbIauXbxAvKjS5O8XRQAIZeN0hjXSgmXBHm21PH6l5wrRHmd
LkPOkW6wy5tFhKzypliKX/Pza0y42oqSvi0zUCDzN4sP0uPuYFAPUiNvlsmw8/pT
JaquSGZbm/DBeY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; s=default; bh=Lmcod/7PUhuuedzY2tThq8ZWb+M=; b=nKN
2KIHnBS03ReHTUVWEXiikhUW1GexLnQ9/oDcP8cHNaKrcv9CMVRH1YpxygFk2Azv
erm0ykPhm5sp59k2qZmh5lWmMtgKqniY1ePYwaJ/OT9slflqY3yfcKNHYfT9k0WC
TAKWSDfxCsseakwRW+yvcPImst3O+oDof6w2/kEw=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Spam-SWARE-Status: No, score=4.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SPF_PASS,TW_BM,TW_LB,TW_UU autolearn=ham version=3.3.1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :x-gm-message-state; bh=OX7x0V7/QIStsfKHsJaGGPOxjdhmvpN43ux/sY3VCQU=; b=aWvX67DfhyQ4UNi6nNhcSMadIE716hgIzhch9h4rtP3xLdJVPZ1FRWQQcJuaX0O6WC V4pXJHK7gEc3WUcTq1k6HsL5e76FVgzgfrwWW4Xlw2cy4GB6o8GEzkDq03WU9jbYCnk1 y3ehnE1t6rPxMf3htlFVP80Eq8XGL61Az1jS8Wu3ZBrIBztqUWQoetIZ2/192o6pPP/H 0Nj7TryFQMV1o9CHs9kYDpvz67Kqy18fktpOuC945QQRRd813drRliEAewUijmI5BEEo x4cXZfP2KUV6wHiTvduzKiMuNTlukwQModVJ3DzKYfA8aQ4L8u/nPjDkMuCJyaB3ek8o /7qg==
MIME-Version: 1.0
X-Received: by 10.180.212.49 with SMTP id nh17mr3487273wic.60.1370826661915; Sun, 09 Jun 2013 18:11:01 -0700 (PDT)
Date: Mon, 10 Jun 2013 03:11:01 +0200
Message-ID: <CA+YAgJrHYJPA3U3SvD5Jsvy+hRiM+SXu+2akTUBRgtPNsxoedg@mail.gmail.com>
Subject: Do the runtime support the large file 2GB with fstati64 (error: undefined reference to __fstati64 )?
From: Lord Flaubert Steve Ataucuri Cruz <lord DOT ataucuri AT ucsp DOT edu DOT pe>
To: cygwin AT cygwin DOT com
X-Gm-Message-State: ALoCoQnxvb/pdac/0om9oQtmpfoJSewOAMPlqiHSQJqHuchZToB32QCD+R1QqvT1IACskp2DgEHS

Folks,

I did some research at mailing list, faq and I didn't seek any
information about this error . I am trying to build an installer of
some great tools of linux to windows, but I wanna use and Cygwin
runtime and Mingw(please don't redirect to another list). I am going
to explain what I did:

$ grep fstati64 /c/bin/*.dll
Binary file /c/bin/hdf5dll.dll matches
Binary file /c/bin/libcurl.dll matches
Binary file /c/bin/msvcr71.dll matches
Binary file /c/bin/msvcrt.dll matches


I can see an importation in mingw :

$ nm -g /usr/lib/gcc/i686-pc-mingw32/3.4.4/debug/libstdc++.a |grep fstati64
U __fstati64

or

$ find /usr/lib -name "*.a" -exec grep fstati64 {} \;
Binary file /usr/lib/gcc/i686-pc-mingw32/3.4.4/debug/libstdc++.a matches
Binary file /usr/lib/gcc/i686-pc-mingw32/3.4.4/libstdc++.a matches

In particular, I would have expected it to be exported by one or more
of the /usr/lib/w32api/libmsvc*.a files.  In this directory are:

$ nm -o /usr/lib/w32api/libmsvcrt.a | grep fstati*
/usr/lib/w32api/libmsvcrt.a:daqgds00255.o:00000000 T __fstat64
/usr/lib/w32api/libmsvcrt.a:daqgds00255.o:00000000 I __imp___fstat64
/usr/lib/w32api/libmsvcrt.a:daqgds00254.o:00000000 T __fstat
/usr/lib/w32api/libmsvcrt.a:daqgds00254.o:00000000 I __imp___fstat

I have seen fstat64 which does something similar but is not linkage
(and possibly not functionality) compatible. I decided to download a
mingw in my laptop and I found:

grep -rl fstati64 /usr/i586-mingw32msvc/lib/libmsvc*

/usr/i586-mingw32msvc/lib/libmsvcr70.a
/usr/i586-mingw32msvc/lib/libmsvcr70d.a
/usr/i586-mingw32msvc/lib/libmsvcr71.a
/usr/i586-mingw32msvc/lib/libmsvcr71d.a
/usr/i586-mingw32msvc/lib/libmsvcr80.a
/usr/i586-mingw32msvc/lib/libmsvcr80d.a
/usr/i586-mingw32msvc/lib/libmsvcrt.a
/usr/i586-mingw32msvc/lib/libmsvcrtd.a

I am not suere bu I think there are some coincidences of fstati64 with
the current version of mingw.


My Makefile is at http://pastebin.com/EQGuXsEx and the output of make
is too long sorry for this:


$ make
make  all-recursive
make[1]: Entering directory `/cygdrive/c/build/setup'
Making all in libgetopt++
make[2]: Entering directory `/cygdrive/c/build/setup/libgetopt++'
make[2]: Leaving directory `/cygdrive/c/build/setup/libgetopt++'
Making all in tests
make[2]: Entering directory `/cygdrive/c/build/setup/tests'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/cygdrive/c/build/setup/tests'
make[2]: Entering directory `/cygdrive/c/build/setup'
/bin/sh ./libtool --tag=CXX    --mode=link g++ -mno-cygwin -Werror
-Wall -Wno-uninitialized -Wpointer-arith -Wcomments  -Wcast-align
-Wwrite-strings -g -O2  -mwindows -L/usr/lib/w32api -o setup.exe
AntiVirus.o archive.o  archive_tar.o archive_tar_file.o  autoload.o
choose.o compress.o  compress_bz.o compress_gz.o  ConnectionSetting.o
ControlAdjuster.o  cygpackage.o desktop.o  express_package.o dialog.o
diskfull.o  download.o Exception.o find.o  FindVisitor.o filemanip.o
fromcwd.o  geturl.o ini.o IniDBBuilderPackage.o  iniparse.o
IniParseFeedback.o  IniParseFindVisitor.o install.o  io_stream.o
io_stream_cygfile.o  io_stream_file.o io_stream_memory.o  localdir.o
LogFile.o LogSingleton.o  main.o mkdir.o mklink2.o  mount.o msg.o
net.o netio.o  nio-ie5.o nio-file.o nio-ftp.o  nio-http.o package_db.o
package_meta.o  package_source.o package_version.o
PackageSpecification.o PickCategoryLine.o  PickPackageLine.o
PickView.o  postinstall.o prereq.o proppage.o  propsheet.o res.o
root.o  ScanFindVisitor.o script.o  setup_version.o simpsock.o site.o
source.o SourceSetting.o splash.o  state.o String++.o threebar.o
UserSetting.o UserSettings.o win32.o  window.o csu_util/MD5Sum.o
csu_util/rfc1738.o csu_util/version_compare.o  libmd5-rfc/md5.o
libinilex.a libgetopt++/libgetopt++.la  res.o  -lbz2 -lz  -lcomctl32
-lole32 -lwsock32 -lnetapi32 -luuid -lws2_32 -lstdc++ -lmingw32
-lws2_32
libtool: link: g++ -mno-cygwin -Werror -Wall -Wno-uninitialized
-Wpointer-arith -Wcomments -Wcast-align -Wwrite-strings -g -O2
-mwindows -o setup.exe AntiVirus.o archive.o archive_tar.o
archive_tar_file.o autoload.o choose.o compress.o compress_bz.o
compress_gz.o ConnectionSetting.o ControlAdjuster.o cygpackage.o
desktop.o express_package.o dialog.o diskfull.o download.o Exception.o
find.o FindVisitor.o filemanip.o fromcwd.o geturl.o ini.o
IniDBBuilderPackage.o iniparse.o IniParseFeedback.o
IniParseFindVisitor.o install.o io_stream.o io_stream_cygfile.o
io_stream_file.o io_stream_memory.o localdir.o LogFile.o
LogSingleton.o main.o mkdir.o mklink2.o mount.o msg.o net.o netio.o
nio-ie5.o nio-file.o nio-ftp.o nio-http.o package_db.o package_meta.o
package_source.o package_version.o PackageSpecification.o
PickCategoryLine.o PickPackageLine.o PickView.o postinstall.o prereq.o
proppage.o propsheet.o res.o root.o ScanFindVisitor.o script.o
setup_version.o simpsock.o site.o source.o SourceSetting.o splash.o
state.o String++.o threebar.o UserSetting.o UserSettings.o win32.o
window.o csu_util/MD5Sum.o csu_util/rfc1738.o
csu_util/version_compare.o libmd5-rfc/md5.o res.o  -L/usr/lib/w32api
libinilex.a libgetopt++/.libs/libgetopt++.a -lbz2 -lz -lcomctl32
-lole32 -lwsock32 -lnetapi32 -luuid -lstdc++ -lmingw32 -lws2_32
/usr/lib/gcc/i686-pc-mingw32/3.4.4/libstdc++.a(basic_file.o):basic_file.cc:(.text+0x4ed):
undefined reference to `__fstati64'
collect2: ld returned 1 exit status
Makefile:721: recipe for target `setup.exe' failed
make[2]: *** [setup.exe] Error 1
make[2]: Leaving directory `/cygdrive/c/build/setup'
Makefile:898: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/c/build/setup'
Makefile:640: recipe for target `all' failed
make: *** [all] Error 2

I don't know why it has undefined reference to __fstati64.  I am a
little confused because, I think the reason could be:

 * Install a newer version of runtime libraries but probably might
need a newer version of the compiler and linker as well( I have heard
newer versions of GCC do not understand the -mno-cygwin option), the
version of my GCC 3.4.4

* Replace the functions in stat and _stat in <sys/stat.h> with fstat64
(which has the Large File Support Issue with MinGW) or using
_FILE_OFFSET_BITS. I found some clues to the large file support issue
in this thread http://sourceware.org/ml/binutils/2011-01/msg00076.html


Could you give me some help please? I want to use _fstati64.


Best regards,


Steve


-- 
Steve Ataucuri Cruz
School of Computer Science,
San Pablo Catholic University - Arequipa, Peru (http://www.ucsp.edu.pe),
Screen Names :
 stonescenter AT hotmail DOT com (Windows Live Messenger)
 stonescenter AT gmail DOT com (Google talk)
 stonescenter AT yahoo DOT com (Yahoo Messenger)
 stonescenter (Skype)
+51.972529201 (Mobile)

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019