Giter VIP home page Giter VIP logo

Comments (5)

bubnikv avatar bubnikv commented on May 30, 2024

Welcome Vanessa to the Slic3r Prusa Edition.

Would you please point me to the file I shoud modify?

By the way, you are invited to enter your pressing needs into our issue tracker.

from prusaslicer.

VanessaE avatar VanessaE commented on May 30, 2024

The main README in your repo, i.e. this file: https://github.com/prusa3d/Slic3r/blob/master/README.md

from prusaslicer.

lordofhyphens avatar lordofhyphens commented on May 30, 2024

This should be taken care of the next time @bubnikv merges in from upstream, as it's correct there.

The commit is slic3r/Slic3r@34f1853

from prusaslicer.

bwbeall avatar bwbeall commented on May 30, 2024

Hi Vanessa,

Sorry to butt in on your discussion (this is Win64 rather than Linux, but related to build instructions) but this seems like a good place to add my two cents. I have built the Win64 release version of prusa3d/Slic3r (twice now!) with these instructions. They could use some more work, but at least it was somewhat reproducible (for my setup).

Windows 10.0.14393 Pro x64
VS 2013 Version 12.0.40629.00 Update 5 (Community Edition)
NET Framework 4.6.01586

Instructions for building slic3r for MSVC12 64-bit

Installing the dependencies:

Installing MS Visual Studio 2013 (MSVC12.0) Express

https://www.microsoft.com/en-us/download/details.aspx?id=48134
You may also be able to install the Community Edition of Visual Studio 2013 (for individuals and open-source), which has a few enhancements.

Installing the Boost libraries:

Slic3r is known to work with Boost 1.59.0. Boost 1.61.0 changed things and thus the build instructions do not work for it.
Download them from the Boost website. The official binaries won't work since they're compiled for MSVC. Extract the sources to C:\dev\boost_1_59_0. Run the following instructions from the Perl command prompt.
MINGW instructions:
cd C:\dev\boost_1_59_0
bootstrap.bat mingw
b2 toolset=gcc link=static runtime-link=static variant=release

or MSVC12 instructions:
cd C:\dev\boost_1_59_0
bootstrap.bat vc12
b2 toolset=msvc link=static runtime-link=static variant=release

Note: This appears to build vc14, rather than vc12, but I'm not sure. In any case, it didn't work properly for me. In the end, it was much simpler to install the pre-built 64-bit Boost libraries from here (auto-download):
https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0/boost_1_59_0-msvc-12.0-64.exe/download
or browse here:
https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0

Installing Cygwin

You will need to have various Cygwin packages installed - start here:
https://cygwin.com/install.html
I have chosen to save the setup-x86_64.exe (rather than repeatedly download it from the Cygwin site), which you will need to run every time you download a package. I accepted all of the default choices offered. These are the packages that I installed (some of these packages and many libraries were installed by default or as prerequisites):

Archive:
bzip2
unzip
xz

Base:
All

Devel:
cygwin-devel
make
mingw64-x86_64-binutils
mingw64-x86_64-gcc-core
mingw64-x86_64-gcc-g++
mingw64-x86_64-headers
mingw64-x86_64-runtime
mingw64-x86_64-windows-default-manifest
mingw64-x86_64-winpthreads
patch

Interpreters:
gawk

Net:
ca-certificates
curl
openssl

Shells:
bash
dash
mintty

Text:
groff
less

Utils:
diffutils
patcher
patchutils
rebase

Web:
lynx
wget

Add c:\cygwin64\bin to your PATH environment variable.

Installing Perl (wperl64)

Download the perl source from here:
http://www.cpan.org/src/5.0/perl-5.24.0.tar.gz
Extract the content to your temporary build folder, e.g. c:\Installs
Edit c:\Installs\perl-5.24.0\win32\Makefile
• I copied Win32 to Win64, and made my changes in that folder.
• Change the installation dir. I recommend using 8 characters only directory names as some modules don't work with full path names on Windows.
• A good naming convention is wperl for Win32 native build and sperl for Strawberry mingw build. wperl32d for 32bit debug build, wperl32r for 32bit release build, wperl64d for 64bit debug build etc.
So, for a 64-bit Visual Studio 2013 release version (registry lookup disabled), you should have the following:
#About line 23
INST_DRV = c:
INST_TOP = $(INST_DRV)\wperl64r

#About line 103
USE_NO_REGISTRY = define

#About line 135
CCTYPE = MSVC120FREE

To configure a similar debug version, use:
#About line 23
INST_DRV = c:
INST_TOP = $(INST_DRV)\wperl64d

#About line 103
USE_NO_REGISTRY = define

#About line 135
CCTYPE = MSVC120FREE

#About line 164
CFG = Debug

There are several other options available, including DebugSymbols (for a release version) and DebugFull – see the comments near line 148 in Makefile.

FWIW, I only tried for a few minutes, but I was not able to successfully build wxWidgets (coming up shortly) using the debug configuration - complained about missing Module::Build.

To build wperl64r, you need to open the VS2013 x64 Native Tools Command Prompt, which executes:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64

in the command line. After the batch file finishes running, do the following:
cd \Installs\perl-5.24.0\win32
nmake
nmake test
nmake install

At this point, you are going to have to do some work to get the perl install finished (a number of packages are missing that are needed).
There are also four sets of patches here that you'll need to download for packages that you are about to install:
https://drive.google.com/open?id=0B3aPl7CmzLRvZVMweWpnQTJFSHc
OpenGL-0.6704-Win64.patch
Wx-0.9928-Win64.patch
Wx-GLCanvas-0.09-Win64.patch
Wx-GLCanvas-0.09-wx3.0.3-MSA.patch

Configure cpan

When starting cpan from the command line for the first line, cpan will ask some questions and then create a user specific configuration file c:\Users\youruser.cpan\CPAN\MyConfig.pm
I recommend to move the file to a global place, so you could then switch between perl installations and always have the proper CPAN working. c:\wperl64d\lib\CPAN\Config.pm
I recommend to point the paths of the tools bzip2, gpg, gzip, patch, tar, unzip and wget to the cygwin64 installation directory and to install these Cygwin packages.
I also recommend to point the cpan working directories cpan_home, build_dir, histfile, keep_sources_where, prefs_dir, etc. to the perl installation directory, so one may switch safely between perl installations.

FWIW again, I wasn't able to move the config file (and have it found by cpan) - does this need Windows registry enabled? Also, as I added new configurations, the original MyConfig.pm got clobbered. So, I created copies of the various configs (with better names, as I created them), and then copied the correct one to MyConfig.pm.

You may also want/need to update cpan:
install CPAN
reload cpan

Install cpanminus by running:
cpan App::cpanminus

It is convenient to create a startup script to set the environment for the perl & visual studio compiler suite to run. I made sure that wperl64 appears at the start of PATH, to ensure that it was used in preference to another version (such as cygwin). The initial contents of c:\wperl64r\cmdline_init.bat will be (there will be additions shortly):
set PATH=c:\wperl64r\site\bin;c:\wperl64r\bin;%PATH%
set PERL_CPANM_HOME=c:\wperl64r\cpanm
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64

You will need to set the path to the Boost libraries in this file:
set BOOST_DIR=c:\Boost\lib64-msvc-12.0
set BOOST_INCLUDEDIR=c:\Boost (because the #include use, for example, boost\version.hpp)
set BOOST_LIBRARYDIR=c:\Boost\lib64-msvc-12.0

It is also convenient to create a desktop shortcut to open a command line with the environment initialized:
%comspec% /k ""c:\wperl64r\cmdline_init.bat""

Installing wxWidgets 3.0.3 beta

We want to use the latest wxWidgets 3.0.3 beta, because it contains patches allowing us to enable multi sample anti aliasing in Slic3r 3D view. Get it here:https://github.com/discnl/wxWidgets/releases To disable optimization for more meaningful debugging, set the environment variable CL=/Od. By default, wxWidgets are compiled with the debugging information, without link time optimization.
cd c:\Installs\wxWidgets-3.0.3-beta1\build\msw
nmake -f makefile.vc SHARED=1 BUILD=release TARGET_CPU=X64

Rename (or copy) the lib\vc_x64_dll folder to lib\vc_dll after it has finished building.

Set the WXDIR path (ideally in c:\wperl64d\cmdline_init.bat and restart the command line). Using the Installs directory example above, for example:
set WXDIR=C:\Installs\wxWidgets-3.0.3-beta1

Installing Alien-wxWidgets-0.67

Download this particular version (0.67) from http://search.cpan.org/~mdootson/Alien-wxWidgets-0.67/lib/Alien/wxWidgets.pm and extract to the c:\Installs folder.
perl Build.PL --wxWidgets-unicode=1 --wxWidgets-build=0
perl Build
cpan install Alien
cpan install Test::Pod
cpan install Test::Pod::Coverage
perl Build test
perl Build install

Installing freeglut-2.8.1

Get freeglut-2.8.1 here:
https://sourceforge.net/projects/freeglut/files/freeglut/2.8.1/
or here:
https://sourceforge.net/projects/freeglut/
Don't use freeglut-3.0.0, it will not work with perl OpenGL module!
Open freeglut-2.8.1\VisualStudio\2012\freeglut.sln in Visual Studio 2012. Let it upgrade the solution and all projects to Visual Studio 2013. There are a number of projects in the solution - I only built freeglut. If you are interested in the other, you'll need to upgrade each project individually. Build both "release" and "release_static" for x64, but disable the /GL switch (Property page, Configuration Properties, C/C++, Optimization). Close Visual Studio 2012.

Installing OpenGL-0.6704

Note that any version other than 0.6704 causes the GUI to crash.

Get OpenGL-0.6704 here:
https://github.com/zmughal/pogl/tree/OpenGL-0.6704

Extract the files, and apply two patches from OpenGL-0.6704-Win64.patch:

patch glut_util.h OpenGL-0.6704-Win64.patch
patch utils\makefile.mak OpenGL-0.6704-Win64.patch

Copy all of the header files in c:\Installs\freeglut-2.8.1\include\GL to c:\Installs\OpenGL-0.6704\include\GL.
Copy all of the lib files in c:\Installs\freeglut-2.8.1\lib\x64 to c:\Installs\OpenGL-0.6704\FreeGLUT.

set CL=/DFREEGLUT_STATIC /DNDEBUG /MD /DNO_STRICT
set LIB=%LIB%;c:\Installs\freeglut-2.8.1\lib
cd c:\OpenGL-0.6704
perl Makefile.PL verbose interface=FREEGLUT

nmake
nmake test
nmake install

Installing Wx-0.9928

Get Wx-0.9988 here:
Wx-0.9928
Extract Wx-0.9928.tar.gz and apply one patch from Wx-0.9928-Win64.patch:
patch cpp\helpers.h Wx-0.9928-Win64.patch

Then:

set CL=-DNDEBUG
perl Makefile.PL --wx-unicode --wx-toolkit=msw --extra-cflags="-DNDEBUG -fp:precise -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS"

You will need to edit the Makefile next. For ALL folder names, change the "/" to "" throughout the file - DON'T change the slashes in the URL names. There are also two sets of compiler flags that use slashes instead of dashes (search for /nologo) - change all of those flags to dashes. This is pretty ugly - you may want to save the Makefile - an "nmake clean" will blow away all your work.

For some reason, I had to copy perllibst.h from c:\Installs\perl-5.24.0\win64 to C:\wperl64r\lib\CORE. Then:

nmake

This now fails somewhere that I can't find, but the fix is simple - copy the last command executed (it's pretty lengthy), paste it in the command window, and change "/" to "" in "script/make_ext_cccc", and hit return. Then, rerun the nmake command again (which should be successful). I'm sure somebody that understands nmake better than me (not difficult) can find the root cause of the problem.

nmake test
nmake install

To run the wxdemo, install cpan install Wx::Demo and start wxperl_demo

Installing Wx-GLCanvas-0.09

Get Wx-GLCanvas-0.09 from here:
http://search.cpan.org/~mbarbon/Wx-GLCanvas-0.09/lib/Wx/GLCanvas.pm

Unpack Wx-GLCanvas-0.09.tar.gz. Apply two patches from Wx-GLCanvas-0.09-wx3.0.3-MSA.patch and four patches from Wx-GLCanvas-0.09-Win64.patch.

patch GLCanvas.xs Wx-GLCanvas-0.09-wx3.0.3-MSA.patch
patch lib\Wx\GLCanvas.pm Wx-GLCanvas-0.09-wx3.0.3-MSA.patch

patch GLCanvas.xs Wx-GLCanvas-0.09-Win64.patch
patch wx\glcanvas.xs Wx-GLCanvas-0.09-Win64.patch
patch wx\msw_myglcanvas.h Wx-GLCanvas-0.09-Win64.patch
patch wx\myglcanvas.h Wx-GLCanvas-0.09-Win64.patch

perl Makefile.PL
nmake
nmake test
nmake install

Install Math-Libm

Math-Libm fails, because the Perl installation does not contain a working SSL module. Download it manually from here:
https://github.com/alexrj/Math-Libm
and run:
perl Makefile.PL
nmake
nmake install

Install slic3r

Download slic3r from alexrj or Prusa3D:
perl Build.PL

This may fail in several places. My latest build using the Prusa3D master on 2016.11.21 built and ran flawlessly (many thanks to bubnikv and lordofhyphens)!

Install IO-stringy

If this fails, you will need to install IO-stringy. Note the folder in which IO-stringy work was performed and failed (it will be in a folder named something like "wperl64r\cpanm\work\1234567890.12345" - it looks like a date/time stamp, so the folder names are always monotonically increasing).
cd c:\wperl64r\cpanm\work\1234567890.12345
nmake install

Then continue building slic3r (back in the slic3r folder):

perl Build.PL
perl Build.PL --gui

Reinstalling OpenGL-0.6704

The Build.PL in the previous step may have clobbered the version we installed, and it may need to be reinstalled. If so, go to C:\Installs\OpenGL-0.6704, and reinstall this version of OpenGL:

cd C:\Installs\OpenGL-0.6704
nmake install

Run slic3r

Again, back in the slic3r folder:

perl slic3r.PL --gui

from prusaslicer.

bubnikv avatar bubnikv commented on May 30, 2024

Updated. Thanks.

from prusaslicer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.