OlafvdSpek / ctemplate

BSD 3-Clause "New" or "Revised" License
353 stars 93 forks source link

VS2017 latest version, build ctemplate failed #135

Open Junru opened 6 years ago

Junru commented 6 years ago

Hi Alls, I'm trying build the librairie ctemplate in Windows 10 Visio studio 2017, but some build problem block my:
Can not build ctemplate.dll cannot open included file : "htmlparser/jsparser_fsm.h": No such file or directory file: jsparser.cc line : 56 cannot open included file : "htmlparser/htmlparser_fsm.h": No such file or directory file: htmlparser.cc line : 62

and I also tried ./vcpkg install ctemplate, not work also, the logs errors like these : error C2065: 'htmlparser_states_external': undeclared identifier [D:\Download\vcpkg-master\buildtrees\ctemplate\x86-windows-dbg\libctemplate.vcxproj]

OlafvdSpek commented 6 years ago

Hi Junru,

Hmm, let's take a look at the vcpkg issue.

Junru commented 6 years ago

Hi Olaf, Thanks for your answer. I'm using [https://github.com/Microsoft/vcpkg] latest version, it doesn't work anymore with command ./vcpkg install ctemplate

OlafvdSpek commented 6 years ago
PS C:\vc\vcpkg> ./vcpkg remove ctemplate
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
The following packages will be removed:
    ctemplate:x86-windows
Removing package ctemplate:x86-windows...
Removing package ctemplate:x86-windows... done
Purging package ctemplate:x86-windows...
Purging package ctemplate:x86-windows... done
PS C:\vc\vcpkg> ./vcpkg install ctemplate
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
The following packages will be built and installed:
    ctemplate[core]:x86-windows
Starting package 1/1: ctemplate:x86-windows
Building package ctemplate[core]:x86-windows...
-- CURRENT_INSTALLED_DIR=C:/VC/vcpkg/installed/x86-windows
-- DOWNLOADS=C:/VC/vcpkg/downloads
-- CURRENT_PACKAGES_DIR=C:/VC/vcpkg/packages/ctemplate_x86-windows
-- CURRENT_BUILDTREES_DIR=C:/VC/vcpkg/buildtrees/ctemplate
-- CURRENT_PORT_DIR=C:/vc/vcpkg/ports/ctemplate
-- Downloading https://github.com/OlafvdSpek/ctemplate/archive/4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b.tar.gz...
-- Downloading https://github.com/OlafvdSpek/ctemplate/archive/4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b.tar.gz... OK
-- Testing integrity of downloaded file...
-- Testing integrity of downloaded file... OK
-- Extracting source C:/VC/vcpkg/downloads/OlafvdSpek-ctemplate-4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b.tar.gz
-- Extracting done
-- Downloading https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip...
-- Downloading https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip... OK
-- Testing integrity of downloaded file...
-- Testing integrity of downloaded file... OK
-- Configuring x86-windows
-- Configuring x86-windows done
-- Build x86-windows-dbg
-- Build x86-windows-dbg done
-- Build x86-windows-rel
-- Build x86-windows-rel done
-- Installing: C:/VC/vcpkg/packages/ctemplate_x86-windows/share/ctemplate/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package ctemplate[core]:x86-windows... done
Installing package ctemplate[core]:x86-windows...
Installing package ctemplate[core]:x86-windows... done
Elapsed time for package ctemplate:x86-windows: 24.32 s

Total elapsed time: 24.32 s

PS C:\vc\vcpkg>

Could you post the full log files of vcpkg?

Junru commented 6 years ago

Sure, `PS D:\Download\vcpkg-master> .\vcpkg.exe remove ctemplate The following packages are not installed, so not removed: ctemplate:x86-windows Package ctemplate:x86-windows is not installed Purging package ctemplate:x86-windows... Purging package ctemplate:x86-windows... done PS D:\Download\vcpkg-master> .\vcpkg install ctemplate The following packages will be built and installed: ctemplate[core]:x86-windows Starting package 1/1: ctemplate:x86-windows Building package ctemplate[core]:x86-windows... -- CURRENT_INSTALLED_DIR=D:/Download/vcpkg-master/installed/x86-windows -- DOWNLOADS=D:/Download/vcpkg-master/downloads -- CURRENT_PACKAGES_DIR=D:/Download/vcpkg-master/packages/ctemplate_x86-windows -- CURRENT_BUILDTREES_DIR=D:/Download/vcpkg-master/buildtrees/ctemplate -- CURRENT_PORT_DIR=D:/Download/vcpkg-master/ports/ctemplate -- Using cached D:/Download/vcpkg-master/downloads/OlafvdSpek-ctemplate-4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b.tar.gz -- Testing integrity of cached file... -- Testing integrity of cached file... OK -- Configuring x86-windows -- Configuring x86-windows done -- Build x86-windows-dbg CMake Error at scripts/cmake/vcpkg_build_cmake.cmake:170 (message): Command failed: D:/Download/vcpkg-master/downloads/tools/cmake-3.10.2-windows/cmake-3.10.2-win32-x86/bin/cmake.exe;--build;.;--config;Debug;--target;install;--;/p:VCPkgLocalAppDataDisabled=true;/p:UseIntelMKL=No Working Directory: D:/Download/vcpkg-master/buildtrees/ctemplate/x86-windows-dbg See logs for more information: D:\Download\vcpkg-master\buildtrees\ctemplate\install-x86-windows-dbg-out.log

Call Stack (most recent call first): scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake) ports/ctemplate/portfile.cmake:21 (vcpkg_install_cmake) scripts/ports.cmake:72 (include)

Error: Building package ctemplate:x86-windows failed with: BUILD_FAILED Please ensure you're using the latest portfiles with .\vcpkg update, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: ctemplate:x86-windows Vcpkg version: 0.0.113-nohash

Additionally, attach any relevant sections from the log files above. PS D:\Download\vcpkg-master>`

Junru commented 6 years ago

install-x86-windows-dbg-out.log Please find the full log file here, sorry for my first time post issues here, not really know how to operate correct, there have some chinese but does's matter for understand

ras0219-msft commented 6 years ago

This may be a poor interaction between Chinese language settings and python3; perhaps the generated files are being written out in a non-utf-8 encoding?

@olafvdspek Here's how we're generating the files: https://github.com/Microsoft/vcpkg/blob/47d904608c25988c1bf377b773059d93ad69f198/ports/ctemplate/CMakeLists.txt#L65-L77 @Junru can you confirm that the files at \vcpkg-master\buildtrees\ctemplate\x86-windows-dbg\include\htmlparser\htmlparser_fsm.h are "correctly" generated and are encoded in UTF-8?

OlafvdSpek commented 6 years ago

@ras0219-msft Hi Robert! :D How'd you notice this issue? ;)

I'm not sure what output encoding Python defaults too. Perhaps @Junru could attach the generated file?

ras0219-msft commented 6 years ago

I keep an eye out for "vcpkg" mentions in issues :)

Junru commented 6 years ago

@ras0219-msft Hi, I confirmed the files at

\vcpkg-master\buildtrees\ctemplate\x86-windows-dbg\include\htmlparser\htmlparser_fsm.h This file created but it is empty, nothing generated. I reset my default language to the English, not really work. Here is the right English language output log : install-x86-windows-dbg-out.log

Zhou-zhi-peng commented 5 years ago

You need to manually generate these files, the command:

cd src/htmlparser ./generate_fsm.py htmlparser_fsm.config > htmlparser_fsm.h ./generate_fsm.py jsparser_fsm.config > jsparser_fsm.h ./generate_fsm.py ../tests/statemachine_test_fsm.config > ../tests/statemachine_test_fsm.h

Note: The following commands must be executed in Linux. If you execute the command on Windows, the generated file will not be compiled. The reason is unknown. I think it may be related to the python version.

pinotree commented 4 years ago

130 was submitted as fix on Windows, maybe it's related to this issue.

In any case, I just submitted a series to switch to Python 3 -- see #139. Can you please test it on top of ce1b8fe617bc052c1d9bf0be6000ead2fd205c6b and 4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b? Thanks!