Hi, 

On Wed, 29 Dec 2021, at 3:24 AM, 03.fascia.basic via Info wrote:
> However, when I then run `make` I get an error about `detect_handledata_r` 
> being undefined. This looks like a chardet issue, so I'm now trying to build 
> all the cyruslibs as I'm assuming that'll be more up to date that what 
> libchardet-dev installed.

You don't necessarily need all the things cyruslibs provides, but just 
installing them all is a sensible starting point.  I don't install all of them 
myself, though I can't remember why, nor how I chose which.  You can always 
jettison the ones you don't need later, once you better understand your needs.

> Does that sound reasonable? It looks like there are some other issues with 
> compiling some of the cyruslibs, so I wanted to check before I start playing 
> whack-a-mole with dependencies etc. 

Which ones are giving you problems?

> Assuming I manage to get things compiled, is there a nice way to move the 
> binaries etc to a separate server? I'd prefer to have a way to build on one 
> server and install on another. (Ideally I'd like to create a deb file but I 
> feel that might be a stretch.)

Cyrus is sensitive to architecture, OS version, library versions, etc.  I would 
not expect to just be able to copy the binaries around between servers, unless 
those servers were the same hardware, same OS version, had the same versions of 
the same 3rd-party libraries installed, etc.

Also, I do not believe it's possible to cross-compile Cyrus -- I mean, I've 
never tried, but if you told me "it breaks when I...", this is one of the 
things where my response would be "then don't do that".  It doesn't sound like 
you're planning on cross-compiling, but I thought I'd mention anyway. :)

In my mind, the only sane and safe options here are:

* make a deb package, and let dpkg/apt protect you from installing a build onto 
a system its not compatible with; or
* just build it on the server you intend to run it on

If I was starting out, I would build it fresh on each server it'll be running 
on, probably with some naive wrapper script so I don't have to remember/type 
the same configure arguments over and over, etc.  I would think about moving to 
packages later, once I really understood exactly what I wanted them to do for 
me.

Please note that I'm a developer, not sysadmin or ops, so maybe someone with 
relevant experience can chime in to fill in the gaps?

Cheers,

ellie
------------------------------------------
Cyrus: Info
Permalink: 
https://cyrus.topicbox.com/groups/info/Tb95f66a71888e2be-Mbd4a97d6bf067c3746bf367d
Delivery options: https://cyrus.topicbox.com/groups/info/subscription

Reply via email to