cannot compile rev 15039, Windows XP (32-bit)

Bug #1609954 reported by Alvin Penner on 2016-08-04
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Critical
Unassigned
Inkscape Devlibs
Critical
Unassigned

Bug Description

attempting to compile rev 15039 on Windows XP, I get the following attached errors.
my previous successful compile was rev 15037

Alvin Penner (apenner) wrote :
Alex Valavanis (valavanisalex) wrote :

Thanks for the report, Alvin. This is part of the Gtk+ 3/c++11 transition.

Have you attempted building with CMake?

Changed in inkscape:
status: New → Triaged
importance: Undecided → Critical
milestone: none → 0.93
Alvin Penner (apenner) wrote :

- um, no, I have no idea how to use CMake
- I was assuming that there would be updates necessary in the 32bit devlibs, as per this comment:
https://bugs.launchpad.net/inkscape/+bug/1424830/comments/1

Alex Valavanis (valavanisalex) wrote :

Hi Alvin,

There's some advice about CMake here: http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_64-bit

Note that btool is deprecated and will soon be removed.

I'm currently trying to set up a Windows build environment, and will see if I can get things working.

LucaDC (dicappello) wrote :

@Alex, I would just note that Alvin was speaking about Windows XP so I suppose that linking a reference to 'Windows_64-bit' is not entirely appropriate.

Alvin Penner (apenner) wrote :

thanks, I will try out the 32 bit instructions with Cmake later today

http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows

Alex Valavanis (valavanisalex) wrote :

Hi Alvin,

The good news: I got a 64-bit Windows CMake build working OK

The bad news: 32-bit devlibs don't provide GTK+ 3 libraries yet. There is a GTK+ 3 branch available at lp:~inkscape.dev/inkscape-devlibs/devlibs-gtk3 although I haven't yet tested it.

Alvin Penner (apenner) wrote :

yes, it appears that something is missing. I used
- Windows XP, 32 bit
- Inkscape rev 15039
- devlibs rev 63
- tdm-gcc4.6.1
- cmake 3.2.1

I executed the commands:
mkdir build
cd build
cmake -G "MinGW Makefiles" ..

...snip

-- Found Potrace: c:/devlibs/lib/libpotrace.a
-- checking for modules 'gtkmm-3.0>=3.8;gdkmm-3.0>=3.8;gtk+-3.0>=3.8;gdk-3.0>=3.
8;gdl-3.0>=3.4'
-- package 'gtkmm-3.0>=3.8' not found
-- package 'gdkmm-3.0>=3.8' not found
-- package 'gtk+-3.0>=3.8' not found
-- package 'gdk-3.0>=3.8' not found
-- package 'gdl-3.0>=3.4' not found
CMake Error at C:/Program Files/CMake/share/cmake-3.2/Modules/FindPkgConfig.cmak
e:340 (message):
  A required package was not found
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.2/Modules/FindPkgConfig.cmake:502 (_pkg_c
heck_modules_internal)
  CMakeScripts/DefineDependsandFlags.cmake:246 (pkg_check_modules)
  CMakeLists.txt:85 (include)

-- Configuring incomplete, errors occurred!
See also "C:/InkscapeBZR/build/CMakeFiles/CMakeOutput.log".

..............................................
the log file is attached

Alex Valavanis (valavanisalex) wrote :

Thanks for the feedback. Would you be able to try using the devlibs branch at lp:~inkscape.dev/inkscape-devlibs/devlibs-gtk3

Changed in inkscape-devlibs:
importance: Undecided → Critical
status: New → Triaged
Alex Valavanis (valavanisalex) wrote :

Subscribing @jazzynico for advice on devlibs-gtk3 branch :)

Alvin Penner (apenner) wrote :

I tried the branch at:
lp:~inkscape.dev/inkscape-devlibs/devlibs-gtk3

and got the following cmake errors:

jazzynico (jazzynico) wrote :

The branch was mainly a test to replace the devlibs with the OpenSuse cross-compliled win32 libs, and gtk3 was just a secondary goal (yes, the branch name is misleading...). I also used it to test (successfully!) external GDL libs.
It almost worked, but Aspell was very difficult to port (I had to compile it by myself) and the ImageMagick library crashed when running related commands (such as Bitmap extensions or the Fill bucket tool).

Unfortunately the libs are now 3 years old (compiled with GCC-4.8) and I'm not sure they can be used to build Inkscape trunk with a recent compiler and the C++11 standard.

I wrote some details in http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3/view/head:/win32-gtk3.txt

That said, Inkscape is becoming very hard to maintain for win32 due to the fact that recent gnome libs no longer support Windows XP (I've tried to compile glib and gtk3 with TDM-GCC-5.1 on XP and Seven 32-bit, with no success), and I fear it's going to be impossible to provide a win32 version of 0.93. I already warned the devel list about it some months ago when working on a TDM-GCC-5.1 based branch (not cross-compiled), but I'm not sure the devs or the board understood that the 0.03 changes would severely impact win32 builds.

Note that I have no plan to work on the win32 devlibs (trunk, 5.1 or opensuse-gtk3 branches) in a near future. I already spent too much time to try to find a sustainable solution for win32 builds, with a very limited (IMHO) result, so I'm a bit tired now. Maybe it's time to just drop it and focus on 64-bit devlibs? I'd be a bit sad because I still use Inkscape on an old XP computer at work (and fortunately Xubuntu at home on my development computer), but for now I see no other possibility.

jazzynico (jazzynico) on 2016-08-06
tags: added: build win32
Alvin Penner (apenner) wrote :

well, I am sorry to hear that. My favorite development machine for Inkscape has been an old XP laptop which I use to try to avoid conflicts with the stable release. For me, this will likely signal the end of my involvement with Inkscape code, at least until I buy a new laptop someday.
    In any event, thank you very much for all the hard work you have put into maintaining the 32 bit devlibs!

Alex Valavanis (valavanisalex) wrote :

Hi Alvin,

Just to confirm... the main development focus is now lp:inkscape/0.92.x (i.e., preparation for the forthcoming 0.92 release). This should still work fine on Windows 32-bit, so you'll still be able to contribute fully until the release (and in post-release support). I hope that by then we'll have made a final decision about ongoing Win32 support too.

summary: - cannot compile rev 15039, Windows XP
+ cannot compile rev 15039, Windows XP (32-bit)
Alvin Penner (apenner) wrote :

thanks, I'll give it a try next week

Eduard Braun (eduard-braun2) wrote :

Good news: I just successfully built a 32-bit version of Inkscape trunk using MSYS2!

From the looks of it we could greatly simplify the build-process on Windows by switching to MSYS2 in future and harmonize 32/64 bit builds (while at the same time removing the burden to maintain the devlibs and profiting from always up-to-date library versions).

Bad news: Doesn't seem to run on Windows XP :-(
"This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines."
Any ideas? (I'm not totally if MSYS2 is supposed to support XP; the information on the homepage only applies to the installer if I understand correctly, though)

Eduard Braun (eduard-braun2) wrote :

Sorry, didn't copy the whole error message:
"The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector"

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers