[kronolith] MCAL and Solaris problem

Brandon Knitter knitterb@blandsite.org
Tue, 26 Mar 2002 11:28:29 -0800


This should almost always be hit.  I was poking around some more and it finally
dawned on me as to what's going on.  Since libmcal has 4 functions defined in
the header file which are not in the code (cc_searched, cc_vlog, cc_log,
cc_login) and are used as callbacks, the default behavior for a Solaris linker
is to NOT allow undefined symbols in executable links (they are allowed in .so's).

So what happens in the configure application is that it's trying to find
function calls (i.e. getcwd) and when it builds out the conftest.c it's
including the -lmcal, and the excutable doesn't have the undefined symbols, so
the linker complains.

I did find that buy adding to the beginning of my configure:

    env LDFLAGS="-z nodefs" ./configure ...

that I could get the configure to run.  This seems like a hack to me, at best,
but at least let's me get through the configure part.  What really /should/
happen is that the configure app should only include -lmcal in the compile and
link as it is required, as well as in the total build of the php module.  It
seems like this could be an oversight in the design of the entire php build system?

I was also curious, I changed my switch in configure to --with-mcal=shared, and
it builds fine, but php doesn't seem to load up mcal as shown in
http://somesite/horde/test.php.  How do you tell php to load those at runtime? 
If there something in the php.ini that I missed.

Finally, I really wanna see what this looks like, are there any test sites for
kronolith (horde's demo site seems to be down).  Or does someone have some
screen shots?  Man I gotta at least see it! ;-)

If I can help on the php build problems, let me know.  Still having unrelated
problems with my build.

-- 
-bk


Quoting Chuck Hagenbuch <chuck@horde.org>:

> Quoting Brandon Knitter <knitterb@blandsite.org>:
> 
> > After some poking around I found that those symbols are UNDEF as per
> > ``nm'', and further research shows that mcal.h lists them as callbacks. 
> > .../php-4.1.2/ext/mcal/php_mcal.c shows these four functions defined and
> > all, but why are they attempting to be used in the other places?
> > 
> > This could easily explain my problem, but it seems like this is
> > specifically related to Solaris, perhaps just version 8.  Why would this 
> > not be an issue on Linux?  What platform is most of Horde developed on?
> 
> I think the problem was occasionally hit under different circumstances 
> under Linux. You might try libmcal out of CVS; I believe there were some 
> missing prototypes, and that this issue was resolved recently.
> 
> -chuck
> 
> --
> Charles Hagenbuch, <chuck@horde.org>
> "A dream which helps you to live your reality with dignity
>  and justice is a good dream." - Tariq Ramadan
> 
> -- 
> Kronolith mailing list: http://horde.org/kronolith/
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: kronolith-unsubscribe@lists.horde.org
> 
>