newbie question about current libraries

Asked by MM on 2013-02-11

Hi all.

I would like to compile for Windows a version including the Bspline tools developed by Javier (lp:~jabiertxof/inkscape/BSpline+SpiroLive) and the new measurement tool included already into the deveopers version. Could someone confirm me which libraries I have to download with Bazaar?

I have already tried to do it but unsuccessfully. Despite the compiling processes looked to be fine, when I tried to launch the exe I had an immediate crash. No chance with a cold reboot to fix the problem.

I have also noticed that after having downloaded with lp:inkscape on my C drive there isn't any directory called "gtk210" (in the talk page of the wiki someone mentioned there should be one), but I have only the devlibs one. Is it ok?

I'm working on Windows 7. If someone would like to help me in this mission impossible considering my poor knowledge on the topic I will appreciate very much.

Thank in advance for the help

Question information

Language:
English Edit question
Status:
Solved
For:
Inkscape Edit question
Assignee:
jazzynico Edit question
Solved by:
MM
Solved:
2013-02-11
Last query:
2013-02-11
Last reply:
MM (tiresia-a) said : #1

Sorry, stupid question. Solved by reading more attentively documentation.

su_v (suv-lp) said : #2

In the topic on inkscapeforum.com you mention this about the compiler version required for compiling Inkscape on Windows with the current devlibs:
> The guys of TDM force the installer - even in the older versions - to refer to some 4.7.1. release (…)

AFAIK (I don't compile on Windows myself), the installer of the older GCC version has a checkbox (which is not ticked by default) to install the old version, see also comment #6 of <https://bugs.launchpad.net/inkscape/+bug/1071859>
<quote>
Please excuse my ignorance. The installer has a check box that, when checked, installs the newest version. I didn't see that check box and didn't un-tick it. Now, it seems to work.
</quote>

To the best of my knowledge, there should be no need to manually downgrade parts of GCC…

su_v (suv-lp) said : #3

~suv wrote:
> In the topic on inkscapeforum.com you mention this about (…)

Offering my apologies in case I did jump at wrong conclusions, and you are not the same person who created the Windows builds for jabiertxof's BSpline+LiveSpiro branch as discussed here:
<http://www.inkscapeforum.com/viewtopic.php?f=11&t=13496&p=52086#p52086>

MM (tiresia-a) said : #4

Hi.

Yes I am the same one who wrote it on inkscape forum. I didn't notice this option when I have installed TDM tool (and I did it few times because I always ended to a compiled version that didn't launch the exe without any apparent message of error anywhere). If it is so, I will be glad to edit on the forum.

It stays that if I download an installer for a version called 4.6.1. and that also TDM very probably knows that for a hge project like Inkscape that special version is needed, it seems to me quite curious that I have to check an option (or uncheck another) to install exactly that version. I assume that if I'm looking for an older version, maybe I have some reason to do so, no?

Anyway, I don't want to argue. My fault that I didn't notice and that - as a consequence - I did everything manually to get all the single parts needed. Next time I will pay more attention. As I wrote, I'm a newbie and poorly familiar with these stuffs.

Thanks for having driven my attention on this issue.

MM (tiresia-a) said : #5

Hi.

Just for the sake of truth, I have tried again with the installer available from the link given in the wiki page. Sorry, but there isn't any option to install the GCC 4.6.1. Three available options on GCC version:

1. Mingw stable 4.7.0-1
2. TDM-GCC Current 4.7.1-tdm-1
3. TDM-GCC Current 4.7.1 -tdm-1-dw2-3

whatever type of install you have selected. Then, maybe the compiler works with one of these three, but it didn't for me on Windows 7 Ultimate. Just after having packed manually each and every part I got the compiled branch working.

Sorry for coming back on this issue, but I guess it can be useful to others also to have feedbacks. If there aren't omissions, I will amend again my post on the inkscape forum as now the information are misleading again.

Regards

su_v (suv-lp) said : #6

@JazzyNico - any chance you could comment here and clarify the situation for the required GCC compiler version on Windows?
How does one force the installer downloaded via link on Wiki page to not install TDM-GCC Current 4.7.1?

Wiki page about compiling on Windows:
<http://wiki.inkscape.org/wiki/index.php/Win32Port#Setting_up_the_build_environment>:

links to this download page:
<http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/>

@MM - which installer from that download page is the one you tried, and which you can't force to install 4.6.1 despite being labelled as such?

MM (tiresia-a) said : #7

Sorry, suv. I'm not english mother language so it is my fault in explaining.

It is not the link forcing, of course. The link sends to a download page where you can get the file named "tdm-gcc-4.6.1.exe". Now, if you download that exe and you run it, you'll see that you don't have any option to install TDM GCC 4.6.1, but you can chose one of the versions I have listed.

Now, at the very beginning I have installed all the three ones (three different installations) to compile the branch and I haven't been able to get a working one. Every time, without any error message, I found the inkscape.exe in the proper directory, I run it, but nothing happend. Called it from the console. Nothing.

Then I have tried to install again and during the process I noticed that the GCC installed was always some 4.7. something. Then I thought that maybe it wasn't the version I was in need of. Googled, found almost everything on sourceforge, unzipped the parts downloaded, put them in one directory called mingw in C:\, pointed path to that directory (bin) , followed again instrauctions and I got the branch working with theerror at the very first trial and the issue of fonts installation. Exactly and precisely what I wrote in the forum.

So, in short, if you run that installer, despite the name 4.6.1 you won't have installed that version. At least, the name of the file is misleading.

I also added that I don't know, as I don't have enough knowledge, whether the problems for my compiled version came from the version of TDM GCC or from somewhere else. I just had them and when I changed the TDM GCC version the way I have described I solved the problem.

Sorry again for my bad english, but I guees that now the situation is better understandable.

Regards

jazzynico (jazzynico) said : #8

@~suv, @MM - I'll try to answer the question tommorrow. Not that it's very complex, but I want to be clear about what's working currently, and what's in progress.

su_v (suv-lp) said : #9

On 2013-02-12 23:06 +0100, MM wrote:> It is not the link forcing, of course. The link sends to a download page
> where you can get the file named "tdm-gcc-4.6.1.exe". Now, if you
> download that exe and you run it, you'll see that you don't have any
> option to install TDM GCC 4.6.1, but you can chose one of the versions I
> have listed.

Sorry, I (personally) cannot see this (I don't use Windows myself, and do not have access to Windows machine where I could test run the installer myself). That's why I do hope that JazzyNico (for whom my last comment was intended, mostly) can clarify the issue (he is the maintainer of the WIndows devlibs at the moment).

What I do know from two other Windows users is that the installer does offer (or did offer at least until 21.12.2012) the option to install 4.6.1 (both users had initially failed to notice, and installed 4.7.1 instead). Either the installer has been modified since (i.e. after 21.12.2012), or possibly the installer includes different options/dialogs depending on the language setting?

MM (tiresia-a) said : #10

To me no problems. I'm not used to take personally anything. I also will be happy to read something explained more in details as there is always a lot to learn.

Just to add info: my system is set in Italian language, but the installer runs in English. As far as I see, there is no option to install a localized version. I have downloaded the installer 4 or 5 times, but not before the beginning of February 2013 for sure.

Regards

jazzynico (jazzynico) said : #11

MM> So, in short, if you run that installer, despite the name 4.6.1 you won't have installed that version. At least, the name of the file is misleading.

At the beginning of the installation process, the wizard shows a Create/Manage/Remove window. There's a checkbox at the bottom that says: "Check for updated files on the TDM-GCC server". I guess that if you leave it checked (default option), the installer downloads and uses the latest TDM-GCC version instead of the files from the installer. Thus unchecking the box should work.

4.6.1 is required because most dlls in the devlibs were built with GCC versions from 4.4 to 4.6.1. Some of them were compiled by the devlibs maintainers, others downloaded from the Gnome project FTP. Since those GCC versions are ABI compatible, mixing the dlls isn't a problem since you compile the application with 4.6.1.
But 4.7 introduces some changes in the ABI (see http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html) that don't break compilation, but prevent Inkscape from launching.

Maintaining the current devlibs is not very easy. Apart from the required GCC version, some libs are somewhat difficult to compile on Windows, and updating a lib often leads to updating most of its dependencies, with lots of extra work. That's why we try to keep the devlibs relatively stable, and change touchy libs (gtk related ones) only when it's absolutely required (e.g. when the new version fixes a bug).

Tests with experimental devlibs, based on the OpenSuse cross-compiled packages repository (http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_12.2/noarch/) are currently in progress. Some libs are missing and still need to be compiled separately by the devlibs maintainers, and some features (spellchecker and ImageMagick based extensions) don't work yet, but we've made good progress recently, and I've managed to compile Inkscape with GCC4.7 in GTK2 and GTK3 mode with the new files.

A branch is available (https://code.launchpad.net/~jazzynico/inkscape-devlibs/devlibs-gtk3) if you want to test it. Note that it requires some modifications in the trunk code (everything is explained in the win32-gtk3.txt file), but nothing really difficult if your Inkscape branch is up to date (and include the latest trunk changes, which may not be the case for Jabier's Bspline branch) . I plan to release a new revision (r11) today that should make things a bit easier.

Regards.

MM (tiresia-a) said : #12

Thank you for the explanation, JazzyNico. I had another look and it's true: unchecking that box in the first step of the installation process gives the version required (4.6.1).

Just a couple of thoughts:

- this idea that I have to uncheck an option which is set by default to a different version even if I have downloaded an installer clearly named with another specific version is a little extravagant. Maybe the opposite could have been a little more linear considering that I'm not the first nor the only one who has fallen into this trap.

- considering also this tricky situation, it could be useful to add to the wiki a kind of remark so to give the right tip to those who approach the compiling procedure for the first times.

For the rest, I can only thank you all for the huge job you do to let us use for free such a great piece of software and for the support you give us.

Regards