[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #63480] Build error on Cygwin
From: |
Markus Mützel |
Subject: |
[Octave-bug-tracker] [bug #63480] Build error on Cygwin |
Date: |
Wed, 7 Dec 2022 04:55:11 -0500 (EST) |
URL:
<https://savannah.gnu.org/bugs/?63480>
Summary: Build error on Cygwin
Project: GNU Octave
Submitter: mmuetzel
Submitted: Wed 07 Dec 2022 10:55:09 AM CET
Category: Configuration and Build System
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Build Failure
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Release: dev
Discussion Lock: Any
Operating System: Other
Fixed Release: None
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Wed 07 Dec 2022 10:55:09 AM CET By: Markus Mützel <mmuetzel>
This was first noted in bug#63437#30 and bug#63437#37. But it is probably
unrelated to those changes.
IIUC, Cygwin coincidentally updated from 3.3.8 to 3.4.0 when the changes for
that report were applied.
Linking octave-svgconvert for Cygwin fails with the following error on the
CI:
https://github.com/gnu-octave/octave/actions/runs/3616932076/jobs/6095331859#step:10:29241
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld:
src/octave_svgconvert-octave-svgconvert.o: in function `main':
/cygdrive/d/a/octave/octave/.build/../src/octave-svgconvert.cc:912: undefined
reference to
`__imp__ZN5QFile4openEP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEES2_IN11QFileDevice14FileHandleFlagEE'
collect2: error: ld returned 1 exit status
The undefined symbol demangles to
QFile::open(__sFILE*, QFlags<QIODevice::OpenModeFlag>,
QFlags<QFileDevice::FileHandleFlag>)
The symbol that is exported by the Qt5Core library is the following:
$ nm -C /lib/libQt5Core.dll.a | grep QFile::open
1. T QFile::open(int,
QFlags<QIODevice::OpenModeFlag>,
QFlags<QFileDevice::FileHandleFlag>)
2. T QFile::open(__sFILE64*,
QFlags<QIODevice::OpenModeFlag>,
QFlags<QFileDevice::FileHandleFlag>)
3. T
QFile::open(QFlags<QIODevice::OpenModeFlag>)
Note the `__sFILE64*` instead of the `__sFILE*` that we'd like to use.
The following change avoids the link error:
diff -r deb553ac2c54 src/octave-svgconvert.cc
--- a/src/octave-svgconvert.cc Tue Dec 06 15:45:27 2022 -0500
+++ b/src/octave-svgconvert.cc Wed Dec 07 10:51:59 2022 +0100
@@ -27,6 +27,9 @@
# include "config.h"
#endif
+#define __LARGE64_FILES
+
+#include <cstdio>
#include <iostream>
#if defined (OCTAVE_USE_WINDOWS_API)
I'm not proposing that this should be applied in Octave. Rather, it's just a
work-around to illustrate where there might be a regression in Cygwin 3.4.0.
This might be a regression from the following upstream change:
https://github.com/msys2/msys2-runtime/commit/2902b3a09e0a45c4971b59f78ab175b71b3c755e
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63480>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin,
Markus Mützel <=
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/07
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/08
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, anonymous, 2022/12/08
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, anonymous, 2022/12/08
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/09
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, anonymous, 2022/12/09
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/09
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, anonymous, 2022/12/09
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/09
- [Octave-bug-tracker] [bug #63480] Build error on Cygwin, Markus Mützel, 2022/12/12