I have been trying to rebuild the windows binaries for liblinear following the instructions in the Readme, using visual c++ and nmake. I need to rebuild because I need the SVM probability outputs. I modified the check_probability_model method in linear.cpp as suggested in the FAQ (https://www.csie.ntu.edu.tw/~cjlin/liblinear/FAQ.html#training_and_prediction). The build succeeds without errors but when I execute one of the binaries train.exe or predict.exe, they freeze/hang with no output. This happens also with the unmodified code. The included binaries in the zip file run fine.
Anyone got an idea what might cause this?
I have Visual Studio 2015 Community installed with visual c++ compiler. I used the 64 bit settings in the makefile.
Related
We're currently making a build environment for some of our projects.
In particular we're using VC++ 6.0 and VS2019 to build some of these projects.
When building our C++ project in VS2019 with the Platform Toolkit set to C++ 2015 v140, MSBuild attempts to use the VC++ 6.0 compiler to build the project. If I switch the Toolkit to any other version it builds with the correct cl.exe.
If I remove the VC98 folder that contains cl.exe from the path environment variable I get a cl.exe can't be found error in VS2019.
So I think there's something hardcoding the 2015 toolkit against the VC6.0 cl.exe.
I've tried installing and reinstalling the additional components in the VS Installer but no luck.
Repair of VS2019 didn't fix it either.
I've tried all versions of Visual Studio back to 2013 same issue.
This looks like an MSBuild issue, it's in the wrong location.
Is there any place where I can view the mapping for the toolkits in MSBuild? I couldn't see much in the registry.
The output when I build shows the following, the version is clearly a very old compiler (the VC6.0 one):
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
I am trying to compile my fork of ReactOS using CMake 3.9.0-MSVC_2 (as included with Visual Studio 2017, 15.4 update). When I have CMake generate NMake makefiles or Ninja inputs, it works just fine. However, when I tell CMake to generate a Visual Studio 2017 solution, it fails with a weird error. Here's how to reproduce this issue:
Clone git#github.com:SunburstApps/ReactOS. (It's a big repo, so please be patient. I have not been able to consistently reproduce this issue on a smaller project, in case anyone asks.)
In the root of the project directory, run configure.cmd VSSolution from a VS2017 x86 C++ tools command prompt. This will tell CMake to generate a Visual Studio solution (the exact version is inferred from the copy of cl.exe in the path).
I get the following CMake output:
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:24 (project):
The CMAKE_C_COMPILER:
cl
is not a full path and was not found in the PATH.
CMake Error at CMakeLists.txt:24 (project):
The CMAKE_CXX_COMPILER:
cl
is not a full path and was not found in the PATH.
-- Configuring incomplete, errors occurred!
Investigating the CMakeError.log file reveals the problem is actually something else. The vcxproj file that CMake generated to identify the compiler is refusing to link, complaining that ucrtd.lib can't be found. If I add the following line of code to the top-level CMakeLists.txt file, it will then progress slightly further (successfully identifying the compiler), only to die of the same issue during a try_compile() run to "detect compiler features".
set(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION 10.0.15063.0)
I have come to the conclusion that CMake is generating files without the Windows SDK target platform set, which is causing VS to refuse to locate ucrtd.lib. The set() line above tells CMake to add that specific version to the vcxproj files it generates, but clearly it doesn't add it to all of them.
I have tried other solutions I have found searching SO, including installing the Windows 8.1 SDK and running the CMake command as an administrator. Nothing helps. I need to generate a solution file so I can write code for this project using Visual Studio's excellent C++ editor. (I have also tried using the built-in CMake support in VS2017, but have found that it does not quite work due to ReactOS' specific cross-compiling requirements.) Can anyone give me some pointers? Thanks!
I am developing an speech recognition application using Sphinx4. I am trying to do acoustic model adaptation. I have followed every step of the instruction on the http://cmusphinx.sourceforge.net/wiki/tutorialadapt tutorial. However, in the step where i need to run the bw, it cannot open the mdef file and shows an Debug Assertion Fail.
I have been working on this for days but still dont know how to solve it. I am using Windows 10, ptm model, visual studio 2015, the latest sphinx4 5prealpha version.
I just found out the answer. I think it could have been because that i forgot to download Perl or something went wrong during my installation of Sphinxbase.
I first installed Perl. However, it still didnt work, so i re-built Sphinxbase and copied it back to Sphinxtrain, and it finally run.
p/s Thanks Nikolay for your help :)
This comment / solution is just based on my experience as I am not an expert on this. I had this same exact error after following all the instructions from adapting-the-model and looks like the mdef file from sourge-forge is corrupted. So I landed up on a comment on some other website where it mentioned to download the setup files for pocketsphinx, sphinxbase and sphinxtrain from github directly. So I downloaded it from here GitHub and followed the same steps from before. Since I was working on windows, I rebuilt using VS Studio later, after upgrading the project from 2012 to latest version.
Steps (from GitHub)-
You should download and unpack it to the same parent directory as PocketSphinx, so that the configure script and project files can find it. On Windows, you will need to rename 'sphinxbase-X.Y' (where X.Y is the SphinxBase version number) to simply 'sphinxbase' for this to work.
To compile the SphinxTrain under MS Visual Studio 2010
load SphinxTrain.sln located in SphinxTrain directory
compile all the projects in SphinxTrain (from SphinxTrain.sln)
MS Visual Studio will build the executables under .\bin\Release or .\bin\Debug (depending on the version you choose on MS Visual Studio), and the libraries under .\lib\Release or .\lib\Build.
Once you finished with compilation, copy the pocketsphinx and sphinxbase tools and dlls from sphinxbase\bin\Releae and pocketsphinx\bin\Release to sphinxtrain\bin\Release folder. This will enable you to run the training process which expects to see all the tools and libraries in sphinxtrain\bin\Release.
I couldn't get igraph to work with Visual Studio 2010 (supposedly many known issues), and so decided to try installing it in Cygwin. ./configure went fine. But make gave this error:
f2c/dtime_.c:16:23: fatal error: sys/times.h: No such file or directory
Makefile:2190: recipe for target `libf2c_la-dtime_.lo' failed
make[3]: *** [libf2c_la-dtime_.lo] Error 1
I tried installing it in MinGW and get the same error when I make. Should I be providing "sys/time.h" or a path to it? Where is sys/time.h? Using Windows 7.
Edit
The problems in Cygwin and MinGW was due to the wrong version of gcc being used by my clean installation of Cygwin (and a characteristic of MinGW). Solution here: Installing/compiling in Cygwin/MinGW - How to set the include "path"? (symbolic link?)
The problem in Visual Studio 2010 was due to building in "Debug" instead of "Release". One of igraph's creator, Gábor Csárdi, graciously provided an excellent step-by-step guide below that identified and resolved it.
Igraph actually does work with Visual C++ 2010 Express, we test this before releases, and I have just tried it. You need to do the following steps.
Download the source package specifically created for Visual Studio.
Uncompress the file into My Documents\Visual Studio 2010\Projects.
Open the igraph.sln solution file in igraph-0.6-msvc\igraph-0.6-msvc directory from Visual Studio.
Visual Studio offers to convert the solution file to the current format, do that. Just click on Next, Next and Finish.
On the toolbar, change 'Debug' to 'Release' to make release builds.
Choose Debug -> Build solution and wait until the library is built.
To test it you can open the solution file in the igraphtest directory, convert it as well, choose 'Release' builds, and then build it and run it from the command line. It is a simple C++ program that uses igraph to create a graph and write it into the file out.txt.
You don't have to set up include and library directories at all, everything is set up properly in the solution file, both for igraph and igraphtest.
is there an sys/times.h file?
I have a vague memory that I had to make that symlink on a system once.
I have downloaded Visual C++ 2008 and I also have the Boost library, v. 1.44.0. How to can the Boost library be installed in C++?
I also have Visual C++ 2010.
You don't have to "install" Boost in Visual Studio. What you need is to point your IDE (in this case Visual Studio) to the folders which contain the Boost headers and the lib files (if you have built Boost - some Boost libraries are header-only, some need to be built). Take a look at Boost Getting Started for further details.
Quick start:
start your command prompt and go to the folder in which you have unzipped boost
execute bootstrap.bat
execute ".\bjam --build-type=complete stage" - this will build almost everything in Boost.
Note: make sure you have the VC++ compiler and linker in the environment variable PATH.