Hi there,

I am experiencing bird throwing a <FATAL> Unknown character error on my configuration files. I suspect this might be related to CRLF vs LF, as all the positions it reports unknown character seems to be EOL or blank spaces. I should mention I am currently writing my configuration on a Windows machine, but it has passed between Linux and Windows a couple times.

As an example, trying to start BIRD 3.1.0 on an Alpine Linux edge box gives the following:

ns2:~# bird
bird: 2025-05-20 18:39:55.659 [0001] <FATAL> 
/etc/bird.d/defines/constants.def:2:31 Unknown character
ns2:~# head /etc/bird.d/defines/constants.def
# Local preference values
define LP_UPSTREAM      = 100;
define LP_PEER          = 200;
define LP_DOWNSTREAM    = 300;
define LP_OTHER         = 150;
# ASNs
define AS_SELF          = 209718;
define AS_BOGON         = [
   0,
ns2:~#

if I merge the second line with the first line to look like this:
define LP_UPSTREAM      = 100;define LP_PEER          = 200;

I get

ns2:~# bird
bird: 2025-05-20 18:41:02.547 [0001] <FATAL> 
/etc/bird.d/defines/constants.def:2:61 Unknown character

Similarly, on another box running Debian 12 with the pkg.labs.nic.cz 
repository, on BIRD 3.1.1:
bird3:~# bird
bird: 2025-05-20 18:42:01.451 [0001] <FATAL> /etc/bird/bird.conf:1:26 Unknown 
character
bird3:~# head /etc/bird/bird.conf
router id 172.30.187.148;

log "/var/log/bird.log" { error };

ipv6 table master6;
ipv4 table master4;

include "filters/netlist/*.list";
include "filters/AS.list";
include "define/*.def";
bird3~#

Any suggestions would be welcome, as I am currently in the process of 
refractoring my routers from BIRD1 to BIRD3, and this has put me at a bit of a 
standstill. :)

Kind regards, and thank you in advance for any response,
Jori Vanneste / Tyrasuki

Reply via email to