GtkExtra wont compile to DLL on MingW64 WinXP64 or Win7/64
"oliver" <[email protected]> Wed, 14 Dec 2016 07:43:17 -0500
| Newsgroups | gmane.comp.scigraphica.gtkextra |
|---|---|
| Message-ID | <B7A8E604F0E14FD3B07348D7F706E1D3@art64> |
This is a multi-part message in MIME format.
--===============4086643379428298624==
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0022_01D255DD.BCFB87E0"
This is a multi-part message in MIME format.
------=_NextPart_000_0022_01D255DD.BCFB87E0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
We have been playing around with Gtk/GTKExtra on WinXP64 and Win764, =
under
Mingw64, mostly using the 32-bit compilers.
=20
We create our own entire MingW infrastructure from scratch (i.e. build
everything from scratch) following a process much like that suggested =
here
(http://ingar.satgnu.net/devenv/mingw32/base.html).
=20
We have compiled the GTKExtra package many times, as we make various
adjustments to the source to suit our needs. The compile to DLL's has
always worked (and also with Glade integration when required) with =
32bit
GCC
=20
=20
Recently, we wished to compile GTKExtra with the 64bit GCC package, but =
it
always fails with errors like:
=20
=20
............
gtkplotgdk.lo gtkplotpc.lo gtkplotpixmap.lo gtkplotpolar.lo =
gtkplotprint.lo
gtkplotps.lo gtkplotsegment.lo gtkplotsurface.lo gtkpsfont.lo =
gtksheet.lo
gtksheetcolumn.lo gtktogglecombo.lo gtkextra-marshal.lo
gtkextratypebuiltins.lo -lm=20
libtool: link: rm -fr .libs/libgtkextra-win32-3.0.a
.libs/libgtkextra-win32-3.0.la .libs/libgtkextra-win32-3.0.lai
=20
*** Warning: linker path does not have real file for library -lcomdlg32.
*** I have the capability to make that library automatically link in =
when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libcomdlg32 and none of the candidates passed a file format =
test
*** using a file magic. Last file checked:
C:/Apps/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../..=
/x8
6_64-w64-mingw32/lib//libcomdlg32.a
............
=20
Once these start to print, it is a certainty that the GtkExtra DLL will =
not
be created, and the build will exit with Error (dll not found, etc =
during
install)
=20
=20
............
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/build64/gtkextra-3.3.0'
make: *** [all] Error 2
............
=20
=20
With the 32bit builds, all that is required is ./configure --prefix ... =
(and
possible enable glade), and it always works (i.e. creates the GtkExtra =
DLL)
=20
With the 64 bit builds, we have tried every permutation we could think =
of,
such as specify the "host=3D" and "build=3D" options, as well as "enable =
=3D
shared" "disable =3D static " etc etc for example
./configure --build=3Dx86_64-w64-mingw32 --prefix=3D${LOCALDESTDIR}
--disable-static
=20
... but no joy, it insists on building static, and apparently it =
"chokes"
primarily on the Windows API libs such as lcomdlg32. Though, we know =
with
certainty both the 32bit and 64bit ComDlg32.DLL's (etc) are on the path =
(and
it does see those with with the 32 bit compile).
=20
... we also know with certainty the that all other aspects of the 64bit
mingw build/install is working correctly since, for example, it =
correctly
creates the 64bit dll's for GLib, Gtk and Gdk (and Pango, Cairo, etc =
etc)
when we build those from scratch
=20
We have also tested everything with permutations of GCC 5.2.0 - 6.2.0, =
Gtk
2.2.24.28 - 2.24.31 (the later of which requires a much more extensive =
Mingw
infrastructure, and also with and and without various patches that are =
not
obvious as to their usefulness, but just in case)
=20
... we tend to use the sjlj GCC variant for the 32bit work, and the SEH =
GCC
variant for the 64 bit work.
=20
=20
=20
The only package we can't build in (shared) 64 bit mode is the GTKExtra =
DLL.
=20
Any assistance would be greatly appreciated.
=20
=20
Cheers
=20
DrO (Dr Oliver Bajor)
=20
=20
PS a): Since around ver 3.1.5, the GtkExtra package appears to be =
missing
the file glade-gtksheet-editor.h, which is required if the "enable =
glade"
option is desired (we just copied the file from an older back up)
=20
=20
PS b): we have run into a couple of other Gtk/GTKExtra problems that we =
as
have posted on StackOverflow, just in case any body might have some =
thoughts
on those as well.
=20
1)
http://stackoverflow.com/questions/40755870/win-os-clipboard-targets-vs-g=
tkc
lipboard-targets
=20
2)
http://stackoverflow.com/questions/40730454/gtkclipboard-gdk-property-del=
ete
-targets-crash-excel-only-windows
=20
=20
------=_NextPart_000_0022_01D255DD.BCFB87E0
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<TITLE>Message</TITLE>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.23562"></HEAD>
<BODY>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>We =
have been playing=20
around with Gtk/GTKExtra on WinXP64 and Win764, under Mingw64, mostly =
using the=20
32-bit compilers.</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>We =
create our own=20
entire MingW infrastructure from scratch (i.e. build everything from =
scratch)=20
following a process much like that suggested here (<A=20
href=3D"http://ingar.satgnu.net/devenv/mingw32/base.html">http://ingar.sa=
tgnu.net/devenv/mingw32/base.html</A>).</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>We =
have compiled the=20
GTKExtra package many times, as we make various adjustments to the =
source to=20
suit our needs. The compile to DLL's has always =
worked =20
(and also with Glade integration when required) with 32bit=20
GCC</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN =
class=3D218305711-14122016>Recently, we wished=20
to compile GTKExtra with the 64bit GCC package, but it always fails with =
errors=20
like:</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016>............</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN =
class=3D218305711-14122016>gtkplotgdk.lo=20
gtkplotpc.lo gtkplotpixmap.lo gtkplotpolar.lo gtkplotprint.lo =
gtkplotps.lo=20
gtkplotsegment.lo gtkplotsurface.lo gtkpsfont.lo gtksheet.lo =
gtksheetcolumn.lo=20
gtktogglecombo.lo gtkextra-marshal.lo =
gtkextratypebuiltins.lo -lm=20
<BR>libtool: link: rm -fr .libs/libgtkextra-win32-3.0.a=20
.libs/libgtkextra-win32-3.0.la=20
.libs/libgtkextra-win32-3.0.lai</SPAN></FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>*** =
Warning: linker=20
path does not have real file for library -lcomdlg32.<BR>*** I have the=20
capability to make that library automatically link in when<BR>*** you =
link to=20
this library. But I can only do this if you have a<BR>*** shared =
version=20
of the library, which you do not appear to have<BR>*** because I did =
check the=20
linker path looking for a file starting<BR>*** with libcomdlg32 and none =
of the=20
candidates passed a file format test<BR>*** using a file magic. Last =
file=20
checked:=20
C:/Apps/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../..=
/x86_64-w64-mingw32/lib//libcomdlg32.a</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016>............</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>Once =
these start to=20
print, it is a certainty that the GtkExtra DLL will not be created, and =
the=20
build will exit with Error (dll not found, etc during=20
install)</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016>............</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN =
class=3D218305711-14122016>make[1]: ***=20
[all-recursive] Error 1<BR>make[1]: Leaving directory=20
`/build64/gtkextra-3.3.0'<BR>make: *** [all] Error 2</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016>............</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>With =
the 32bit=20
builds, all that is required is ./configure --prefix ... (and possible =
enable=20
glade), and it always works (i.e. creates the GtkExtra =
DLL)</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>With =
the 64 bit=20
builds, we have tried every permutation we could think of, such as =
specify the=20
"host=3D" and "build=3D" options, as well as "enable =3D shared" =
"disable =3D static "=20
etc etc for example</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN =
class=3D218305711-14122016>./configure=20
--build=3Dx86_64-w64-mingw32 --prefix=3D${LOCALDESTDIR}=20
--disable-static</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>... =
but no joy, it=20
insists on building static, and apparently it "chokes" primarily on the =
Windows=20
API libs such as lcomdlg32. Though, we know with certainty both =
the 32bit=20
and 64bit ComDlg32.DLL's (etc) are on the path (and it does see =
those with=20
with the 32 bit compile).</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>... we =
also know=20
with certainty the that all other aspects of the 64bit mingw =
build/install is=20
working correctly since, for example, it correctly creates the =
64bit=20
dll's for GLib, Gtk and Gdk (and Pango, Cairo, etc etc) when we =
build those=20
from scratch</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>We =
have also tested=20
everything with permutations of GCC 5.2.0 - 6.2.0, Gtk 2.2.24.28 - =
2.24.31 (the=20
later of which requires a much more extensive Mingw infrastructure, and =
also=20
with and and without various patches that are not obvious as to their=20
usefulness, but just in case)</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>... we =
tend to use=20
the sjlj GCC variant for the 32bit work, and the SEH GCC variant for the =
64 bit=20
work.</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>The =
only package we=20
can't build in (shared) 64 bit mode is the GTKExtra =
DLL.</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>Any =
assistance would=20
be greatly appreciated.</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016>Cheers</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>DrO =
(Dr Oliver=20
Bajor)</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>PS =
a): Since=20
around ver 3.1.5, the GtkExtra package appears to be missing the file=20
glade-gtksheet-editor.h, which is required if the "enable glade" option =
is=20
desired (we just copied the file from an older back =
up)</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>PS =
b): we have=20
run into a couple of other Gtk/GTKExtra problems that we as have posted =
on=20
StackOverflow, just in case any body might have some thoughts on those =
as=20
well.</SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN class=3D218305711-14122016>1) <A=20
href=3D"http://stackoverflow.com/questions/40755870/win-os-clipboard-targ=
ets-vs-gtkclipboard-targets">http://stackoverflow.com/questions/40755870/=
win-os-clipboard-targets-vs-gtkclipboard-targets</A></SPAN></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT face=3DArial><FONT size=3D2><SPAN =
class=3D218305711-14122016>2)</SPAN> <A=20
href=3D"http://stackoverflow.com/questions/40730454/gtkclipboard-gdk-prop=
erty-delete-targets-crash-excel-only-windows">http://stackoverflow.com/qu=
estions/40730454/gtkclipboard-gdk-property-delete-targets-crash-excel-onl=
y-windows</A></FONT></FONT></DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV>
<DIV><FONT size=3D2 face=3DArial><SPAN=20
class=3D218305711-14122016></SPAN></FONT> </DIV></BODY></HTML>
------=_NextPart_000_0022_01D255DD.BCFB87E0--
--===============4086643379428298624==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
--===============4086643379428298624==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Scigraphica-gtkextra mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scigraphica-gtkextra
--===============4086643379428298624==--