Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 14:44
Оценка:
Взял последние исходники с гуглкода, собираю...

Project "D:\projects\third-party\Nemerle\NemerleAll-4.0.nproj" (1) is building "D:\projects\third-party\Nemerle\VsIntegr
ation\ComInteropHelper\ComInteropHelper.csproj" (7) on node 1 (Rebuild target(s)).
C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(539,9): error : The OutputPath property is not set for
this project. Please check to make sure that you have specified a valid Configuration/Platform combination. Configurat
ion='Debug DefineConstants=NET_4_0' Platform='AnyCPU' [D:\projects\third-party\Nemerle\VsIntegration\ComInteropHelper\C
omInteropHelper.csproj]
Done Building Project "D:\projects\third-party\Nemerle\VsIntegration\ComInteropHelper\ComInteropHelper.csproj" (Rebuild
target(s)) -- FAILED.

Win7 x64, .NET 4.0, VS2008 & 2010
Re: Nemerle. Как собрать?
От: _nn_ www.nemerleweb.com
Дата: 02.11.10 14:48
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Взял последние исходники с гуглкода, собираю...

K>

K>Project "D:\projects\third-party\Nemerle\NemerleAll-4.0.nproj" (1) is building "D:\projects\third-party\Nemerle\VsIntegr
K>ation\ComInteropHelper\ComInteropHelper.csproj" (7) on node 1 (Rebuild target(s)).
K>C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(539,9): error : The OutputPath property is not set for
K>this project. Please check to make sure that you have specified a valid Configuration/Platform combination. Configurat
K>ion='Debug DefineConstants=NET_4_0' Platform='AnyCPU' [D:\projects\third-party\Nemerle\VsIntegration\ComInteropHelper\C
K>omInteropHelper.csproj]
K>Done Building Project "D:\projects\third-party\Nemerle\VsIntegration\ComInteropHelper\ComInteropHelper.csproj" (Rebuild
K>target(s)) -- FAILED.

K>Win7 x64, .NET 4.0, VS2008 & 2010

Запускайте правильный мсбилд: (Очистите директории bin и obj перед билдом)
NemerleAll.nproj — MSBuild 3.5
NemerleAll-4.0.nproj — MSBuild 4.0

Также есть готовые скрипты для сборки инсталлятора (.Net 3.5) BuildInstallerFast.cmd, BuildInstallerFull.cmd.
(Требуется Wix 3.0 и Visual Studio 2008 SP1 SDK)

На данный момент есть два проекта, в будущем, надеюсь, можно будет сделать один
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 15:24
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Запускайте правильный мсбилд: (Очистите директории bin и obj перед билдом)

__>NemerleAll.nproj — MSBuild 3.5
__>NemerleAll-4.0.nproj — MSBuild 4.0

Ну я так и делаю.

set MSBuild="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
%MSBuild% NemerleAll-4.0.nproj /target:DevBuild2Stage /p:Configuration=Debug /verbosity:n
Re[3]: Nemerle. Как собрать?
От: hardcase Пират http://nemerle.org
Дата: 02.11.10 15:44
Оценка: 3 (1)
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, _nn_, Вы писали:


__>>Запускайте правильный мсбилд: (Очистите директории bin и obj перед билдом)

__>>NemerleAll.nproj — MSBuild 3.5
__>>NemerleAll-4.0.nproj — MSBuild 4.0

K>Ну я так и делаю.


K>
K>set MSBuild="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
K>%MSBuild% NemerleAll-4.0.nproj /target:DevBuild2Stage /p:Configuration=Debug /verbosity:n
K>


DevBuild2Stage содержит одной из целей интеграцию в студию, которую под .net 4.0 собрать не стоит.

Для сборки компилятора достаточно второй стадии и тестов:
set MSBuild="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
%MSBuild% NemerleAll-4.0.nproj /target:Stage2;CompilerTests /p:Configuration=Debug /verbosity:n


С PowerPack сейчас не все гладко (там референсы кривоваты ), так что пока только так.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Nemerle. Как собрать?
От: _nn_ www.nemerleweb.com
Дата: 02.11.10 15:54
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, _nn_, Вы писали:


__>>Запускайте правильный мсбилд: (Очистите директории bin и obj перед билдом)

__>>NemerleAll.nproj — MSBuild 3.5
__>>NemerleAll-4.0.nproj — MSBuild 4.0

K>Ну я так и делаю.


K>
K>set MSBuild="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
K>%MSBuild% NemerleAll-4.0.nproj /target:DevBuild2Stage /p:Configuration=Debug /verbosity:n
K>


DevBuild2Stage запускает таргет Install, который берет интеграцию.
Я убрал это.

Лучше всего запустить с /t:Stage4;Validate;CompilerTests, чтобы убедиться в пригодности компилятора
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 15:59
Оценка:
Здравствуйте, hardcase, Вы писали:

H>DevBuild2Stage содержит одной из целей интеграцию в студию, которую под .net 4.0 собрать не стоит.


Ясно. А под 3.5 почему не собирается?

3>GetFrameworkPaths:
Could not locate the .NET Framework SDK. The task is looking for the path to the .NET Framework SDK at the lo
cation specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NE
TFramework. You may be able to solve the problem by doing one of the following: 1.) Install the .NET Framewo
rk SDK. 2.) Manually set the above registry key to the correct location.


Кстати, почему не используете /maxcpucount?
Re[5]: Nemerle. Как собрать?
От: hardcase Пират http://nemerle.org
Дата: 02.11.10 17:29
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, hardcase, Вы писали:


H>>DevBuild2Stage содержит одной из целей интеграцию в студию, которую под .net 4.0 собрать не стоит.


K>Ясно. А под 3.5 почему не собирается?

K>

3>>GetFrameworkPaths:
K> Could not locate the .NET Framework SDK. The task is looking for the path to the .NET Framework SDK at the lo
K> cation specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NE
K> TFramework. You may be able to solve the problem by doing one of the following: 1.) Install the .NET Framewo
K> rk SDK. 2.) Manually set the above registry key to the correct location.


Вот уж не знаю
Но ведь написано же, что нужно сделать.
У меня собирается.

K>Кстати, почему не используете /maxcpucount?


Для чего?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[6]: Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 17:59
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Вот уж не знаю

H>Но ведь написано же, что нужно сделать.

А меня удивляет, что всего лишь собрать проект — и такие танцы с бубном нужны. Нельзя быть такими недружелюбными к потенциальным юзерам

H>Для чего?


Чтобы собиралось быстрее.
Re[7]: Nemerle. Как собрать?
От: hardcase Пират http://nemerle.org
Дата: 02.11.10 18:16
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, hardcase, Вы писали:


H>>Вот уж не знаю

H>>Но ведь написано же, что нужно сделать.

K>А меня удивляет, что всего лишь собрать проект — и такие танцы с бубном нужны. Нельзя быть такими недружелюбными к потенциальным юзерам


MSBuild доходчиво сообщил что он не знает где лежит SDK (на моей машине это C:\Program Files\Microsoft SDKs\Windows\v6.0A).
И попросил указать ему путь к ней в ключе SDKInstallRootv2.0 ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.

H>>Для чего?


K>Чтобы собиралось быстрее.


Быстрее собираться оно не будет. Уверяю. Большую часть времени компилятор будет собирать сам себя (4 раза) и гонять тесты.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[8]: Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 18:52
Оценка:
Здравствуйте, hardcase, Вы писали:

H>MSBuild доходчиво сообщил что он не знает где лежит SDK (на моей машине это C:\Program Files\Microsoft SDKs\Windows\v6.0A).

H>И попросил указать ему путь к ней в ключе SDKInstallRootv2.0 ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.

Расскажи мне доходчиво, почему он не может найти его сам и мне приходится тыкать его носом?
Re[9]: Nemerle. Как собрать?
От: WolfHound  
Дата: 02.11.10 18:58
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Расскажи мне доходчиво, почему он не может найти его сам и мне приходится тыкать его носом?

Наверное по тому что ты не поставил SDK.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[10]: Nemerle. Как собрать?
От: Klatu  
Дата: 02.11.10 19:06
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Наверное по тому что ты не поставил SDK.


Это конечно интересная теория, но все остальные проекты почему-то собираются без проблем.
Наверно, их кунг-фу более правильное
Re[11]: Nemerle. Как собрать?
От: hardcase Пират http://nemerle.org
Дата: 02.11.10 19:12
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, WolfHound, Вы писали:


WH>>Наверное по тому что ты не поставил SDK.


K>Это конечно интересная теория, но все остальные проекты почему-то собираются без проблем.

K>Наверно, их кунг-фу более правильное

Ошибку вызывает таск GetFrameworkSdkPath, описание найдешь в MSDN.
Что там мелокомягкие в нем написали — им одним известно.

Он возвращает путь по которому можно добраться до peverify — утиллиты верификации IL.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[7]: Nemerle. Как собрать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.11.10 00:40
Оценка:
Здравствуйте, Klatu, Вы писали:

K>А меня удивляет, что всего лишь собрать проект — и такие танцы с бубном нужны. Нельзя быть такими недружелюбными к потенциальным юзерам


Для 3.5 все собирается в одно нажатие... DevBuildQuick.cmd

А над подержкой 4.0 только только начали работать.

H>>Для чего?


K>Чтобы собиралось быстрее.


Быстрее не станет. Немерловый компилятор однопоточный.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Nemerle. Как собрать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.11.10 00:41
Оценка:
Здравствуйте, hardcase, Вы писали:

H>MSBuild доходчиво сообщил что он не знает где лежит SDK (на моей машине это C:\Program Files\Microsoft SDKs\Windows\v6.0A).

H>И попросил указать ему путь к ней в ключе SDKInstallRootv2.0 ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.

На это сообщение можете вообще забить. Оно ни на что не влияет если на машине стоит VS 2008.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Nemerle. Как собрать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.11.10 00:43
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Ошибку вызывает таск GetFrameworkSdkPath, описание найдешь в MSDN.

H>Что там мелокомягкие в нем написали — им одним известно.

H>Он возвращает путь по которому можно добраться до peverify — утиллиты верификации IL.


Ага. И работает не смотря на отсутствие полного СДК, так как СДК из VS 2008 ему таки достаточно (не смотря на сообщение). Я ни разу ни СДК не ставил, ни реестр не правил. Все компилируется и работает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Nemerle. Как собрать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.11.10 03:41
Оценка:
Здравствуйте, Klatu, Вы писали:

Собирать лучше на 3.5 фрэймворке. Для этого нужно:
1. Скачать код из СВН-а.
2. Поставить SP1 для МS 2008.
3. Поставить VS 2008 SDK 1.1 (он совместим с SP1 для МS 2008).
4. Запустить DevBuildQuick.cmd.

Все указанное нужно делать с правами администратора или с отключенным ЮАК-ом. Так как иначе не будет прав на правку реестра и запись в прогамфайлс.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Nemerle. Как собрать?
От: Klatu  
Дата: 03.11.10 08:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Быстрее не станет. Немерловый компилятор однопоточный.


Ясно. А запускать по несколько компиляторов для разных независимых файлов MSBuild не умеет?
Re[9]: Nemerle. Как собрать?
От: hardcase Пират http://nemerle.org
Дата: 03.11.10 08:14
Оценка: +1
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, VladD2, Вы писали:


VD>>Быстрее не станет. Немерловый компилятор однопоточный.


K>Ясно. А запускать по несколько компиляторов для разных независимых файлов MSBuild не умеет?


Умеет. Но проекты достаточно большие и все зависят друг от друга:

Nemerle <- Nemerle.Compiler <- Nemerle.Macros <- ncc.exe <- тесты компилятора <- Nemerle.Compiler.Utils <- интеграция VS2008 <- тесты IDE
/* иЗвиНите зА неРовнЫй поЧерК */
Re[10]: Nemerle. Как собрать?
От: Klatu  
Дата: 03.11.10 08:22
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Nemerle <- Nemerle.Compiler <- Nemerle.Macros <- ncc.exe <- тесты компилятора <- Nemerle.Compiler.Utils <- интеграция VS2008 <- тесты IDE


Я имел в виду несколько файлов в пределах одного проекта.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.