Comments (5)
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.
The main README in your repo, i.e. this file: https://github.com/prusa3d/Slic3r/blob/master/README.md
from prusaslicer.
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.
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.
Updated. Thanks.
from prusaslicer.
Related Issues (20)
- cannot cancel skirt
- No sparse layers causes crash if error during filament loading
- Mk3.5 Messy rectilinear infill layers when moving fast HOT 1
- "Export plate including supports" exports hidden objects as well
- Firmware Type question during PrusaSlicer installation HOT 1
- Unnecessary support base being generated on bed
- 2.7.4 does not compile with boost-1.85.0: fatal error: boost/filesystem/convenience.hpp: No such file or directory HOT 4
- Brim on corners HOT 2
- Transition nozzle heat up X-layers HOT 4
- Large Nozzles (1.2mm diameter) and Organic Supports - No contact and the object has less of it supported
- Sequential Printing with multiple extruders doesnt properly set is_extruder_used HOT 1
- Gcode forces printhead to go to Z=0 after print ends but before it moves away HOT 1
- Headbed does not turn off after Print is finished HOT 8
- Ironing doesn't recognize 'top layer' if 100% infill layers are used with zero top and zero bottom layers HOT 1
- not running on OpenGl 3.1
- Crash when importing this STL file
- Malformed slicing HOT 4
- Loading old project file turns wipe tower into purge tower HOT 1
- Linux -- Application Font size ignored in Preview Legend, Tip of the Day, and other viewport areas -- unreadably small on a 4k laptop
- preferences
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prusaslicer.