[PD-dev] Externals with interdependancies

Hans-Christoph Steiner hans at eds.org
Mon Mar 23 23:30:22 CET 2009


I think you understood correctly.  Ideally, externals would be one  
source file per objectclass, and one binary per objectclass.  It  
sounds like your code is a bit more complicated, things like Gem and  
PDP have shared code like your project seems to.  The objectclasses  
are all in their own source file, but we don't yet have a good way to  
load the shared code before loading individual files.  I hope to work  
that out soon.

.hc

On Mar 23, 2009, at 6:27 PM, Mike McGonagle wrote:

> Thanks, Hans, I guess I misunderstood you when you said that the
> externals should be in a separate file, I took it to mean that they
> should have their own 'external binary', rather than their own source
> files.
>
> I changed the makefile so that everything now compiles into a single
> external library. BUT, now when I try to run any of the database stuff
> I already know that works with the older version, I am getting
>
> consistency check failed: atom_string
>
> for ever atom that gets returned from the database object. I tried to
> look into the Pd source, but it isn't very obvious what is possibly
> causing this.
>
> Is there some documentation on a "consistency check" error?
>
> Mike
>
>
> On Mon, Mar 23, 2009 at 4:10 PM, Hans-Christoph Steiner  
> <hans at eds.org> wrote:
>>
>> - you could put both of these functions into one file
>> - you could make a third "lib" file for shared functions.
>>
>> For now, you'll probably be best off by linking everything into one  
>> binary.
>>  The grand plan is to support loading a "lib" file as part of the  
>> libdir
>> format, which would work for you.
>>
>> .hc
>>
>> On Mar 23, 2009, at 4:42 PM, Mike McGonagle wrote:
>>
>>> Hello all,
>>>
>>> I am currently trying to rework the SQL stuff I have, to break them
>>> down into their component objects (ie, each external in its own  
>>> file,
>>> as opposed to a library). Well, I am able to get the code such that
>>> everything compiles and produces the *.pd_darwin files that I need.
>>>
>>> But, when I load them, Pd complains that it can't find specific
>>> functions that are in other externals. The real trouble here is that
>>> there are two externals that call functions in the other  
>>> externals, so
>>> no matter what order I load them in, it will tell me that it can't
>>> find the function from the other external. Kind of a "circular"
>>> problem.
>>>
>>> Is there anyway to get these things to compile this stuff so that Pd
>>> will load everything properly?
>>>
>>> Do you need any additional info to answer the question?
>>>
>>> Thanks,
>>>
>>> Mike
>>>
>>> _______________________________________________
>>> Pd-dev mailing list
>>> Pd-dev at iem.at
>>> http://lists.puredata.info/listinfo/pd-dev
>>
>>
>>
>>
>> ----------------------------------------------------------------------------
>>
>> You can't steal a gift. Bird gave the world his music, and if you  
>> can hear
>> it, you can have it. - Dizzy Gillespie
>>
>>
>>
>>
>
>
>
> -- 
>
> George Burns  - "Don't stay in bed, unless you can make money in bed."





----------------------------------------------------------------------------

Programs should be written for people to read, and only incidentally  
for machines to execute.
  - from Structure and Interpretation of Computer Programs





More information about the Pd-dev mailing list