Csound Csound-dev Csound-tekno Search About

[Csnd-dev] build problem on windows

Date2016-03-14 22:08
FromOeyvind Brandtsegg
Subject[Csnd-dev] build problem on windows
ok, here we go again.

CMakeFiles/csound64.dir/objects.a(corfiles.c.obj): In function
`copy_url_corefil                   e':
C:/Source/csound/Engine/corfiles.c:299: undefined reference to
`__imp_curl_easy_                   init'
C:/Source/csound/Engine/corfiles.c:305: undefined reference to
`__imp_curl_easy_                   setopt'
C:/Source/csound/Engine/corfiles.c:309: undefined reference to
`__imp_curl_easy_                   perform'
C:/Source/csound/Engine/corfiles.c:314: undefined reference to
`__imp_curl_easy_                   cleanup'
C:/Source/csound/Engine/corfiles.c:321: undefined reference to
`__imp_curl_globa                   l_cleanup'
C:/Source/csound/Engine/corfiles.c:311: undefined reference to
`__imp_curl_easy_                   strerror'
collect2.exe: error: ld returned 1 exit status
CMakeFiles/csound64.dir/build.make:5924: recipe for target 'csound64.dll' failed
make[2]: *** [csound64.dll] Error 1
make[2]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/csound64.dir/all' failed
make[1]: *** [CMakeFiles/csound64.dir/all] Error 2
make[1]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
Makefile:163: recipe for target 'all' failed
make: *** [all] Error 2

I have updated my system according to the instructions in Readme.md.
But got some questions/suggestions to the instructions:

5. If necessary, modify the PATH environment variable in
~/.bash_profile so that executables which compete with MSYS2 cannot be
loaded. (...)
... which executables may this be?

6. Build and install packages for dependencies (...)
... would be helpful to note how to build and install packages (cd
into directory, run makepkg, install package with pacman -U)
... I get an error when making liblo ('pkgname can not start with a -')
... building musicxml requires cmake and git
... error when building portsmf (invalid version number, empty pkgver)
... I get an error when making stk ('pkgname can not start with a -')

8. (...) manually set the following CMake variables:
... would be helpful to give full example of the command and where (in
which file) one normally would enter it

Some of the above comments relate to errors, and I wonder if they are
serious errors (related to the build error I got?). Other comments
(would be helpful) is just suggestions that might make it easier for
people that do these kinds of tasks more seldom and do not remember
the details (e.g. me)

-- 

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://flyndresang.no/

Date2016-03-14 23:55
FromSteven Yi
SubjectRe: [Csnd-dev] build problem on windows
Attachmentsmy-build.sh  
Michael's recent changes have complicated the build (I replied about
the CURL and musicxml changes in a previous email). The advice to
change environment variables I'm not sure about, but I think that's
just saying be careful in case you have done something like put a
different version of build tools on your system's path.  Anyways, for
the time being, you can try using this my-build.sh script by placing
it in the mingw64 folder and calling it instead of build.sh. It will
execute build.sh with some additional flags for CMake.  Adjust the
paths in my-build.sh if necessary. Also for building packages, try
using makepkg-mingw and not makepkg. For musicxml and others, you can
use "makepkg-mingw -s" which should first install dependencies before
trying to build.



On Mon, Mar 14, 2016 at 6:08 PM, Oeyvind Brandtsegg
 wrote:
> ok, here we go again.
>
> CMakeFiles/csound64.dir/objects.a(corfiles.c.obj): In function
> `copy_url_corefil                   e':
> C:/Source/csound/Engine/corfiles.c:299: undefined reference to
> `__imp_curl_easy_                   init'
> C:/Source/csound/Engine/corfiles.c:305: undefined reference to
> `__imp_curl_easy_                   setopt'
> C:/Source/csound/Engine/corfiles.c:309: undefined reference to
> `__imp_curl_easy_                   perform'
> C:/Source/csound/Engine/corfiles.c:314: undefined reference to
> `__imp_curl_easy_                   cleanup'
> C:/Source/csound/Engine/corfiles.c:321: undefined reference to
> `__imp_curl_globa                   l_cleanup'
> C:/Source/csound/Engine/corfiles.c:311: undefined reference to
> `__imp_curl_easy_                   strerror'
> collect2.exe: error: ld returned 1 exit status
> CMakeFiles/csound64.dir/build.make:5924: recipe for target 'csound64.dll' failed
> make[2]: *** [csound64.dll] Error 1
> make[2]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
> CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/csound64.dir/all' failed
> make[1]: *** [CMakeFiles/csound64.dir/all] Error 2
> make[1]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
> Makefile:163: recipe for target 'all' failed
> make: *** [all] Error 2
>
> I have updated my system according to the instructions in Readme.md.
> But got some questions/suggestions to the instructions:
>
> 5. If necessary, modify the PATH environment variable in
> ~/.bash_profile so that executables which compete with MSYS2 cannot be
> loaded. (...)
> ... which executables may this be?
>
> 6. Build and install packages for dependencies (...)
> ... would be helpful to note how to build and install packages (cd
> into directory, run makepkg, install package with pacman -U)
> ... I get an error when making liblo ('pkgname can not start with a -')
> ... building musicxml requires cmake and git
> ... error when building portsmf (invalid version number, empty pkgver)
> ... I get an error when making stk ('pkgname can not start with a -')
>
> 8. (...) manually set the following CMake variables:
> ... would be helpful to give full example of the command and where (in
> which file) one normally would enter it
>
> Some of the above comments relate to errors, and I wonder if they are
> serious errors (related to the build error I got?). Other comments
> (would be helpful) is just suggestions that might make it easier for
> people that do these kinds of tasks more seldom and do not remember
> the details (e.g. me)
>
> --
>
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
>
> http://www.partikkelaudio.com/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/
> http://soundcloud.com/t-emp

Date2016-03-15 07:53
FromOeyvind Brandtsegg
SubjectRe: [Csnd-dev] build problem on windows
Thanks for this, Steven.
It would be very nice to have the suggestions of using makepkg-mingw
instead of makepkg in the readme, preferably as an example on how to
build and install one of the packages. These are details that can save
a newbie hours :-)
Should I make an issue (or separate issues for each suggestion
perhaps) for my readme suggestions?

btw. it seems that I could finally build by disabling curl and a few
other things. So it might be within reach to get the full build
working. I'm just fulltime occupied with a concert production this
week, so just very brief moments to dive into this.

One question about the more complicated build on windows (Mike?):
Are all these changes (the recent changes to the build) necessary to
build the exact same Csound version as we have on Linux and OSX, or
are there extra bells and whistles on the windows version that
complicates things? It would be nice if the standard build was
configured the same on all three major systems in my opinion.



2016-03-15 0:55 GMT+01:00 Steven Yi :
> Michael's recent changes have complicated the build (I replied about
> the CURL and musicxml changes in a previous email). The advice to
> change environment variables I'm not sure about, but I think that's
> just saying be careful in case you have done something like put a
> different version of build tools on your system's path.  Anyways, for
> the time being, you can try using this my-build.sh script by placing
> it in the mingw64 folder and calling it instead of build.sh. It will
> execute build.sh with some additional flags for CMake.  Adjust the
> paths in my-build.sh if necessary. Also for building packages, try
> using makepkg-mingw and not makepkg. For musicxml and others, you can
> use "makepkg-mingw -s" which should first install dependencies before
> trying to build.
>
>
>
> On Mon, Mar 14, 2016 at 6:08 PM, Oeyvind Brandtsegg
>  wrote:
>> ok, here we go again.
>>
>> CMakeFiles/csound64.dir/objects.a(corfiles.c.obj): In function
>> `copy_url_corefil                   e':
>> C:/Source/csound/Engine/corfiles.c:299: undefined reference to
>> `__imp_curl_easy_                   init'
>> C:/Source/csound/Engine/corfiles.c:305: undefined reference to
>> `__imp_curl_easy_                   setopt'
>> C:/Source/csound/Engine/corfiles.c:309: undefined reference to
>> `__imp_curl_easy_                   perform'
>> C:/Source/csound/Engine/corfiles.c:314: undefined reference to
>> `__imp_curl_easy_                   cleanup'
>> C:/Source/csound/Engine/corfiles.c:321: undefined reference to
>> `__imp_curl_globa                   l_cleanup'
>> C:/Source/csound/Engine/corfiles.c:311: undefined reference to
>> `__imp_curl_easy_                   strerror'
>> collect2.exe: error: ld returned 1 exit status
>> CMakeFiles/csound64.dir/build.make:5924: recipe for target 'csound64.dll' failed
>> make[2]: *** [csound64.dll] Error 1
>> make[2]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
>> CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/csound64.dir/all' failed
>> make[1]: *** [CMakeFiles/csound64.dir/all] Error 2
>> make[1]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
>> Makefile:163: recipe for target 'all' failed
>> make: *** [all] Error 2
>>
>> I have updated my system according to the instructions in Readme.md.
>> But got some questions/suggestions to the instructions:
>>
>> 5. If necessary, modify the PATH environment variable in
>> ~/.bash_profile so that executables which compete with MSYS2 cannot be
>> loaded. (...)
>> ... which executables may this be?
>>
>> 6. Build and install packages for dependencies (...)
>> ... would be helpful to note how to build and install packages (cd
>> into directory, run makepkg, install package with pacman -U)
>> ... I get an error when making liblo ('pkgname can not start with a -')
>> ... building musicxml requires cmake and git
>> ... error when building portsmf (invalid version number, empty pkgver)
>> ... I get an error when making stk ('pkgname can not start with a -')
>>
>> 8. (...) manually set the following CMake variables:
>> ... would be helpful to give full example of the command and where (in
>> which file) one normally would enter it
>>
>> Some of the above comments relate to errors, and I wonder if they are
>> serious errors (related to the build error I got?). Other comments
>> (would be helpful) is just suggestions that might make it easier for
>> people that do these kinds of tasks more seldom and do not remember
>> the details (e.g. me)
>>
>> --
>>
>> Oeyvind Brandtsegg
>> Professor of Music Technology
>> NTNU
>> 7491 Trondheim
>> Norway
>> Cell: +47 92 203 205
>>
>> http://www.partikkelaudio.com/
>> http://soundcloud.com/brandtsegg
>> http://flyndresang.no/
>> http://soundcloud.com/t-emp



-- 

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://flyndresang.no/

Date2016-03-15 13:33
FromSteven Yi
SubjectRe: [Csnd-dev] build problem on windows
makepkg-mingw is already mentioned in the README.md.  The big
difference between Windows and other platforms is that 3rd-party
libraries are statically linked into the build artifacts rather than
dynamically linked.  This was instigated by Rory a while back to deal
with issues of embedding Csound into other applications (i.e., Cabbage
had issues when used in certain DAWs, csound~ had issues with pthread
conflicts).  I have not looked into the Windows installer and how it
differs from other platforms.

The use of static libraries was working with mingw64, but Michael
added libcurl and musicxml as dynamically-linked library dependencies.
The reason for this is that the two libraries don't appear to have
static library build options. Musicxml is related to CsoundAC, which
shouldn't be as much a concern, but libcurl and its use in libcsound
could potentially re-introduce problems again when embedded within
apps.

On Tue, Mar 15, 2016 at 3:53 AM, Oeyvind Brandtsegg
 wrote:
> Thanks for this, Steven.
> It would be very nice to have the suggestions of using makepkg-mingw
> instead of makepkg in the readme, preferably as an example on how to
> build and install one of the packages. These are details that can save
> a newbie hours :-)
> Should I make an issue (or separate issues for each suggestion
> perhaps) for my readme suggestions?
>
> btw. it seems that I could finally build by disabling curl and a few
> other things. So it might be within reach to get the full build
> working. I'm just fulltime occupied with a concert production this
> week, so just very brief moments to dive into this.
>
> One question about the more complicated build on windows (Mike?):
> Are all these changes (the recent changes to the build) necessary to
> build the exact same Csound version as we have on Linux and OSX, or
> are there extra bells and whistles on the windows version that
> complicates things? It would be nice if the standard build was
> configured the same on all three major systems in my opinion.
>
>
>
> 2016-03-15 0:55 GMT+01:00 Steven Yi :
>> Michael's recent changes have complicated the build (I replied about
>> the CURL and musicxml changes in a previous email). The advice to
>> change environment variables I'm not sure about, but I think that's
>> just saying be careful in case you have done something like put a
>> different version of build tools on your system's path.  Anyways, for
>> the time being, you can try using this my-build.sh script by placing
>> it in the mingw64 folder and calling it instead of build.sh. It will
>> execute build.sh with some additional flags for CMake.  Adjust the
>> paths in my-build.sh if necessary. Also for building packages, try
>> using makepkg-mingw and not makepkg. For musicxml and others, you can
>> use "makepkg-mingw -s" which should first install dependencies before
>> trying to build.
>>
>>
>>
>> On Mon, Mar 14, 2016 at 6:08 PM, Oeyvind Brandtsegg
>>  wrote:
>>> ok, here we go again.
>>>
>>> CMakeFiles/csound64.dir/objects.a(corfiles.c.obj): In function
>>> `copy_url_corefil                   e':
>>> C:/Source/csound/Engine/corfiles.c:299: undefined reference to
>>> `__imp_curl_easy_                   init'
>>> C:/Source/csound/Engine/corfiles.c:305: undefined reference to
>>> `__imp_curl_easy_                   setopt'
>>> C:/Source/csound/Engine/corfiles.c:309: undefined reference to
>>> `__imp_curl_easy_                   perform'
>>> C:/Source/csound/Engine/corfiles.c:314: undefined reference to
>>> `__imp_curl_easy_                   cleanup'
>>> C:/Source/csound/Engine/corfiles.c:321: undefined reference to
>>> `__imp_curl_globa                   l_cleanup'
>>> C:/Source/csound/Engine/corfiles.c:311: undefined reference to
>>> `__imp_curl_easy_                   strerror'
>>> collect2.exe: error: ld returned 1 exit status
>>> CMakeFiles/csound64.dir/build.make:5924: recipe for target 'csound64.dll' failed
>>> make[2]: *** [csound64.dll] Error 1
>>> make[2]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
>>> CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/csound64.dir/all' failed
>>> make[1]: *** [CMakeFiles/csound64.dir/all] Error 2
>>> make[1]: Leaving directory '/c/Source/csound/mingw64/csound-mingw64'
>>> Makefile:163: recipe for target 'all' failed
>>> make: *** [all] Error 2
>>>
>>> I have updated my system according to the instructions in Readme.md.
>>> But got some questions/suggestions to the instructions:
>>>
>>> 5. If necessary, modify the PATH environment variable in
>>> ~/.bash_profile so that executables which compete with MSYS2 cannot be
>>> loaded. (...)
>>> ... which executables may this be?
>>>
>>> 6. Build and install packages for dependencies (...)
>>> ... would be helpful to note how to build and install packages (cd
>>> into directory, run makepkg, install package with pacman -U)
>>> ... I get an error when making liblo ('pkgname can not start with a -')
>>> ... building musicxml requires cmake and git
>>> ... error when building portsmf (invalid version number, empty pkgver)
>>> ... I get an error when making stk ('pkgname can not start with a -')
>>>
>>> 8. (...) manually set the following CMake variables:
>>> ... would be helpful to give full example of the command and where (in
>>> which file) one normally would enter it
>>>
>>> Some of the above comments relate to errors, and I wonder if they are
>>> serious errors (related to the build error I got?). Other comments
>>> (would be helpful) is just suggestions that might make it easier for
>>> people that do these kinds of tasks more seldom and do not remember
>>> the details (e.g. me)
>>>
>>> --
>>>
>>> Oeyvind Brandtsegg
>>> Professor of Music Technology
>>> NTNU
>>> 7491 Trondheim
>>> Norway
>>> Cell: +47 92 203 205
>>>
>>> http://www.partikkelaudio.com/
>>> http://soundcloud.com/brandtsegg
>>> http://flyndresang.no/
>>> http://soundcloud.com/t-emp
>
>
>
> --
>
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
>
> http://www.partikkelaudio.com/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/