Skip to content

Needs to be updated for move to gitlab #18

Description

@Moini

Hi Olof,

can you let me know if you have the time to update the vagrant file?

This repo was linked from the Inkscape website at https://inkscape.org/en/develop/getting-started/ , and I had to take it out of it now, because of the git move. However, I would like to include it again, when the repo has been updated.

[Note to self: this is the text:
Building inside a Virtual Box VM

Possibly the simplest way to build Inkscape is using inkup, which provides you with a Vagrantfile capable of building a virtual machine, which build Inkscape from sources. It requires you to have VirtualBox and Vagrant installed on your machine.]

Activity

  1. objarni commented on Jun 10, 2017

    @objarni
    Owner
  2. Moini commented on Jun 10, 2017

    @Moini
    ContributorAuthor

    Thx, @objarni !

  3. objarni commented on Jun 11, 2017

    @objarni
    Owner

    I have fiddled around for awhile now, it seems I cannot get Vagrant+VBox to install guest additions (needed for vagrant to function) correctly on my system (Windows 10, VBox 5.1.16, Vagrant 1.9.2), so I am not able to test the switch just now.

    Do you have a functioning VBox+Vagrant system to test the switch in?

  4. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    VBox yes, but I've never used Vagrant. I'm not even sure about how these things will be 'stacked'...

    I assume that vagrant opens a virtualbox instance and creates or downloads a VM, then logs into it and pulls and builds Inkscape?
    (why the 'docker' folder?)

    But I'm going to test your instructions now ;-)

  5. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    First issue:
    doesn't work with ssh, needed to do

    git clone https://github.com/objarni/inkup.git
    (this will always work, no matter if you have your ssh keys configured correctly or not)

    Second issue:
    Vagrant from package management doesn't find VirtualBox, although it is installed.
    Seems it only supports Vbox 4.0, 4.1, 4.2, 4.3, 5.0, and I have got 5.1.22... (newer than what is available from repos, because it fixes an issue...)
    Current version from https://www.vagrantup.com/downloads.html works with my Virtualbox (but that's not an issue for most people - just caused by my custom VBox installation).

    Third issue:
    Same ssh problem for inkscape.
    Changing address to https://gitlab.com/inkscape/inkscape.git solved it.

    Fourth issue:
    starting vagrant up when machine is already downloaded and imported, but there is no inkscape source code on it, just stops. Can it check for this instead, in case gitlab couldn't be reached?

    ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
    ==> default: flag to force provisioning. Provisioners marked to run always will still run.
    

    So, I deleted the VM, and tried anew.

    (btw. it asks me if I want to upgrade to 16.04, when I log in)

    fifth issue:
    git clone seems to fail (nothing happens, no files in /inkscape directory) - when done manually, it works....

    Dinner is ready, taking a break.

  6. objarni commented on Jun 11, 2017

    @objarni
    Owner

    Thanks for your thourough testing!

    To answer each of your issues:

    1. Ah, yes. Changing to https instead of ssh will not even assume people have SSH keys setup, which makes sense. I'll change.

    2. Argh, tricky. Not sure how to handle ATM.

    3. Good, I'll change.

    4. Yeah, this is one reason I'd like to change to ansible, puppet or chef instead of "custom bash script" inside the Vagrantfile. Those tools are much better at handling 'recovery/start/restart' than a bash script can ever be... So I'm slightly reluctant to "hack" the script, as I'd rather not make it any more complicated than it alredy is. Of the three tools I mentioned, ansible is the least heavyweight when it comes to learning/dependencies (just ssh) and also the most modern, so I'd prefer ansible before the other two.

    5. No idea why it fails. Would you retry after throwing away the inkup_xyz machine from the VBox main interface? (it's just another VM)?

  7. objarni commented on Jun 11, 2017

    @objarni
    Owner

    About docker: I have removed it. It was an attempt to switch from vagrant to docker, however it required the host OS to be Linux, and all necessary binary library dependences to be available too, which just misses the target of inkup (which is to make it easy to get started with inkscape development).

  8. objarni commented on Jun 11, 2017

    @objarni
    Owner

    I have solved (1) and (3); would you mind re-trying "vagrant up" from scratch, that is after removing the previous VM? If that succeeds, I would consider this issue closed.

    Of course, the general hassle of vagrant/vbox/vbox guest additions versioning does not go away, but it is unrelated to this issue.

  9. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    I think 5.) might have been an issue with me not using ls -a, but only ls....
    Vagrant is running currently, I'll check again.

    I've looked up if it's possible to only get a single git branch, to reduce the time it takes to clone.
    git clone -b trunk (or master now?) --single-branch git://sub.domain.com/repo.git - but not sure if it makes a relevant difference. Inkscape is huge with or without the 120 branches currently in the repo...

  10. objarni commented on Jun 11, 2017

    @objarni
    Owner

    Ah, great idea!

    I just tried, the command "git clone https://github.com/inkscape/inkscape.git --single-branch" took less than 15 seconds! Terrific!

    You or me to add --single-branch? 💃

  11. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    You accidentally used the github repo mirror of Inkscape in your Vagrantfile ;-)

  12. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Can you do both?

  13. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    I haven't checked how it works to update such a branch. Hope there are no pitfalls.

  14. objarni commented on Jun 11, 2017

    @objarni
    Owner

    Github, what a mistake! :) I blame Inkup being on Github.. Fixed, and using single-branch clone too.

    "I haven't checked how it works to update such a branch. "

    I don't understand what you mean?

  15. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    I know that if you do a lightweight bzr checkout, that branch is kind of worthless for updating etc. Was afraid that there may be a similar issue with single-branch git checkouts.

  16. 8 remaining items

  17. objarni commented on Jun 11, 2017

    @objarni
    Owner

    "Ha, I think I know now why it only took 15 sec for you - you used the near-empty gitlab repo ;-)"

    You are right. I timed it again with correct URL, it is a more modest 3m55s now.

    Could try doing a make yourself inside the box? It seems something went wrong with the actual make:ing of the project, but at least lib2geom seems to have gone alright?

    Also, see my README.md for troubleshooting tips, to clean up the CMake files.

  18. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Already working on it - running the build without all the options in the Vagrant file, though.

    Just cmake ../inkscape and make. Also didn't set the environment variables you set in the script.

    Yeah, but now with a useful error message (sorry, right-click doesn't work in the VM, cannot copy-paste...):

    bildschirmfoto_2017-06-11_23-05-48

  19. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Btw. you must have awesome bandwidth :)

  20. objarni commented on Jun 11, 2017

    @objarni
    Owner

    Ah, just remembered something that might be happening here when you get weird "make fails". Increase the VM's RAM memory to like 6 GB. Since it is doing builds in paralell (make -j2) it consumes a lot of RAM.

    3 GB might not make it.

  21. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Ok, will try.

  22. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Btw. the clean-cmake-files command doesn't work - it tells me that
    the source directory "/home/vagrant/build-inkscape/clean-cmake-files" does not exist

    (I just delete the directory)

  23. objarni commented on Jun 11, 2017

    @objarni
    Owner

    Yeah, I would also just delete the build-inskscape folder and start over. Could you add an issue so that we do not forget to update the readme?

    Off to bed, thanks for all your testing and contribution!

  24. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Good night - the build succeeded with more memory :)
    Edit: I'm not sure how, but I got this wrong.

  25. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    When README is updated, I'll add it back to the website :)

  26. Moini commented on Jun 11, 2017

    @Moini
    ContributorAuthor

    Huh? I must have been totally confused. Now it got stuck again at 16%, and there is no Inkscape installed. The error must be with the Inkscape / libnrtype code.

  27. objarni commented on Jun 12, 2017

    @objarni
    Owner

    I think this build issue may be related. Might it be so that the devlib available inside the Lubuntu VM is dated?

    http://inkscape.13.x6.nabble.com/Alternative-glyphs-td4980002.html#a4980016

  28. Moini commented on Jun 12, 2017

    @Moini
    ContributorAuthor

    When I do an apt-cache policy on my 16.04-based machine, I get harfbuzz-dev 1.0.1, and Inkscape compiles. Shouldn't the if-else check for the harfbuzz version work just as well on 14.04?... Anyway, not exactly your issue... Unless you want to update the VM, too (then you could add more RAM, too - but I'm no longer sure it's needed.).

    I have timed the cloning now, too, on my desktop ;-) - result:
    all branches: 27 minutes, 1,5 Gb
    single branch: 17 minutes, 900 Mb, so 10 minutes saved with my internet connection :) (which is fast, for Germany).
    compiling with j3: 15 minutes

  29. objarni commented on Jun 12, 2017

    @objarni
    Owner

    OK, I don't quite understand how the dependency check works, is it a C-header or part of CMake scripts? Where would you make a change in the Inkscape project in order for upstream to fix this issue..? Or is it a consequence of some dependency add done in the provision script?

    Nice build time :)

  30. Moini commented on Jun 12, 2017

    @Moini
    ContributorAuthor

    I can only give you the link to the file. I'm not a C++ person, and only know a little Python, all I can do is follow variable names around the code, by using search.

    https://gitlab.com/inkscape/inkscape/blob/840a38b13e01c5782d88cef336fe10352cf0c212/src/libnrtype/FontFactory.cpp#L750

    (and it worked fine on Ubuntu 16.04 - but seemed to cause issues on the VM - the code is 6 days old, so it should have been available yesterday)

  31. objarni commented on Jun 13, 2017

    @objarni
    Owner

    Ok so one solution is to use a 16.04 base box instead of 14.04.

    There is probably some image available however it annoys me as it doesn't really explain the reason behind the error.

    We could check with Inkscape core devs on the irc channel I guess, if they can see anything obvious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions