yandex / tomita-parser

Other
495 stars 113 forks source link

Проблемы со сборкой на Windows 10 #96

Open GazizovaAndDobrokvashina opened 5 years ago

GazizovaAndDobrokvashina commented 5 years ago

Создавалась сборка через cygwin, через неё же предварительно устанавливались cmake 3.6.2, lua 5.2.4-1, gcc 7.3.0 Однако при выполнении команды cmake ../src/ -DCMAKE_BUILD_TYPE=Release сыпятся ошибки:

CMake Warning at /usr/share/cmake-3.6.2/Modules/Platform/CYGWIN.cmake:15 (message): 
CMake no longer defines WIN32 on Cygwin! 

(1) If you are just trying to build this project, ignore this warning or 
quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or in 
the CMake cache. If later configuration or build errors occur then this 
project may have been written under the assumption that Cygwin is WIN32. 
In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead. 

(2) If you are developing this project, add the line 

set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required 

at the top of your top-level CMakeLists.txt file or set the minimum 
required version of CMake to 2.8.4 or higher. Then teach your project to 
build on Cygwin without WIN32. 
Call Stack (most recent call first): 
/usr/share/cmake-3.6.2/Modules/CMakeSystemSpecificInformation.cmake:36 (include) 
CMakeLists.txt 

— Cached: MAKE_ONLY[FactExtract/Parser/tomita-parser] CMAKE_BUILD_TYPE[Release] 
fatal: No names found, cannot describe anything. 
fatal: No names found, cannot describe anything. 
— Configuring done 
— Generating done 
— Build files have been written to: /cygdrive/c/Users/aleks/PycharmProjects/VKR/tomita-parser-master/build

Как решить данные проблемы?

grandsbor commented 5 years ago

cc @victorbocharov

vbocharov commented 5 years ago

С Cygwin, кажется, ещё никто не пробовал. Попробую в ближайшие дни и тогда отпишусь.

@GazizovaAndDobrokvashina что он говорит, если сделать make?

GazizovaAndDobrokvashina commented 5 years ago

С Cygwin, кажется, ещё никто не пробовал. Попробую в ближайшие дни и тогда отпишусь.

@GazizovaAndDobrokvashina что он говорит, если сделать make?

[ 0%] Building CXX object contrib/libs/stlport/CMakeFiles/contrib-libs-stlport.dir/stlport-5.1.4/src/bitset.cpp.obj g++.exe: error: /DWIN32: No such file or directory g++.exe: error: /D_WINDOWS: No such file or directory g++.exe: error: /DSTRICT: No such file or directory g++.exe: error: /D_MBCS: No such file or directory g++.exe: error: /D_CRT_SECURE_NO_WARNINGS: No such file or directory g++.exe: error: /D_CRT_NONSTDC_NO_WARNINGS: No such file or directory g++.exe: error: /D_USE_MATH_DEFINES: No such file or directory g++.exe: error: /DSTDC_CONSTANT_MACROS: No such file or directory g++.exe: error: /DSTDC_FORMAT_MACROS: No such file or directory g++.exe: error: /D_WIN32_WINNT=0x0501: No such file or directory g++.exe: error: /Zm1000: No such file or directory g++.exe: error: /GR: No such file or directory g++.exe: error: /nologo: No such file or directory g++.exe: error: /bigobj: No such file or directory g++.exe: error: /Zi: No such file or directory g++.exe: error: /FD: No such file or directory g++.exe: error: /FC: No such file or directory g++.exe: error: /EHsc: No such file or directory g++.exe: error: /nologo: No such file or directory g++.exe: error: /errorReport:prompt: No such file or directory g++.exe: error: /c: No such file or directory g++.exe: error: /arch:SSE2: No such file or directory contrib\libs\stlport\CMakeFiles\contrib-libs-stlport.dir\build.make:62: recipe for target 'contrib/libs/stlport/CMakeFiles/contrib-libs-stlport.dir/stlport-5.1.4/src/bitset.cpp.obj' failed mingw32-make[2]: [contrib/libs/stlport/CMakeFiles/contrib-libs-stlport.dir/stlport-5.1.4/src/bitset.cpp.obj] Error 1 CMakeFiles\Makefile2:273: recipe for target 'contrib/libs/stlport/CMakeFiles/contrib-libs-stlport.dir/all' failed mingw32-make[1]: [contrib/libs/stlport/CMakeFiles/contrib-libs-stlport.dir/all] Error 2 Makefile:82: recipe for target 'all' failed mingw32-make: *** [all] Error 2`

Metisav commented 5 years ago

Столкнулся с такой же проблемой, пока не могу решить UPD 25.02.2018 Все дело в stlport, make файлы заточены под студию вроде 13 года, как это пофиксить без их правки, не знаю :)

Spiritschaser commented 4 years ago

По проблеме, описанной выше, пытаюсь собрать под Windows 10 как с vc++ 2019, так и с mingw64 8.1.0 cmake, под mingw, узнав, что WIN32, все Makefile мусорит флагами vc++ (/D, /I и т.п.) И так во всех ветках кода.

Попробовал просто убрать все флаги, начинающиеся со слеша - нет путей до хидеров и либ... Опишите, пожалуйста, всё окружение, на котором в яндексе это под windows собирают.

Пробую собрать под vc++ - делаются MSBuild, но не находится куча либ.

Aruchok commented 4 years ago

Та же ошибка, но пытаюсь собрать на виртуальной машине через Vagrant. Сборка такая: vagrant@ubuntu-bionic:~/share/tomita-parser/build$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" vagrant@ubuntu-bionic:~/share/tomita-parser/build$

vagrant@ubuntu-bionic:~/share/tomita-parser/build$ gcc --version gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

victorbocharov commented 4 years ago

@Spiritschaser @Aruchok Судя по тому, что никто (в том числе и я) не нашёл времени разобраться с Windows, то я предлагаю всем, кому нужна томита, поставить Ubuntu 18.04 на виртуальную машину. Там собирается.

Aruchok commented 4 years ago

Так я с Vagrant машины запускаю, там стоит Ubuntu 18.04. Если к меня есть проект собранный, я могу его просто скинуть на виртуальную и запускать через бинарник?

victorbocharov commented 4 years ago

@Aruchok на какой ОС и чем собран проект? Напишите последовательность ваших действий и к чему они привели.

Aruchok commented 4 years ago

Ошибка на шаге cmake, как у GazizovaAndDobrokvashina, выше написан конфиг виртуальной машины, но он странно отображается 16004647-3870-4EC7-B9BC-3DF8080ABD8D

Делаю все пошагово, как и говорится в Readme