[PD] - need some assistance compiling an external for Windows

Scott R. Looney scottrlooney at gmail.com
Sat Jul 13 02:55:29 CEST 2019


okay Christoph! looks like that finally did the trick! just one revision.
after wiping and reinstalling msys2 i installed only the toolchain as you
posted, but that resulted in a 'bash: make - command not found' error. so i
then installed all the rest of the packages that Lucas recommended in the
text, and of course did the small edit to the Makefile, and it finally went
through and completed.

so for all the newbies to compiling externals this is definitely the
toolchain that worked for me using the pacman installer tool (copied from
Lucas's text on compiling PD):

==============================================
these must be copied into mingw terminal as ONE line !

    # for 32 bit
    pacman -S mingw-w64-i686-toolchain mingw-w64-i686-clang make pkgconfig
autoconf automake libtool mingw-w64-i686-gettext

    # for 64 bit
    pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang make
pkgconfig autoconf automake libtool mingw-w64-x86_64-gettext

==============================================

it's possible bash could have been configured to just use the toolchain
install with a profile edit - it seemed that the mingw-w64-x86_6-make
binary was already installed. but for maximum reliability and ease of
operation, i'd highly suggest installing the rest of the tools as well.

thanks everyone for all your input, advice and testing!

best,
scott


On Fri, Jul 12, 2019 at 4:54 PM Christof Ressi <christof.ressi at gmx.at>
wrote:

> Hey,
>
> > 1. did you download the repo as a zip? if so, what path did you put the
> uncompressed folder in? i put mine under the msys64/home/(user name)
> directory
>
> I cloned the Repo with 'git clone', but it doesn't really matter at all
> where the folder lives on your hard drive! Just put it anywhere and then
> 'cd' into the folder (where the Makefile is located).
>
> > 2. did you type anything besides 'make' to compile the external? any
> flags or overrides?
>
> I had to do 'make PDDIR="/path/to/Pd"' because I have my 64-bit Pd in a
> non-standard location. But if you have it installed in 'Program Files', you
> don't need to set PDDIR. Anyway, if you get a linker error saying that
> pd.dll can't be found, then you know you do have to set PDDIR :-)
>
> > 3. 32 bit or 64 bit build? i'm doing 64 bit.
>
> 64-bit. Make sure to use the MinGW64 shell.
>
> > 4. did it create a bunch of .o object files and then compile the dll?
>
> sure. Technically, the DLL is not "compiled" but results from linking the
> individual object files into a single binary.
>
> > i'm considering removing msys2 and just starting the whole thing over
> from scratch.
>
> Sounds like a good idea :-) Just do a clean install of Msys2 and install
> the mingw64 toolchain with 'pacman -S mingw-w64-x86_64-toolchain'. That
> should be everything you need.
>
> If you still get errors, please post the full output.
>
> Christof
> *Gesendet:* Samstag, 13. Juli 2019 um 01:31 Uhr
> *Von:* "Scott R. Looney" <scottrlooney at gmail.com>
> *An:* pd-list <pd-list at lists.iem.at>
> *Betreff:* Re: [PD] - need some assistance compiling an external for
> Windows
> thank you Christoph! as i am still running into the same basic error as
> before, it looks like my configuration is still the problem. can i ask a
> some questions? please forgive my inexperience - just trying to get my head
> around the complexities of building...
>
> 1. did you download the repo as a zip? if so, what path did you put the
> uncompressed folder in? i put mine under the msys64/home/(user name)
> directory
> 2. did you type anything besides 'make' to compile the external? any flags
> or overrides?
> 3. 32 bit or 64 bit build? i'm doing 64 bit.
> 4. did it create a bunch of .o object files and then compile the dll?
>
> i'm considering removing msys2 and just starting the whole thing over from
> scratch. i installed msys2 earlier and parts of the mingw64 toolchain, but
> not everything. then i found out about the right toolchain, removed a lot
> of the content from the mingw64/bin folder and other folders and then used
> pacman to install the proper toolchain. but with so many tools there's a
> possibility i ended up with a somewhat broken or misconfigured build setup.
> it would definitely also be helpful to know whether you did a 32 bit build,
> as i've been concentrating completely on 64 bit.
>
> thanks in advance,
>
> best,
> scott
>
>
>
>
> On Fri, Jul 12, 2019 at 6:46 AM Christof Ressi <christof.ressi at gmx.at>
> wrote:
>
>> There is a subtle error in the Makefile, I just made a fix:
>> https://github.com/jnonis/pd-plaits/pull/4. After that, I could compile
>> it successfully with Msys2 in a MinGW64 Shell.
>>
>> Christof
>>
>>
>>
>> Gesendet: Freitag, 12. Juli 2019 um 11:07 Uhr
>> Von: "Scott R. Looney" <scottrlooney at gmail.com>
>> An: pd-list <pd-list at lists.iem.at>
>> Betreff: Re: [PD] - need some assistance compiling an external for Windows
>>
>>
>>
>> On Fri, Jul 12, 2019 at 1:46 AM IOhannes m zmölnig <zmoelnig at iem.at
>> [mailto:zmoelnig at iem.at]> wrote:On 7/12/19 9:15 AM, Scott R. Looney
>> wrote:
>> > any tips on where to copy the folder so that the path is clearly given?
>> i'm
>> > not 100% sure but i'm reasonably certain all my errors so far are path
>> > related.
>>
>> i think this is all wrong.
>> you don't have to copy anything anywhere.
>> you shouldn't even think about doing that (where did you get the idea
>> from?)
>>
>> i *think* that you are just running "make" in the wrong directory.
>> you should run it in the "pd-plaits-master" directory (which contains
>> files like "plts~.cpp")¹
>>
>> i am absolutely running make in the correct directory. i installed the
>> whole msys2/mingw64 toolchain, i opened the shell for mingw64, and
>> navigated to my copy of the repo, which i downloaded as a zip, uncompressed
>> and moved into what i believed to be a convenient location under the
>> msys64/home/(username) directory
>> once you have installed the proper toolchain (make, compiler,...) the
>> *only* thing you might have to adjust is the location of your
>> Pd-installation
>>
>> Pd 64 bit is installed in its usual spot. nothing unusual there.
>> ~~~
>> 1. download pd-plaits and unzip it
>> 2. open the MinGW32-shell (for building a 32bit external) resp the
>> MinGW64-shell (for building a 64bit external)
>> 3. change into the pd-plaits directory
>>     $ cd pd-plaits-master
>> 4. run make
>>     $ make
>> ~~~
>>
>> this will create a "plts~.dll" for you (the name's the same for both
>> 32bit and 64bit externals; if you want both, you should rename the 64bit
>> external to "plts~.m_amd64")
>>
>> yup i have done all of this (the 64 Bit route) and i'm still not getting
>> anywhere. i understand i am a newbie to compiling but i really have tried
>> to follow all the directions correctly. all i can guess is that somehow
>> it's not looking for files in the active directory. the fact that Lucas
>> couldn't compile it either is i think significant and speaks towards a
>> non-standard compiling configuration on the repo. there's an Xcode project
>> file so perhaps he tried pd-lib-builder and then gave up and switched to
>> Xcode to compile it. i will say i ran all of this on my Mac using
>> mingw64/gcc and 'make all' with the Makefile.pdlibbuilder  and it created a
>> whole mess of object (.o) files but also created the .pd_darwin file
>> correctly.
>>
>> i think i'll take Lucas's advice and compile something that should work
>> smoothly in order to verify that the method i've been following is sound.
>>
>> best,
>> scott_______________________________________________ Pd-list at lists.iem.at
>> mailing list UNSUBSCRIBE and account-management ->
>> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]
>
> _______________________________________________ Pd-list at lists.iem.at
> mailing list UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190712/2351bc7b/attachment.html>


More information about the Pd-list mailing list