Перейти к содержимому
Калькуляторы

Megas

Активный участник
  • Публикации

    785
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем Megas


  1. В 15.12.2020 в 10:51, rover-lt сказал:

    хоспади! теперь для установки dns сервера  требуется 10 техников, 20 SRE и 30 devops?

     


    серьезно?
    здесь задача на 15 минут скачать нужные файлы, еще 15 минут чтобы настроить борды.

    неужели квалификация опса уже  такая низкая наше время?

  2. так я же Вам выше написал рецепт, он рабочий и масштабируемый.
    гибкость максимальная, нагрузка минимальная.

    все можно решать в динамике.

    ну запустите cortex+grafana+node_exporter+bind_exporter+grafana cloud agent, все в контейнерах стартует в 2 клика через compose
    дальше крутите и смотрите на ваши цифры.
     

  3. А может начать с простого?
    Построить сперва все таки статистику, вывести QPS, вывести количество NOERROR, NXDOMAINS и т.д.?
    Вывести средний рейт с клиента)

    Тут возможностей и способов обработки миллион, можно сделать безумно гибкую систему с самообучением и реагированием.
     

  4. я сейчас активно пытаюсь внедрить:
    https://github.com/dmachard/dnstap-receiver

    очень классная штука, кушает достаточно хорошую нагрузку.
    в бэкэнде стоит  grafana cloud agent + loki + cortex
    Все легко кастомизируется и запускается.

    А в обще проблем не вижу, ставите железный балансир, за ним ферму из dnsdist, делаете рейты с одного ипа, дальше опять же, agent + cortex + alerts.
    При большом желании можно завернуть все в кубы.
     

  5. Павел, есть ли у Вас планы по интеграции fastnetmon в prometheus?
    Мне кажется было бы очень хорошо, если бы fastnetmon содержал в себе веб сервер, который отдавал бы статистику по url

    Еще сейчас работаю над grafana loki, очень классная штука и было бы тоже хорошо, иметь возможность строить графики работы fastnetmon налету.
    Посмотрите на эту реализацию: https://itnext.io/grafana-loki-the-logqls-prometheus-like-counters-aggregation-functions-and-dnsmasq-s-1e622c25c7e4

    Я себе сейчас запустил связку dnsdist + grafana loki + grafana cloud agent, выглядит очень классно.

    Это огромное поле для новых возможностей.
     

  6. Это ENI от AWS с последней версией драйвера

     

    Можно попробовать log сделать лимит на количество записей и проанализировать, в ближайшие пару дней попробую все.

  7. Всем привет, похоже без вашей помощи уже никак.

    Есть обычный firewall на iptables и aws linux 2, все как обычно.
    Набор правил в таблице forward в обще минимальный.
     

    Chain INPUT (policy ACCEPT 9174 packets, 4435K bytes)
     pkts bytes target     prot opt in     out     source               destination
    2498K  728M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
      11M 1049M ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53 /* fw_input_dns_udp */
        3   180 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53 /* fw_input_dns_tcp */
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9100
       14   840 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
      74M  110G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.43.64.2           tcp dpt:53 /* fw_forward_to_vpc_dns_tcp */
        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            10.43.64.2           udp dpt:53 /* fw_forward_to_vpc_dns_udp */
       14  1098 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    65455 3827K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 match-set asubnets dst /* fw_forward_to_aws_subnets_80 */
     5723  340K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 match-set asubnets dst /* fw_forward_to_aws_subnets_443 */
    5211K  313M FILTER     all  --  *      *       0.0.0.0/0            0.0.0.0/0
    1423K   86M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
    
    Chain OUTPUT (policy ACCEPT 11M packets, 3390M bytes)
     pkts bytes target     prot opt in     out     source               destination
     111K 9497K ACCEPT     udp  --  *      eth0    0.0.0.0/0            10.43.64.2           udp dpt:53 /* fw_output_to_vpc_dns_udp_eth0 */
        0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            10.43.64.2           tcp dpt:53 /* fw_output_to_vpc_dns_tcp_eth0 */
        0     0 ACCEPT     udp  --  *      eth1    0.0.0.0/0            10.43.64.2           udp dpt:53 /* fw_output_to_vpc_dns_udp_eth1 */
        0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            10.43.64.2           tcp dpt:53 /* fw_output_to_vpc_dns_tcp_eth1 */
    
    Chain FILTER (1 references)
     pkts bytes target     prot opt in     out     source               destination
    1423K   86M RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set passtraffic dst,dst
    3540K  212M LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "[passtraffic] rejected:"
    3540K  212M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            /* fw_dnsfilter_reject */ reject-with icmp-port-unreachable

     

    Проблема возникет в правиле REJECT, 4к входящих пакетов неразрешенные сети приводит CPU idle к 40 процентам,   10к убивает ядра по SoftIRQ.
    сейчас используются r5.4xlarge (127gb mem, 16core), уже пробовал разные типы инстансов, в линейке C5 которая у  AWS на KVM, сразу убивает проц процессом: softirqd
     

    Понимаю что использовать REJECT очень плохо, но увы, без него просто нельзя.
    Систему уже крутил, вот текущие параметры:

     

    fs.file-max=2097152
    net.core.netdev_max_backlog=65536
    net.core.rmem_default = 31457280
    net.core.rmem_max = 12582912
    net.core.somaxconn=32768
    net.core.wmem_default = 31457280
    net.core.wmem_max = 12582912
    net.ipv4.conf.all.route_localnet=1
    net.ipv4.conf.all.rp_filter=2
    net.ipv4.conf.all.send_redirects=0
    net.ipv4.conf.default.route_localnet=1
    net.ipv4.conf.default.rp_filter=2
    net.ipv4.conf.default.send_redirects=0
    net.ipv4.ip_forward=1
    net.ipv4.ip_local_port_range=10240 65535
    net.ipv4.tcp_max_syn_backlog = 65536
    net.ipv4.tcp_rmem = 16384 87380 16777216
    net.ipv4.tcp_sack=0
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.tcp_tw_reuse=1
    net.ipv4.tcp_wmem = 16384 65536 16777216
    net.ipv4.udp_rmem_min = 16384
    net.ipv4.udp_wmem_min = 16384
    net.netfilter.nf_conntrack_buckets=262144
    net.netfilter.nf_conntrack_generic_timeout=120
    net.netfilter.nf_conntrack_max=1048576
    net.netfilter.nf_conntrack_tcp_loose=0
    net.netfilter.nf_conntrack_tcp_timeout_established=54000
    vm.min_free_kbytes=104857
    
    additional
    sysctl net.ipv4.tcp_fin_timeout=15
    sysctl net.ipv4.tcp_synack_retries=1
    sysctl net.ipv4.tcp_syn_retries=1
    sysctl net.ipv4.tcp_syncookies=1
    sysctl net.core.somaxconn=60000
    sysctl net.ipv4.tcp_fin_timeout=15

     

    Трафик проходит совсем небольшой, около 10-150мегабит постоянной загрузки, но как только приходит большое количество пакетов которые попадают в REJECT, загрузка CPU подскакивает и система тупит очень сильно.
    Может у кого-то есть идеи как можно оптимизировать и куда можно посмотреть еще, чтобы понять что именно убивает?

     

  8. Павел, подскажите, можно как-то добавить возможность изменение уровня журналирования?
    Очень смущают:
    2018-02-10 00:35:58,051 [ERROR] Can't store data to Graphite
    2018-02-10 00:35:59,064 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:00,101 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:01,113 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:02,126 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:03,159 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:04,192 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:05,226 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:06,268 [ERROR] Can't store data to Graphite
    2018-02-10 00:36:07,300 [ERROR] Can't store data to Graphite

    При этом всего datasource в качестве которого sflow с коммутатора и больше ничего. Но данные в графите есть.

     

  9. Павел, я тут затестил одну конфигурацию:

    iptables -t mangle -A PREROUTING -d 10.10.0.5 -p udp --dport 7001  -j TEE --gateway 10.10.0.15

    Через tcpdump на машине 10.10.0.15 вижу пакеты, но вот fastnetmon sflow поток увы не видит. 
    Суть в том чтобы сделать клон сетевых пакетов которые приходят от коммутатора на несколько точек. И адрес назначения в этом случае другой сервер, fastnetmon не может похоже воспринять такие пакеты.

     

    И еще после default инсталяции ругается на:
    2017-12-30 01:18:51,085 [ERROR] Can't parse config line: 'ban_for_tcp_pps = off '
    хотя конфиг на debian8 чисто default

     

  10. Павел, помогите пожалуйста понять, почему сервис падает если запускать через rc скрипт и работает если запускать просто ручками.

    
    vfork()                         = 872 (0x368)
    We will use custom path to configuration file: /etc/fastnetmon.conf
    We will run in daemonized mode
    wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 872 (0x368)
    
    

    
    fastnetmon_enable="YES"
    #fastnetmon_user="fastnetmon"
    fastnetmon_flags="--configuration_file=/etc/fastnetmon.conf --daemonize"
    

     

    Хотя из коммандной строки: fastnetmon --configuration_file=/ etc / fastnetmon . conf -- daemonize 
    все рабоатет

     

     



    15:18 root@netmon01 [/root]# truss /usr/local/etc/rc.d/fastnetmon start
    mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366320640 (0x800647000)
    issetugid()                     = 0 (0x0)
    lstat("/etc",{ mode=drwxr-xr-x ,inode=39,size=117,blksize=7680 }) = 0 (0x0)
    lstat("/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=13742,size=109,blksize=4096 }) = 0 (0x0)
    openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    fstat(3,{ mode=-rw-r--r-- ,inode=13742,size=109,blksize=4096 }) = 0 (0x0)
    mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0)     = 34366353408 (0x80064f000)
    close(3)                     = 0 (0x0)
    lstat("/usr",{ mode=drwxr-xr-x ,inode=9,size=16,blksize=4096 }) = 0 (0x0)
    lstat("/usr/local",{ mode=drwxr-xr-x ,inode=232,size=15,blksize=4096 }) = 0 (0x0)
    lstat("/usr/local/etc",{ mode=drwxr-xr-x ,inode=60871,size=27,blksize=4096 }) = 0 (0x0)
    lstat("/usr/local/etc/libmap.d",0x7fffffffc718)     ERR#2 'No such file or directory'
    munmap(0x80064f000,109)                 = 0 (0x0)
    openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    read(3,"Ehnt\^A\0\0\0\M^@\0\0\0{\0\0\0\0"...,128) = 128 (0x80)
    fstat(3,{ mode=-r--r--r-- ,inode=196624,size=251,blksize=4096 }) = 0 (0x0)
    lseek(3,0x80,SEEK_SET)                 = 128 (0x80)
    read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,123) = 123 (0x7b)
    close(3)                     = 0 (0x0)
    access("/lib/libedit.so.7",F_OK)         = 0 (0x0)
    openat(AT_FDCWD,"/lib/libedit.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
    fstat(3,{ mode=-r--r--r-- ,inode=155,size=222648,blksize=131072 }) = 0 (0x0)
    mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
    mmap(0x0,2330624,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34368421888 (0x800848000)
    mmap(0x800848000,212992,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34368421888 (0x800848000)
    mmap(0x800a7b000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x33000) = 34370727936 (0x800a7b000)
    mmap(0x800a7e000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34370740224 (0x800a7e000)
    munmap(0x80064f000,4096)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    access("/lib/libc.so.7",F_OK)             = 0 (0x0)
    openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
    fstat(3,{ mode=-r--r--r-- ,inode=187,size=1761320,blksize=131072 }) = 0 (0x0)
    mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
    mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34370752512 (0x800a81000)
    mmap(0x800a81000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34370752512 (0x800a81000)
    mmap(0x800e13000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x192000) = 34374496256 (0x800e13000)
    mmap(0x800e1f000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34374545408 (0x800e1f000)
    munmap(0x80064f000,4096)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    access("/lib/libncursesw.so.8",F_OK)         = 0 (0x0)
    openat(AT_FDCWD,"/lib/libncursesw.so.8",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
    fstat(3,{ mode=-r--r--r-- ,inode=170,size=382408,blksize=131072 }) = 0 (0x0)
    mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
    mmap(0x0,2482176,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34374651904 (0x800e39000)
    mmap(0x800e39000,364544,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34374651904 (0x800e39000)
    mmap(0x801091000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x58000) = 34377109504 (0x801091000)
    mmap(0x801096000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34377129984 (0x801096000)
    munmap(0x80064f000,4096)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    munmap(0x80064e000,4096)             = 0 (0x0)
    mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366349312 (0x80064e000)
    munmap(0x800651000,28672)             = 0 (0x0)
    mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366361600 (0x800651000)
    sysarch(AMD64_SET_FSBASE,0x7fffffffe0d8)     = 0 (0x0)
    sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
    sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
    readlink("/etc/malloc.conf",0x7fffffffd7d0,1024) ERR#2 'No such file or directory'
    issetugid()                     = 0 (0x0)
    __sysctl(0x7fffffffd670,0x2,0x7fffffffd6c0,0x7fffffffd6b8,0x800be2c93,0xd) = 0 (0x0)
    __sysctl(0x7fffffffd6c0,0x2,0x7fffffffd784,0x7fffffffd778,0x0,0x0) = 0 (0x0)
    mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34377134080 (0x801097000)
    munmap(0x801097000,2097152)             = 0 (0x0)
    mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34377134080 (0x801097000)
    munmap(0x801097000,1478656)             = 0 (0x0)
    munmap(0x801400000,614400)             = 0 (0x0)
    sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
    sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
    sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
    sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
    sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
    sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
    sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
    sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
    getpid()                     = 868 (0x364)
    geteuid()                     = 0 (0x0)
    getppid()                     = 867 (0x363)
    mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34380709888 (0x801400000)
    getuid()                     = 0 (0x0)
    geteuid()                     = 0 (0x0)
    getgid()                     = 0 (0x0)
    getegid()                     = 0 (0x0)
    openat(AT_FDCWD,"/usr/local/etc/rc.d/fastnetmon",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 10 (0xa)
    close(3)                     = 0 (0x0)
    sigaction(SIGINT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
    sigaction(SIGINT,{ 0x41b8a0 0x0 ss_t },0x0)     = 0 (0x0)
    sigaction(SIGQUIT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
    sigaction(SIGQUIT,{ 0x41b8a0 0x0 ss_t },0x0)     = 0 (0x0)
    sigaction(SIGTERM,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
    sigaction(SIGTERM,{ SIG_DFL 0x0 ss_t },0x0)     = 0 (0x0)
    stat(".",{ mode=drwxr-xr-x ,inode=36,size=22,blksize=4096 }) = 0 (0x0)
    stat("/root",{ mode=drwxr-xr-x ,inode=36,size=22,blksize=4096 }) = 0 (0x0)
    read(10,"#!/bin/sh\n\n# PROVIDE: fastnetm"...,1024) = 512 (0x200)
    openat(AT_FDCWD,"/etc/rc.subr",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
    close(3)                     = 0 (0x0)
    read(11,"# $NetBSD: rc.subr,v 1.67 2006/1"...,1024) = 1024 (0x400)
    read(11,"FOR A PARTICULAR\n# PURPOSE ARE "...,1024) = 1024 (0x400)
    read(11,"tching pattern.\n# \nlist_vars()"...,1024) = 1024 (0x400)
    read(11,"olete()\n{\n\tlocal _var\n\t_var"...,1024) = 1024 (0x400)
    read(11,"\n\teval _value=\\$${1}\n\tdebug"...,1024) = 1024 (0x400)
    read(11,"ms type\n#\tGo through the list "...,1024) = 1024 (0x400)
    read(11,"id file ($_pidfile): not readabl"...,1024) = 1024 (0x400)
    read(11,"name procname` + "]"\n#\n#\tIf i"...,1024) = 1024 (0x400)
    read(11,"\n\t\t\t*)\n\t\t\t\twarn "no she"...,1024) = 1024 (0x400)
    read(11,"efore the real sort(1) is availa"...,1024) = 1024 (0x400)
    read(11,"{sort_field#*.} sort_field=${sor"...,1024) = 1024 (0x400)
    read(11,"t modified comparison value if s"...,1024) = 1024 (0x400)
    read(11,"t_numeric" ]; then\n\t\t\t\tgt=""...,1024) = 1024 (0x400)
    read(11,"\t\t\t[ "$sort_strict_fields" ] "...,1024) = 1024 (0x400)
    read(11,"" = "$curitem_mod" ]; then\n\t\t"...,1024) = 1024 (0x400)
    read(11,"o\n\t\t\tif kill -0 $_j 2>/dev/n"...,1024) = 1024 (0x400)
    read(11,"ne=${line#*/}\n\t\t_pidfile_from"...,1024) = 1024 (0x400)
    read(11,"f ${rc_arg}_cmd is set for\n#\t"...,1024) = 1024 (0x400)
    read(11,"parent environment\n#\t\t\t\t\tc"...,1024) = 1024 (0x400)
    read(11,"fter checking for required\n#\t"...,1024) = 1024 (0x400)
    read(11,"egrep(1) pattern matching the mo"...,1024) = 1024 (0x400)
    read(11,"oll\t\tWait for ${command} to ex"...,1024) = 1024 (0x400)
    read(11," arguments to the command subrou"...,1024) = 1024 (0x400)
    read(11," $command_interpreter"')'\n\t\te"...,1024) = 1024 (0x400)
    read(11,"" ]; then\n\t\t\tcontinue\n\t\tf"...,1024) = 1024 (0x400)
    read(11,"[ -n "$_cmd" ]; then\n\t\t\t_run"...,1024) = 1024 (0x400)
    read(11,"groups }\\\n$_chroot $command $r"...,1024) = 1024 (0x400)
    read(11,"un_rc_doit "$_doit" || return 1"...,1024) = 1024 (0x400)
    read(11,"en\n\t\t\t\techo " : $desc"\n\t"...,1024) = 1024 (0x400)
    read(11,"]; then\n\t\t\t\tpid=$(check_pro"...,1024) = 1024 (0x400)
    read(11,"rgs"\n\t\teval "$_postcmd $rc_ex"...,1024) = 1024 (0x400)
    read(11,"ackup or scratch file, ignore it"...,1024) = 1024 (0x400)
    read(11,"[service]\n#\tSource in the conf"...,1024) = 1024 (0x400)
    read(11,"\t\t\t\t\t. "$_rc"\n\t\t\t\t\tfi"...,1024) = 1024 (0x400)
    read(11,""UNSET" ]; then\n\t\t\techo '$2'"...,1024) = 1024 (0x400)
    read(11,"nabled in rc.conf output message"...,1024) = 1024 (0x400)
    read(11,"in done here if RCS is being use"...,1024) = 1024 (0x400)
    read(11,"g1" $_cur\n\t\t\trcs -q -kb -U $"...,1024) = 1024 (0x400)
    read(11," from file, and creates\n#\tthe "...,1024) = 1024 (0x400)
    read(11,"sbin/devfs rule -s $rulenum dels"...,1024) = 1024 (0x400)
    read(11,"}\n\n# devfs_set_ruleset ruleset"...,1024) = 1024 (0x400)
    read(11,""$2"" || devdir=\n\t_me="devfs_a"...,1024) = 1024 (0x400)
    read(11,"rovide a function for normalizin"...,1024) = 1024 (0x400)
    read(11,"\t_mod=${_mod:-$1}\n\t_loaded=fa"...,1024) = 1024 (0x400)
    read(11,"provider mountpoint type options"...,1024) = 1024 (0x400)
    read(11,"is function can\n# be used to ex"...,1024) = 1024 (0x400)
    read(11,"startup}; do\n\t\tif [ -d "${dir"...,1024) = 1024 (0x400)
    read(11,"adable."\n\t\t\t\tif [ -z "$rc_f"...,1024) = 1024 (0x400)
    read(11,"if ${SYSCTL_N} kern.features.$1 "...,1024) = 886 (0x376)
    pipe2(0x7fffffffe1b8,0)                 = 0 (0x0)
    vfork()                         = 869 (0x365)
    close(4)                     = 0 (0x0)
    read(3,"0\n",128)                 = 2 (0x2)
    read(3,0x7fffffffe3a0,128)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 869 (0x365)
    read(11,0x801420000,1024)             = 0 (0x0)
    close(11)                     = 0 (0x0)
    stat("/etc/defaults/rc.conf",{ mode=-r--r--r-- ,inode=13851,size=38569,blksize=38912 }) = 0 (0x0)
    eaccess("/etc/defaults/rc.conf",R_OK)         = 0 (0x0)
    openat(AT_FDCWD,"/etc/defaults/rc.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
    close(3)                     = 0 (0x0)
    read(11,"#!/bin/sh\n\n# This is rc.conf -"...,1024) = 1024 (0x400)
    read(11,"from rc.d\nrc_info="NO"\t\t# Ena"...,1024) = 1024 (0x400)
    read(11,"able="NO"\t# Build linker.hints "...,1024) = 1024 (0x400)
    read(11,"stems\n\n# ZFSD support\nzfsd_en"...,1024) = 1024 (0x400)
    read(11,"a1.keys"\n#geli_da1_autodetach=""...,1024) = 1024 (0x400)
    read(11,"me="NO"\t\t# Set to NIS domain i"...,1024) = 1024 (0x400)
    read(11,"ty\nfirewall_script="/etc/rc.fir"...,1024) = 1024 (0x400)
    read(11,"firewall_simple_iif_ipv6="ed1"\t"...,1024) = 1024 (0x400)
    read(11,"nat_enable="NO"\t# Enable kernel"...,1024) = 1024 (0x400)
    read(11,"m lives\nipfilter_rules="/etc/ip"...,1024) = 1024 (0x400)
    read(11,"gs for pfctl\npflog_enable="NO""...,1024) = 1024 (0x400)
    read(11,"O"\t\t# Set to YES to log ICMP R"...,1024) = 1024 (0x400)
    read(11,"#autobridge_bridge0="tap* vlan0""...,1024) = 1024 (0x400)
    read(11,"e="ddial"\t# Override ppp mode f"...,1024) = 1024 (0x400)
    read(11,"td_flags=""\t\t\t# Optional flag"...,1024) = 1024 (0x400)
    read(11,"="/etc/krb5.keytab"\t# keytabfo"...,1024) = 1024 (0x400)
    read(11," interface that pppoed runs on."...,1024) = 1024 (0x400)
    read(11,"ent cache timeout in seconds\nnf"...,1024) = 1024 (0x400)
    read(11," SecureRPC (or NO).\nkeyserv_ena"...,1024) = 1024 (0x400)
    read(11,"nfiguration file\nntpd_sync_on_s"...,1024) = 1024 (0x400)
    read(11,"d).\nnis_server_enable="NO"\t\t#"...,1024) = 1024 (0x400)
    read(11,"empty).\ngateway_enable="NO"\t\t"...,1024) = 1024 (0x400)
    read(11,"""\t\t\t# Set to PVC list (or le"...,1024) = 1024 (0x400)
    read(11,"one_register_dun="NO"\t# for 'on"...,1024) = 1024 (0x400)
    read(11,"ipv6_network_interfaces="auto"\t"...,1024) = 1024 (0x400)
    read(11,"gram="/usr/sbin/route6d"\t# Name"...,1024) = 1024 (0x400)
    read(11,"n. If set to YES,\n\t\t\t\t# thi"...,1024) = 1024 (0x400)
    read(11,"etc/ipf6.rules"\t# rules definit"...,1024) = 1024 (0x400)
    read(11,""NO"\t\t# font 8x16 from /usr/sh"...,1024) = 1024 (0x400)
    read(11,"################################"...,1024) = 1024 (0x400)
    read(11,"ail (outbound only)\nsendmail_ms"...,1024) = 1024 (0x400)
    read(11,"options to pass to the crondaem"...,1024) = 1024 (0x400)
    read(11,"e systems (if enabled)\nquotaoff"...,1024) = 1024 (0x400)
    read(11,"sr/lib/compat /usr/local/lib /us"...,1024) = 1024 (0x400)
    read(11,"ttingsecurelevel to 0 will resu"...,1024) = 1024 (0x400)
    read(11,"ets="/etc/defaults/devfs.rules /"...,1024) = 1024 (0x400)
    read(11,"requires kernel options RACCT an"...,1024) = 1024 (0x400)
    read(11,"e_rc_confs() {\n\t\tlocal isour"...,1024) = 681 (0x2a9)
    stat("/etc/defaults/vendor.conf",0x7fffffffe018) ERR#2 'No such file or directory'
    read(11,0x801420000,1024)             = 0 (0x0)
    close(11)                     = 0 (0x0)
    stat("/etc/rc.conf",{ mode=-rw-r--r-- ,inode=16236,size=437,blksize=4096 }) = 0 (0x0)
    eaccess("/etc/rc.conf",R_OK)             = 0 (0x0)
    openat(AT_FDCWD,"/etc/rc.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
    fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
    close(3)                     = 0 (0x0)
    read(11,"hostname="netmon01.freehost.com."...,1024) = 437 (0x1b5)
    read(11,0x801420000,1024)             = 0 (0x0)
    close(11)                     = 0 (0x0)
    stat("/etc/rc.conf.local",0x7fffffffe098)     ERR#2 'No such file or directory'
    stat("/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
    stat("/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
    stat("/usr/local/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
    stat("/usr/local/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
    pipe2(0x7fffffffe238,0)                 = 0 (0x0)
    fork()                         = 870 (0x366)
    close(4)                     = 0 (0x0)
    read(3,"root\n",128)                 = 5 (0x5)
    read(3,0x7fffffffe420,128)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 870 (0x366)
    pipe2(0x7fffffffe038,0)                 = 0 (0x0)
    fork()                         = 871 (0x367)
    close(4)                     = 0 (0x0)
    read(3,0x7fffffffe220,128)             = 0 (0x0)
    close(3)                     = 0 (0x0)
    wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 871 (0x367)
    stat("/usr/local/bin/fastnetmon",{ mode=-rwxr-xr-x ,inode=182700,size=825608,blksize=131072 }) = 0 (0x0)
    eaccess("/usr/local/bin/fastnetmon",X_OK)     = 0 (0x0)
    geteuid()                     = 0 (0x0)
    Starting fastnetmon.
    write(1,"Starting fastnetmon.\n",21)         = 21 (0x15)
    stat("/sbin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
    stat("/bin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
    stat("/usr/sbin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
    stat("/usr/bin/limits",{ mode=-r-xr-xr-x ,inode=12370,size=21224,blksize=21504 }) = 0 (0x0)
    vfork()                         = 872 (0x368)
    We will use custom path to configuration file: /etc/fastnetmon.conf
    We will run in daemonized mode
    wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 872 (0x368)
    read(10,0x627fc0,1024)                 = 0 (0x0)
    exit(0x0)
    process exit, rval = 0

     

  11. Увы, продолжая попытки настроить fastnetmon который уже работал, на новой системе получаю ошибки в логе:
    вижу что были измнения по этому поводу, что было много жалоб, но самое интересное что данные в influxdb поступают, я их вижу.
    Интерфейс мониторится только 1один, но вот почему дает ошибки не понятно.
     

    2017-10-30 19:18:26,081 [INFO] Logger initialized!
    2017-10-30 19:18:26,081 [WARN] We add subnet 10.10.10.221/32 to host group my_hosts
    2017-10-30 19:18:26,081 [WARN] We add subnet 10.10.10.222/32 to host group my_hosts
    2017-10-30 19:18:26,081 [INFO] We have created host group my_hosts with 2 subnets
    2017-10-30 19:18:26,081 [INFO] We will read ban settings for my_hosts
    2017-10-30 19:18:26,082 [INFO] Read configuration file
    2017-10-30 19:18:26,082 [INFO] We loaded 3 networks from whitelist file
    2017-10-30 19:18:26,082 [INFO] We loaded 20 networks from networks file
    2017-10-30 19:18:26,082 [INFO] Totally we have 20 IPv4 subnets
    2017-10-30 19:18:26,082 [INFO] Totally we have 0 IPv6 subnets
    2017-10-30 19:18:26,082 [INFO] Total number of monitored hosts (total size of all networks): 10240
    2017-10-30 19:18:26,082 [INFO] We need 6 MB of memory for storing counters for your networks
    2017-10-30 19:18:26,082 [INFO] I will allocate 256 records for subnet 2018907 cidr mask: 24
    2017-10-30 19:18:26,082 [INFO] I will allocate 256 records for subnet 2084443 cidr mask: 24
    2017-10-30 19:18:26,082 [INFO] I will allocate 1024 records for subnet 5039451 cidr mask: 22
    2017-10-30 19:18:26,083 [INFO] I will allocate 4096 records for subnet 11561904 cidr mask: 20
    2017-10-30 19:18:26,085 [INFO] I will allocate 256 records for subnet 9966770 cidr mask: 24
    2017-10-30 19:18:26,085 [INFO] I will allocate 256 records for subnet 10032306 cidr mask: 24
    2017-10-30 19:18:26,085 [INFO] I will allocate 256 records for subnet 10097842 cidr mask: 24
    2017-10-30 19:18:26,085 [INFO] I will allocate 256 records for subnet 10163378 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 10228914 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 10294450 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 10359986 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 10425522 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 265657 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 331193 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 396729 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 256 records for subnet 462265 cidr mask: 24
    2017-10-30 19:18:26,086 [INFO] I will allocate 512 records for subnet 12330169 cidr mask: 23
    2017-10-30 19:18:26,087 [INFO] I will allocate 512 records for subnet 12461241 cidr mask: 23
    2017-10-30 19:18:26,087 [INFO] I will allocate 256 records for subnet 11389121 cidr mask: 24
    2017-10-30 19:18:26,087 [INFO] I will allocate 256 records for subnet 13107394 cidr mask: 24
    2017-10-30 19:18:26,087 [INFO] We start total zerofication of counters
    2017-10-30 19:18:26,088 [INFO] We finished zerofication
    2017-10-30 19:18:26,088 [INFO] We loaded 20 IPv4 subnets to our in-memory list of networks
    2017-10-30 19:18:26,088 [INFO] Run banlist cleanup thread, we will awake every 60 seconds
    2017-10-30 19:18:26,088 [INFO] Netmap plugin started
    2017-10-30 19:18:26,088 [INFO] We have 4 cpus
    2017-10-30 19:18:26,088 [INFO] netmap will listen on 1 interfaces
    2017-10-30 19:18:26,088 [INFO] netmap will sniff interface: ix1
    2017-10-30 19:18:26,200 [INFO] Mapped 334980KB memory at 0x808200000
    2017-10-30 19:18:26,200 [INFO] We have 4 tx and 4 rx rings
    2017-10-30 19:18:26,200 [INFO] Wait 2 seconds for NIC reset
    2017-10-30 19:18:27,618 [ERROR] Can't store data to Graphite
    2017-10-30 19:18:27,618 [ERROR] Can't store data to Graphite

     

  12. Спасибо Павел, поставил. Но есть маленькая проблема:
    ./fastnetmon/src/fast_platform.h:std::string log_file_path = "/var/log/fastnetmon.log";

    такого файла нету, и если вы делаете запуск под пользователем надо его создавать и давать права. Но у Вас создается /var/log/fastnetmon, может основной general лог перенести в каталог у которого уже есть нужные права?

  13. Доброго времени суток Павел.
    Увы, каждый раз как квест собрать чтобы работало.... Использую FreeBSD 11.1

    К сожалению также проблемы и с LuaJIT-2.0.4.tar.gz. пришлось в системе ставить вручную , скрипт не устанавливает этот архив.

     

    Thank you so much!
    
    Update package manager cache
    Install json library
    Download archive
    Uncompress it
    Build it
    Install it
    Download nDPI
    Configure nDPI
    Build and install nDPI
    Add ndpi to ld.so.conf
    Download Luajit
    Unpack Luajit
    Build and install Luajit
    Install LUA lpeg module
    Download archive
    Install lpeg library
    Install LUA json module
    Download archive
    Install it
    Download hiredis
    Build hiredis
    Add hiredis to ld.so.conf
    Download mongo
    Build mongo client
    Download log4cpp sources
    Unpack log4cpp sources
    Build log4cpp
    Add log4cpp to ld.so.conf
    Install FastNetMon dependency list
    Clone FastNetMon repo
    -- The C compiler identification is Clang 4.0.0
    -- The CXX compiler identification is Clang 4.0.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- C++ compilation flags: -O3 -DNDEBUG
    -- Setting build type to Release as none was specified.
    -- We will enable nDPI support
    -- We will enable LuaJIT support
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Looking for pthread_create
    -- Looking for pthread_create - not found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Boost version: 1.65.1
    -- Found the following Boost libraries:
    --   thread
    --   regex
    --   program_options
    --   system
    --   chrono
    --   date_time
    --   atomic
    -- Found Curses: /usr/lib/libcurses.so
    -- We can't find hiredis library and will disable Redis support
    -- We found mongo-c library /opt/mongo_c_driver_1_1_9/include /opt/mongo_c_driver_1_1_9/lib/libmongoc-1.0.so /opt/mongo_c_driver_1_1_9/include /opt/mongo_c_driver_1_1_9/lib/libbson-1.0.so
    -- We have found log4cpp and will build project
    -- We have found json-c library correctly: /opt/json-c-0.12/lib/libjson-c.so
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/build
    Scanning dependencies of target fastnetmon_client
    [  3%] Building CXX object CMakeFiles/fastnetmon_client.dir/fastnetmon_client.cpp.o
    [  7%] Linking CXX executable fastnetmon_client
    [  7%] Built target fastnetmon_client
    Scanning dependencies of target fastnetmon_packet_parser
    [ 11%] Building C object CMakeFiles/fastnetmon_packet_parser.dir/fastnetmon_packet_parser.c.o
    [ 15%] Linking C static library libfastnetmon_packet_parser.a
    [ 15%] Built target fastnetmon_packet_parser
    Scanning dependencies of target netmap_plugin
    [ 19%] Building CXX object CMakeFiles/netmap_plugin.dir/netmap_plugin/netmap_collector.cpp.o
    [ 23%] Linking CXX static library libnetmap_plugin.a
    [ 23%] Built target netmap_plugin
    Scanning dependencies of target pcap_plugin
    [ 26%] Building CXX object CMakeFiles/pcap_plugin.dir/pcap_plugin/pcap_collector.cpp.o
    [ 30%] Linking CXX static library libpcap_plugin.a
    [ 30%] Built target pcap_plugin
    Scanning dependencies of target example_plugin
    [ 34%] Building CXX object CMakeFiles/example_plugin.dir/example_plugin/example_collector.cpp.o
    [ 38%] Linking CXX static library libexample_plugin.a
    [ 38%] Built target example_plugin
    Scanning dependencies of target fast_dpi
    [ 42%] Building CXX object CMakeFiles/fast_dpi.dir/fast_dpi.cpp.o
    [ 46%] Linking CXX static library libfast_dpi.a
    [ 46%] Built target fast_dpi
    Scanning dependencies of target ipfix_rfc
    [ 50%] Building CXX object CMakeFiles/ipfix_rfc.dir/ipfix_rfc.cpp.o
    [ 53%] Linking CXX static library libipfix_rfc.a
    [ 53%] Built target ipfix_rfc
    Scanning dependencies of target netflow_plugin
    [ 57%] Building CXX object CMakeFiles/netflow_plugin.dir/netflow_plugin/netflow_collector.cpp.o
    [ 61%] Linking CXX static library libnetflow_plugin.a
    [ 61%] Built target netflow_plugin
    Scanning dependencies of target fastnetmon_pcap_format
    [ 65%] Building CXX object CMakeFiles/fastnetmon_pcap_format.dir/fastnetmon_pcap_format.cpp.o
    [ 69%] Linking CXX static library libfastnetmon_pcap_format.a
    [ 69%] Built target fastnetmon_pcap_format
    Scanning dependencies of target sflow_plugin
    [ 73%] Building CXX object CMakeFiles/sflow_plugin.dir/sflow_plugin/sflow_collector.cpp.o
    [ 76%] Linking CXX static library libsflow_plugin.a
    [ 76%] Built target sflow_plugin
    Scanning dependencies of target patricia
    [ 80%] Building C object CMakeFiles/patricia.dir/libpatricia/patricia.c.o
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/libpatricia/patricia.c:276:13: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
            if (bitlen < 0 || bitlen > maxbitlen)
                ~~~~~~ ^ ~
    1 warning generated.
    [ 84%] Linking C static library libpatricia.a
    [ 84%] Built target patricia
    Scanning dependencies of target fast_library
    [ 88%] Building CXX object CMakeFiles/fast_library.dir/fast_library.cpp.o
    [ 92%] Linking CXX static library libfast_library.a
    [ 92%] Built target fast_library
    Scanning dependencies of target fastnetmon
    [ 96%] Building CXX object CMakeFiles/fastnetmon.dir/fastnetmon.cpp.o
    In file included from /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:30:
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/bgp_flow_spec.h:144:9: warning: control may reach end of non-void function [-Wreturn-type]
            }
            ^
    1 warning generated.
    [100%] Linking CXX executable fastnetmon
    CMakeFiles/fastnetmon.dir/fastnetmon.cpp.o: In function `init_logging()':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:(.text+0x1367c): undefined reference to `log4cpp::FileAppender::FileAppender(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, unsigned short)'
    CMakeFiles/fastnetmon.dir/fastnetmon.cpp.o: In function `reconfigure_logging()':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:(.text+0x138cf): undefined reference to `log4cpp::SyslogAppender::SyslogAppender(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:(.text+0x139b4): undefined reference to `log4cpp::RemoteSyslogAppender::RemoteSyslogAppender(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int)'
    CMakeFiles/fastnetmon.dir/fastnetmon.cpp.o: In function `_GLOBAL__sub_I_fastnetmon.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:(.text+0x1bbc4): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fastnetmon.cpp:(.text+0x1bbc9): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::PatternLayout::PatternLayout()':
    PatternLayout.cpp:(.text+0x55): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text+0x61): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text+0x7b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text+0x9a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xa6): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0xbd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xd1): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x108): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::PatternLayout::~PatternLayout()':
    PatternLayout.cpp:(.text+0x16c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::PatternLayout::clearConversionPattern()':
    PatternLayout.cpp:(.text+0x26c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::PatternLayout::setConversionPattern(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    PatternLayout.cpp:(.text+0x2ac): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)'
    PatternLayout.cpp:(.text+0x2bb): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text+0x311): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x326): undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
    PatternLayout.cpp:(.text+0x356): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x392): undefined reference to `std::istream::putback(char)'
    PatternLayout.cpp:(.text+0x3ab): undefined reference to `std::istream::operator>>(int&)'
    PatternLayout.cpp:(.text+0x3c4): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x3e8): undefined reference to `std::istream::operator>>(unsigned long&)'
    PatternLayout.cpp:(.text+0x405): undefined reference to `std::istream::putback(char)'
    PatternLayout.cpp:(.text+0x41e): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x433): undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator!() const'
    PatternLayout.cpp:(.text+0x44f): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text+0x468): undefined reference to `std::istream::tellg()'
    PatternLayout.cpp:(.text+0x48e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text+0x4a3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0x4b0): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text+0x4bb): undefined reference to `std::ostream::operator<<(long)'
    PatternLayout.cpp:(.text+0x4e1): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text+0x502): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x523): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text+0x53e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text+0x54d): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x566): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x57b): undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
    PatternLayout.cpp:(.text+0x5a7): undefined reference to `std::istream::get(char&)'
    PatternLayout.cpp:(.text+0x5bc): undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
    PatternLayout.cpp:(.text+0x5f6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
    PatternLayout.cpp:(.text+0x613): undefined reference to `std::istream::putback(char)'
    PatternLayout.cpp:(.text+0x650): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
    PatternLayout.cpp:(.text+0x691): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text+0x69d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
    PatternLayout.cpp:(.text+0x6a5): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
    PatternLayout.cpp:(.text+0x6be): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text+0x6d7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0x6e6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x6f5): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text+0x713): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0x748): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x766): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0x79b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x8a4): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text+0x8bd): undefined reference to `std::istream::tellg()'
    PatternLayout.cpp:(.text+0x8ed): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text+0x8f7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)'
    PatternLayout.cpp:(.text+0x904): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text+0x919): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0x926): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text+0x931): undefined reference to `std::ostream::operator<<(long)'
    PatternLayout.cpp:(.text+0x954): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text+0x96f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x9a0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const'
    PatternLayout.cpp:(.text+0x9f8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    PatternLayout.cpp:(.text+0xaa4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xac4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
    PatternLayout.cpp:(.text+0xad8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const'
    PatternLayout.cpp:(.text+0xb39): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text+0xb48): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xb57): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()'
    PatternLayout.cpp:(.text+0xb71): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xb9b): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text+0xbb5): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0xbcf): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xbe6): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text+0xc18): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xc4a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xc5e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xc88): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text+0xcb7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xce6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xcf5): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `_ZNK7log4cpp13PatternLayout20getConversionPatternB5cxx11Ev':
    PatternLayout.cpp:(.text+0xd49): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `_ZN7log4cpp13PatternLayout6formatB5cxx11ERKNS_12LoggingEventE':
    PatternLayout.cpp:(.text+0xd85): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text+0xe3c): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text+0xe4c): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text+0xe60): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::create_pattern_layout(log4cpp::FactoryParams const&)':
    PatternLayout.cpp:(.text+0xea7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text+0xf2d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const'
    PatternLayout.cpp:(.text+0xf8f): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text+0xfac): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text+0xfce): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0xfda): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x1011): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text+0x102b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text+0x1047): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x1053): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x108a): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text+0x10a4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text+0x10c0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x10cc): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x1101): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x1130): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x1141): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x1152): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x1163): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x1174): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text+0x1185): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text+0x11ad): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::details::base_validator_data::assign_impl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const':
    PatternLayout.cpp:(.text._ZNK7log4cpp7details19base_validator_data11assign_implERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_[_ZNK7log4cpp7details19base_validator_data11assign_implERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_]+0x23): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::StringLiteralComponent::StringLiteralComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp22StringLiteralComponentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp22StringLiteralComponentC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x3c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::StringLiteralComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp22StringLiteralComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp22StringLiteralComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x27): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::CategoryNameComponent::CategoryNameComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp21CategoryNameComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x7a): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp21CategoryNameComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x97): undefined reference to `std::istream::operator>>(int&)'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp21CategoryNameComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xa6): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp21CategoryNameComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xba): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::CategoryNameComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x30): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x69): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::rfind(char, unsigned long) const'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xa4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xb7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xc3): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp21CategoryNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xd4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::MessageComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp16MessageComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp16MessageComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x27): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::NDCComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp12NDCComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp12NDCComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x27): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::PriorityComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp17PriorityComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp17PriorityComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x30): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::ThreadNameComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp19ThreadNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp19ThreadNameComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x27): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::ProcessorTimeComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp22ProcessorTimeComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp22ProcessorTimeComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x25): undefined reference to `std::ostream::operator<<(int)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::TimeStampComponent::TimeStampComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x35): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x45): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x93): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xbe): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xe9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xff): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned long) const'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x129): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x152): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x169): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x175): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x194): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1ab): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1b7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1cc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN7log4cpp18TimeStampComponentC5ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1dc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::TimeStampComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x66): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x8d): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xe7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xf2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setw)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xfd): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setfill<char>)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x108): undefined reference to `std::ostream::operator<<(int)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x113): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x129): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x13f): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x14b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x15a): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x179): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x188): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1c2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1d1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1e5): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp18TimeStampComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1f9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::SecondsSinceEpochComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp26SecondsSinceEpochComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp26SecondsSinceEpochComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x32): undefined reference to `std::ostream::operator<<(int)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::MillisSinceEpochComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp25MillisSinceEpochComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp25MillisSinceEpochComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x89): undefined reference to `std::ostream::operator<<(long)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::FormatModifierComponent::append(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, log4cpp::LoggingEvent const&)':
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x31): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x7d): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xa7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xe0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::erase(unsigned long, unsigned long)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0xfa): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x11e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x147): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x163): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(unsigned long, char, std::allocator<char> const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x17c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x18e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x19a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1a6): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1b7): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1d3): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(unsigned long, char, std::allocator<char> const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1e9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x1fe): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x20a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x216): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x231): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x240): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x24f): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x260): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x271): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x282): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x293): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x2a7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE[_ZN7log4cpp23FormatModifierComponent6appendERNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEERKNS_12LoggingEventE]+0x2bb): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)':
    PatternLayout.cpp:(.text._ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_[_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_]+0x1f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::details::optional_params_validator const& log4cpp::details::optional_params_validator::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const':
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0x1d): undefined reference to `std::allocator<char>::allocator()'
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0x34): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0x5b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0x67): undefined reference to `std::allocator<char>::~allocator()'
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0xca): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_[_ZNK7log4cpp7details25optional_params_validatorclINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERKS1_PKcRT_]+0xdb): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `std::vector<log4cpp::PatternLayout::PatternComponent*, std::allocator<log4cpp::PatternLayout::PatternComponent*> >::_M_check_len(unsigned long, char const*) const':
    PatternLayout.cpp:(.text._ZNKSt6vectorIPN7log4cpp13PatternLayout16PatternComponentESaIS3_EE12_M_check_lenEmPKc[_ZNKSt6vectorIPN7log4cpp13PatternLayout16PatternComponentESaIS3_EE12_M_check_lenEmPKc]+0x4c): undefined reference to `std::__throw_length_error(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::TimeStampComponent::~TimeStampComponent()':
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentD2Ev[_ZN7log4cpp18TimeStampComponentD5Ev]+0x24): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    PatternLayout.cpp:(.text._ZN7log4cpp18TimeStampComponentD2Ev[_ZN7log4cpp18TimeStampComponentD5Ev]+0x34): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PatternLayout.o): In function `log4cpp::StringLiteralComponent::~StringLiteralComponent()':
    PatternLayout.cpp:(.text._ZN7log4cpp22StringLiteralComponentD2Ev[_ZN7log4cpp22StringLiteralComponentD5Ev]+0x24): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::getRoot()':
    Category.cpp:(.text+0x23): undefined reference to `std::allocator<char>::allocator()'
    Category.cpp:(.text+0x38): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Category.cpp:(.text+0x53): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Category.cpp:(.text+0x5f): undefined reference to `std::allocator<char>::~allocator()'
    Category.cpp:(.text+0x73): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Category.cpp:(.text+0x84): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::Category(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cpp::Category*, int)':
    Category.cpp:(.text+0x1b5): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    Category.cpp:(.text+0x22b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::~Category()':
    Category.cpp:(.text+0x2a2): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::setPriority(int)':
    Category.cpp:(.text+0x367): undefined reference to `std::invalid_argument::invalid_argument(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::addAppender(log4cpp::Appender*)':
    Category.cpp:(.text+0x4f8): undefined reference to `std::invalid_argument::invalid_argument(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::Category::_logUnconditionally(int, char const*, __va_list_tag*)':
    Category.cpp:(.text+0xdfb): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `__static_initialization_and_destruction_0(int, int)':
    Category.cpp:(.text+0x1c28): undefined reference to `std::ios_base::Init::Init()'
    Category.cpp:(.text+0x1c37): undefined reference to `std::ios_base::Init::~Init()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `log4cpp::LoggingEvent::~LoggingEvent()':
    Category.cpp:(.text._ZN7log4cpp12LoggingEventD2Ev[_ZN7log4cpp12LoggingEventD5Ev]+0x18): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Category.cpp:(.text._ZN7log4cpp12LoggingEventD2Ev[_ZN7log4cpp12LoggingEventD5Ev]+0x28): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Category.cpp:(.text._ZN7log4cpp12LoggingEventD2Ev[_ZN7log4cpp12LoggingEventD5Ev]+0x38): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Category.cpp:(.text._ZN7log4cpp12LoggingEventD2Ev[_ZN7log4cpp12LoggingEventD5Ev]+0x44): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree_const_iterator<log4cpp::Appender*>::operator++(int)':
    Category.cpp:(.text._ZNSt23_Rb_tree_const_iteratorIPN7log4cpp8AppenderEEppEi[_ZNSt23_Rb_tree_const_iteratorIPN7log4cpp8AppenderEEppEi]+0x25): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `_ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IRKS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSG_OT_RT0_':
    Category.cpp:(.text._ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IRKS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSG_OT_RT0_[_ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IRKS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSG_OT_RT0_]+0xc8): undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree<log4cpp::Appender*, std::pair<log4cpp::Appender* const, bool>, std::_Select1st<std::pair<log4cpp::Appender* const, bool> >, std::less<log4cpp::Appender*>, std::allocator<std::pair<log4cpp::Appender* const, bool> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<log4cpp::Appender* const, bool> >*)':
    Category.cpp:(.text._ZNSt8_Rb_treeIPN7log4cpp8AppenderESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSD_PSt13_Rb_tree_nodeIS5_E[_ZNSt8_Rb_treeIPN7log4cpp8AppenderESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSD_PSt13_Rb_tree_nodeIS5_E]+0x8c): undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `_ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSE_OT_RT0_':
    Category.cpp:(.text._ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSE_OT_RT0_[_ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE10_M_insert_IS2_NS8_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS2_EPSt18_Rb_tree_node_baseSE_OT_RT0_]+0xc8): undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree_iterator<std::pair<log4cpp::Appender* const, bool> >::operator++()':
    Category.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKPN7log4cpp8AppenderEbEEppEv[_ZNSt17_Rb_tree_iteratorISt4pairIKPN7log4cpp8AppenderEbEEppEv]+0x17): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree<log4cpp::Appender*, std::pair<log4cpp::Appender* const, bool>, std::_Select1st<std::pair<log4cpp::Appender* const, bool> >, std::less<log4cpp::Appender*>, std::allocator<std::pair<log4cpp::Appender* const, bool> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<log4cpp::Appender* const, bool> >)':
    Category.cpp:(.text._ZNSt8_Rb_treeIPN7log4cpp8AppenderESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS5_E[_ZNSt8_Rb_treeIPN7log4cpp8AppenderESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS5_E]+0x23): undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree_const_iterator<log4cpp::Appender*>::operator++()':
    Category.cpp:(.text._ZNSt23_Rb_tree_const_iteratorIPN7log4cpp8AppenderEEppEv[_ZNSt23_Rb_tree_const_iteratorIPN7log4cpp8AppenderEEppEv]+0x17): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree<log4cpp::Appender*, log4cpp::Appender*, std::_Identity<log4cpp::Appender*>, std::less<log4cpp::Appender*>, std::allocator<log4cpp::Appender*> >::_M_erase_aux(std::_Rb_tree_const_iterator<log4cpp::Appender*>)':
    Category.cpp:(.text._ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS2_E[_ZNSt8_Rb_treeIPN7log4cpp8AppenderES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS2_E]+0x23): undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree_iterator<log4cpp::Appender*>::operator--()':
    Category.cpp:(.text._ZNSt17_Rb_tree_iteratorIPN7log4cpp8AppenderEEmmEv[_ZNSt17_Rb_tree_iteratorIPN7log4cpp8AppenderEEmmEv]+0x17): undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Category.o): In function `std::_Rb_tree_iterator<std::pair<log4cpp::Appender* const, bool> >::operator--()':
    Category.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKPN7log4cpp8AppenderEbEEmmEv[_ZNSt17_Rb_tree_iteratorISt4pairIKPN7log4cpp8AppenderEbEEmmEv]+0x17): undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(CategoryStream.o): In function `log4cpp::CategoryStream::flush()':
    CategoryStream.cpp:(.text+0xb0): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const'
    CategoryStream.cpp:(.text+0xd9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(CategoryStream.o): In function `log4cpp::CategoryStream::operator<<(char const*)':
    CategoryStream.cpp:(.text+0x16e): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    CategoryStream.cpp:(.text+0x19b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(CategoryStream.o): In function `log4cpp::CategoryStream::width(long)':
    CategoryStream.cpp:(.text+0x218): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(CategoryStream.o): In function `__static_initialization_and_destruction_0(int, int)':
    CategoryStream.cpp:(.text+0x338): undefined reference to `std::ios_base::Init::Init()'
    CategoryStream.cpp:(.text+0x347): undefined reference to `std::ios_base::Init::~Init()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `log4cpp::HierarchyMaintainer::_getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    HierarchyMaintainer.cpp:(.text+0x390): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    HierarchyMaintainer.cpp:(.text+0x3a8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_of(char, unsigned long) const'
    HierarchyMaintainer.cpp:(.text+0x3b8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const'
    HierarchyMaintainer.cpp:(.text+0x3d4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(char const*)'
    HierarchyMaintainer.cpp:(.text+0x3f2): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    HierarchyMaintainer.cpp:(.text+0x405): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_'
    HierarchyMaintainer.cpp:(.text+0x411): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    HierarchyMaintainer.cpp:(.text+0x468): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    HierarchyMaintainer.cpp:(.text+0x4ce): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `__static_initialization_and_destruction_0(int, int)':
    HierarchyMaintainer.cpp:(.text+0x863): undefined reference to `std::ios_base::Init::Init()'
    HierarchyMaintainer.cpp:(.text+0x872): undefined reference to `std::ios_base::Init::~Init()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> >::operator++(int)':
    HierarchyMaintainer.cpp:(.text._ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEppEi[_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEppEi]+0x25): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    HierarchyMaintainer.cpp:(.text._ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_[_ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_]+0x1f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> >*)':
    HierarchyMaintainer.cpp:(.text._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8CategoryEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSJ_PSt13_Rb_tree_nodeISB_E[_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8CategoryEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSJ_PSt13_Rb_tree_nodeISB_E]+0x8c): undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::vector<log4cpp::Category*, std::allocator<log4cpp::Category*> >::_M_check_len(unsigned long, char const*) const':
    HierarchyMaintainer.cpp:(.text._ZNKSt6vectorIPN7log4cpp8CategoryESaIS2_EE12_M_check_lenEmPKc[_ZNKSt6vectorIPN7log4cpp8CategoryESaIS2_EE12_M_check_lenEmPKc]+0x4c): undefined reference to `std::__throw_length_error(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::vector<void (*)(), std::allocator<void (*)()> >::_M_check_len(unsigned long, char const*) const':
    HierarchyMaintainer.cpp:(.text._ZNKSt6vectorIPFvvESaIS1_EE12_M_check_lenEmPKc[_ZNKSt6vectorIPFvvESaIS1_EE12_M_check_lenEmPKc]+0x4c): undefined reference to `std::__throw_length_error(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> >::operator--()':
    HierarchyMaintainer.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEmmEv[_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEmmEv]+0x17): undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*> >::operator++()':
    HierarchyMaintainer.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEppEv[_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEEppEv]+0x17): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Category*>::~pair()':
    HierarchyMaintainer.cpp:(.text._ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEED2Ev[_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEED5Ev]+0x14): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(HierarchyMaintainer.o): In function `_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE':
    HierarchyMaintainer.cpp:(.text._ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE[_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8CategoryEEC5IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE]+0x36): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Configurator.o): In function `log4cpp::ConfigureFailure::ConfigureFailure(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    Configurator.cpp:(.text+0x31): undefined reference to `std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(LoggingEvent.o): In function `log4cpp::LoggingEvent::LoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)':
    LoggingEvent.cpp:(.text+0x3e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    LoggingEvent.cpp:(.text+0x55): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    LoggingEvent.cpp:(.text+0x6c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    LoggingEvent.cpp:(.text+0xad): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    LoggingEvent.cpp:(.text+0xc2): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    LoggingEvent.cpp:(.text+0xd7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    LoggingEvent.cpp:(.text+0xe8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `__tcf_0':
    Priority.cpp:(.text+0x34): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `log4cpp::(anonymous namespace)::names()':
    Priority.cpp:(.text+0x94): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0xa8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0xb4): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0xc9): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0xdd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0xe9): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0xfd): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x111): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x11d): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x131): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x145): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x151): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x165): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x179): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x185): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x199): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x1ad): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x1b9): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x1cd): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x1e1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x1ed): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x201): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x215): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x221): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x235): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x249): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x255): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x269): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x27d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x289): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x2c0): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x2d4): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x2e8): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x2f9): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o):Priority.cpp:(.text+0x30a): more undefined references to `std::allocator<char>::~allocator()' follow
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `log4cpp::(anonymous namespace)::names()':
    Priority.cpp:(.text+0x385): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `log4cpp::Priority::getPriorityValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    Priority.cpp:(.text+0x4bf): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const'
    Priority.cpp:(.text+0x507): undefined reference to `std::allocator<char>::allocator()'
    Priority.cpp:(.text+0x51c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    Priority.cpp:(.text+0x563): undefined reference to `std::invalid_argument::invalid_argument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    Priority.cpp:(.text+0x572): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x57e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x58a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x596): undefined reference to `std::allocator<char>::~allocator()'
    Priority.cpp:(.text+0x5c2): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x5d6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x5ea): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    Priority.cpp:(.text+0x5fe): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `__gnu_cxx::__enable_if<std::__is_char<char>::__value, bool>::__type std::operator==<char>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    Priority.cpp:(.text._ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_[_ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_]+0x1b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
    Priority.cpp:(.text._ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_[_ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_]+0x2a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
    Priority.cpp:(.text._ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_[_ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_]+0x3b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
    Priority.cpp:(.text._ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_[_ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_]+0x4a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const'
    Priority.cpp:(.text._ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_[_ZSteqIcEN9__gnu_cxx11__enable_ifIXsrSt9__is_charIT_E7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS3_St11char_traitsIS3_ESaIS3_EEESE_]+0x59): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_':
    Priority.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_]+0x23): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    Priority.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_]+0x3d): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Priority.o): In function `_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_':
    Priority.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_]+0x23): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*)'
    Priority.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_]+0x3d): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `log4cpp::NDC::DiagnosticContext::DiagnosticContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    NDC.cpp:(.text+0x32): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text+0x49): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text+0x5a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `log4cpp::NDC::DiagnosticContext::DiagnosticContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cpp::NDC::DiagnosticContext const&)':
    NDC.cpp:(.text+0x94): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text+0xd7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    NDC.cpp:(.text+0xe8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    NDC.cpp:(.text+0xf9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `_ZNK7log4cpp3NDC4_getB5cxx11Ev':
    NDC.cpp:(.text+0x3db): undefined reference to `std::allocator<char>::allocator()'
    NDC.cpp:(.text+0x3f1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    NDC.cpp:(.text+0x40a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    NDC.cpp:(.text+0x41b): undefined reference to `std::allocator<char>::~allocator()'
    NDC.cpp:(.text+0x45b): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `_ZN7log4cpp3NDC4_popB5cxx11Ev':
    NDC.cpp:(.text+0x4f8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `__static_initialization_and_destruction_0(int, int)':
    NDC.cpp:(.text+0x65c): undefined reference to `std::allocator<char>::allocator()'
    NDC.cpp:(.text+0x672): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    NDC.cpp:(.text+0x67e): undefined reference to `std::allocator<char>::~allocator()'
    NDC.cpp:(.text+0x68d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    NDC.cpp:(.text+0x6c1): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `log4cpp::NDC::DiagnosticContext::~DiagnosticContext()':
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextD2Ev[_ZN7log4cpp3NDC17DiagnosticContextD5Ev]+0x18): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextD2Ev[_ZN7log4cpp3NDC17DiagnosticContextD5Ev]+0x24): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)':
    NDC.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x24): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x37): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*)'
    NDC.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x48): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `_ZN7log4cpp3NDC17DiagnosticContextC1EOS1_':
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextC2EOS1_[_ZN7log4cpp3NDC17DiagnosticContextC5EOS1_]+0x1f): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextC2EOS1_[_ZN7log4cpp3NDC17DiagnosticContextC5EOS1_]+0x3a): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `std::vector<log4cpp::NDC::DiagnosticContext, std::allocator<log4cpp::NDC::DiagnosticContext> >::_M_check_len(unsigned long, char const*) const':
    NDC.cpp:(.text._ZNKSt6vectorIN7log4cpp3NDC17DiagnosticContextESaIS2_EE12_M_check_lenEmPKc[_ZNKSt6vectorIN7log4cpp3NDC17DiagnosticContextESaIS2_EE12_M_check_lenEmPKc]+0x4c): undefined reference to `std::__throw_length_error(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `log4cpp::NDC::DiagnosticContext::DiagnosticContext(log4cpp::NDC::DiagnosticContext const&)':
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextC2ERKS1_[_ZN7log4cpp3NDC17DiagnosticContextC5ERKS1_]+0x20): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextC2ERKS1_[_ZN7log4cpp3NDC17DiagnosticContextC5ERKS1_]+0x3b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextC2ERKS1_[_ZN7log4cpp3NDC17DiagnosticContextC5ERKS1_]+0x4c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(NDC.o): In function `log4cpp::NDC::DiagnosticContext::operator=(log4cpp::NDC::DiagnosticContext const&)':
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextaSERKS1_[_ZN7log4cpp3NDC17DiagnosticContextaSERKS1_]+0x1f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    NDC.cpp:(.text._ZN7log4cpp3NDC17DiagnosticContextaSERKS1_[_ZN7log4cpp3NDC17DiagnosticContextaSERKS1_]+0x3a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `_ZN7log4cpp10StringUtil5vformB5cxx11EPKcP13__va_list_tag':
    StringUtil.cpp:(.text+0x91): undefined reference to `std::allocator<char>::allocator()'
    StringUtil.cpp:(.text+0xa8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    StringUtil.cpp:(.text+0xb4): undefined reference to `std::allocator<char>::~allocator()'
    StringUtil.cpp:(.text+0xda): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    StringUtil.cpp:(.text+0xe6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    StringUtil.cpp:(.text+0x13a): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `log4cpp::StringUtil::trim(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    StringUtil.cpp:(.text+0x16d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const'
    StringUtil.cpp:(.text+0x184): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    StringUtil.cpp:(.text+0x1a4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_not_of(char const*, unsigned long) const'
    StringUtil.cpp:(.text+0x1bb): undefined reference to `std::allocator<char>::allocator()'
    StringUtil.cpp:(.text+0x1d0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    StringUtil.cpp:(.text+0x1dc): undefined reference to `std::allocator<char>::~allocator()'
    StringUtil.cpp:(.text+0x1fb): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_not_of(char const*, unsigned long) const'
    StringUtil.cpp:(.text+0x21f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long)'
    StringUtil.cpp:(.text+0x230): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `unsigned int log4cpp::StringUtil::split<std::back_insert_iterator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >(std::back_insert_iterator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char, unsigned int)':
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x5e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char, unsigned long) const'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x8b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0xcd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x101): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x143): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x157): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    StringUtil.cpp:(.text._ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj[_ZN7log4cpp10StringUtil5splitISt20back_insert_iteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EEEEEjRT_RKS9_cj]+0x171): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `void std::_Destroy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
    StringUtil.cpp:(.text._ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_[_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_]+0x14): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `_ZN9__gnu_cxx13new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS6_JS6_EEEvPT_DpOT0_':
    StringUtil.cpp:(.text._ZN9__gnu_cxx13new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS6_JS6_EEEvPT_DpOT0_[_ZN9__gnu_cxx13new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS6_JS6_EEEvPT_DpOT0_]+0x41): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_check_len(unsigned long, char const*) const':
    StringUtil.cpp:(.text._ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc[_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc]+0x4c): undefined reference to `std::__throw_length_error(char const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `void __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::destroy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
    StringUtil.cpp:(.text._ZN9__gnu_cxx13new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7destroyIS6_EEvPT_[_ZN9__gnu_cxx13new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7destroyIS6_EEvPT_]+0x18): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(StringUtil.o): In function `_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_EEvPT_DpOT0_':
    StringUtil.cpp:(.text._ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_EEvPT_DpOT0_[_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_EEvPT_DpOT0_]+0x3d): undefined reference to `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(PThreads.o): In function `_ZN7log4cpp9threading11getThreadIdB5cxx11Ev':
    PThreads.cpp:(.text+0x44): undefined reference to `std::allocator<char>::allocator()'
    PThreads.cpp:(.text+0x5b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    PThreads.cpp:(.text+0x67): undefined reference to `std::allocator<char>::~allocator()'
    PThreads.cpp:(.text+0x78): undefined reference to `std::allocator<char>::~allocator()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `log4cpp::Appender::Appender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    Appender.cpp:(.text+0x4c0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    Appender.cpp:(.text+0x4e1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `log4cpp::Appender::~Appender()':
    Appender.cpp:(.text+0x528): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >::operator++(int)':
    Appender.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEi[_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEi]+0x25): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >*)':
    Appender.cpp:(.text._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8AppenderEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSJ_PSt13_Rb_tree_nodeISB_E[_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8AppenderEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSJ_PSt13_Rb_tree_nodeISB_E]+0x8c): undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >::operator--()':
    Appender.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEmmEv[_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEmmEv]+0x17): undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >::operator++()':
    Appender.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEv[_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEv]+0x17): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >::operator++(int)':
    Appender.cpp:(.text._ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEi[_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEi]+0x25): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*>::~pair()':
    Appender.cpp:(.text._ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEED2Ev[_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEED5Ev]+0x14): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >::operator++()':
    Appender.cpp:(.text._ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEv[_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEEppEv]+0x17): undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, log4cpp::Appender*> >)':
    Appender.cpp:(.text._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8AppenderEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_erase_auxESt23_Rb_tree_const_iteratorISB_E[_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN7log4cpp8AppenderEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_erase_auxESt23_Rb_tree_const_iteratorISB_E]+0x23): undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(Appender.o): In function `_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE':
    Appender.cpp:(.text._ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE[_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN7log4cpp8AppenderEEC5IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSD_IJDpT1_EESt12_Index_tupleIJXspT0_EEESM_IJXspT2_EEE]+0x36): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(FactoryParams.o): In function `log4cpp::FactoryParams::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
    FactoryParams.cpp:(.text+0xbd): undefined reference to `std::invalid_argument::invalid_argument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    FactoryParams.cpp:(.text+0xc9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    FactoryParams.cpp:(.text+0xd5): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    FactoryParams.cpp:(.text+0xf6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    FactoryParams.cpp:(.text+0x107): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /opt/log4cpp1.1.1/lib/liblog4cpp.a(FactoryParams.o): In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x2d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x39): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x52): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long)'
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x69): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*, unsigned long)'
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x7c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    FactoryParams.cpp:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x8d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    libfast_library.a(fast_library.cpp.o): In function `_GLOBAL__sub_I_fast_library.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fast_library.cpp:(.text+0x7471): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/fast_library.cpp:(.text+0x7476): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    libsflow_plugin.a(sflow_collector.cpp.o): In function `_GLOBAL__sub_I_sflow_collector.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/sflow_plugin/sflow_collector.cpp:(.text+0x265e): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/sflow_plugin/sflow_collector.cpp:(.text+0x2663): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    libnetflow_plugin.a(netflow_collector.cpp.o): In function `_GLOBAL__sub_I_netflow_collector.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/netflow_plugin/netflow_collector.cpp:(.text+0x3e2e): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/netflow_plugin/netflow_collector.cpp:(.text+0x3e33): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    libpcap_plugin.a(pcap_collector.cpp.o): In function `_GLOBAL__sub_I_pcap_collector.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/pcap_plugin/pcap_collector.cpp:(.text+0x8ea): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/pcap_plugin/pcap_collector.cpp:(.text+0x8ef): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    libnetmap_plugin.a(netmap_collector.cpp.o): In function `_GLOBAL__sub_I_netmap_collector.cpp':
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/netmap_plugin/netmap_collector.cpp:(.text+0x1dca): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
    /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/netmap_plugin/netmap_collector.cpp:(.text+0x1dcf): undefined reference to `log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()'
    c++: error: linker command failed with exit code 1 (use -v to see invocation)
    *** Error code 1
    
    Stop.
    make[2]: stopped in /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/build
    *** Error code 1
    
    Stop.
    make[1]: stopped in /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/build
    *** Error code 1
    
    Stop.
    make: stopped in /tmp/fastnetmon.build.dir.bp6QBpb4H9/fastnetmon/src/build
    Can't build fastnetmon! at fastnetmon_install.pl line 1537, <STDIN> line 1.

     

  14. ne-vlezay80, frr ? расшифруйте пожалуйста для тех у кого сегодня понедельник, мозг еще не соображает.

     

     

    exabgp да, смотрел в свое время, в принципе хочу попробовать всю связку реализовать с центральным управлением и резервированием.

     

    ne-vlezay80, frr ? расшифруйте пожалуйста для тех у кого сегодня понедельник, мозг еще не соображает.

     

     

    exabgp да, смотрел в свое время, в принципе хочу попробовать всю связку реализовать с центральным управлением и резервированием.

  15. Пока увидел только одну замечательную статью: https://www.echothrust.com/blogs/using-openbgpd-distribute-pf-table-updates-your-servers

     

    Как бы еще на чем такое можно реализовать? quagga? bird?

    хочется через community закидывать в firewall в определенные таблицы.

  16. Крутятся клиентские машины, нормально, не чьхает.

     

    Intel® Xeon® CPU E5-1650 v3 @ 3.50GHz, по 128рамы в каждой ноде, сеть 10ка.

     

    root@cluster-2-1:~# qm status 710 --verbose
    balloon: 3145728000
    ballooninfo:
           mem_swapped_in: 0
           max_mem: 3145728000
           mem_swapped_out: 0
           minor_page_faults: 464722271
           free_mem: 2062954496
           last_update: 1500239099
           major_page_faults: 1227
           actual: 3145728000
           total_mem: 3094065152
    blockstat:
           virtio0:
                   rd_bytes: 1255962624
                   wr_merged: 240868
                   failed_flush_operations: 0
                   rd_merged: 5244
                   invalid_wr_operations: 0
                   rd_total_time_ns: 44284516712
                   wr_operations: 11861153
                   wr_bytes: 345293930496
                   flush_total_time_ns: 1160799865764
                   failed_wr_operations: 0
                   wr_highest_offset: 26007842816
                   rd_operations: 45619
                   idle_time_ns: 2118013840
                   timed_stats:
                   flush_operations: 5911909
                   wr_total_time_ns: 141062041675738
                   invalid_rd_operations: 0
                   invalid_flush_operations: 0
                   failed_rd_operations: 0
           ide2:
                   flush_total_time_ns: 0
                   wr_bytes: 0
                   failed_wr_operations: 0
                   rd_total_time_ns: 77081
                   wr_operations: 0
                   rd_merged: 0
                   invalid_wr_operations: 0
                   failed_flush_operations: 0
                   wr_merged: 0
                   rd_bytes: 138
                   failed_rd_operations: 0
                   invalid_flush_operations: 0
                   wr_total_time_ns: 0
                   flush_operations: 0
                   timed_stats:
                   invalid_rd_operations: 0
                   rd_operations: 6
                   wr_highest_offset: 0
                   idle_time_ns: 953628008805251
    cpus: 2
    disk: 0
    diskread: 1255962762
    diskwrite: 345293930496
    freemem: 2062954496
    maxdisk: 36700160000
    maxmem: 3145728000
    mem: 1031110656
    name: cf761963
    netin: 26286530529
    netout: 10480811260
    nics:
           tap710i0:
                   netout: 10480811260
                   netin: 26286530529
    pid: 108615
    qmpstatus: running
    status: running
    template: 
    uptime: 5111681
    

     

    Единственное что в новых системах отказались от ceph и прочего, проще работать с бэкапами, которые выполняются каждую ночь и кладутся на общий сторедж с glusterfs.

    Смысла нету вкладывать в это все.

  17. с 4ки он хочет 3и сервера, там уже давно на их форуме перетиралось, лучше не строить велосипед и все будет работать как часы...

    Кластер с 9ю проксами на 4й ветки, ceph внутри этого добра на 20ссд по 1ТБ, аптайм уже 1.3года.

  18. Спасибо, думаю тогда что-то придумаю по другому, уже почти закончил интеграцию всего этого добра, хотя знаний с influx явно не хватает.

     

    Павел, подскажите пожалуйста, можно ли в письмо об атаке включить информацию согласно какому правилу было срабатывание?

  19. да не, смотрю в графит тоже, там тоже все IP через подчеркивание а не точку, вот это и напрягает, не пойму как перевязать возможность ввода адреса через точку в grafana чтобы он делал выборку через подчеркивание.

    А можно ли в самом fastnetmon внедрить опцию которая будет менять разделитель?

  20. Мне кажется там что-то с парсером, в любом случае сделаю еще тест на чистой установке.

    Пока собственно возник еще вопрос, кручу активно graphana с influxdb и вот не понимаю, в influxdb

    select * from networks limit 100
    

     

    1499797051000000000 fastnetmon 9_2_7_0_22   outgoing  pps      18703
    1499797051000000000 fastnetmon 18_2_15_0_24  outgoing  bps      7.760928e+06
    1499797051000000000 fastnetmon 18_2_15_0_24  outgoing  bps      0
    1499797051000000000 fastnetmon 18_2_15_0_24  outgoing  bps      1.34079088e+08
    1499797051000000000 fastnetmon 15_3_18_0_23  outgoing  bps      0
    1499797051000000000 fastnetmon 15_3_19_0_23  incoming  bps      0
    1499797051000000000 fastnetmon 15_3_19_0_23  incoming  pps      0
    1499797051000000000 fastnetmon 18_2_15_0_24  incoming  pps      1861
    1499797051000000000 fastnetmon 18_2_15_0_24  incoming  bps      2.851736e+06
    

     

    можно ли как-то сделать для cird разделитель "." а не "_" ?

     

    И не совсем понимаю, везде информация по внешнему виду БД не много противоричивая, такое чувство что в какой-то момент структура БД в influxdb поменялась для fastnetmon. Особенно это видно по шаблонам которые лежат в graphana dashboard, не один кроме community из коробки не работает.

    > show measurements
    name: measurements
    name
    ----
    hosts
    networks
    total
    
    > 
    

     

    Скажите, такие measurements правильно? в БД graphite

  21. Пробую Linux.

    У Вас как-то задвоение секции: interfaces

     

    # use PCI-e addresses here instead of OS device names. You can find them in "lspci" output                                                                                                                                                         
    interfaces = eth1,eth2                                                                                                                                                                                                                             
    
    # Port mirroring sampling ratio                                                                                                                                                                                                                    
    netmap_sampling_ratio = 1                                                                                                                                                                                                                          
    
    # This option should be enabled if you are using Juniper with mirroring of the first X bytes of packet: maximum-packet-length 110;                                                                                                                 
    netmap_read_packet_length_from_ip_header = off                                                                                                                                                                                                     
    
    # Pcap mode, very slow and thus not suitable for production                                                                                                                                                                                        
    pcap = off                                                                                                                                                                                                                                         
    # Netflow capture method with v5, v9 and IPFIX support                                                                                                                                                                                             
    netflow = on                                                                                                                                                                                                                                       
    # sFLOW capture suitable for switches                                                                                                                                                                                                              
    sflow = on                                                                                                                                                                                                                                         
    
    # PF_RING configuration                                                                                                                                                                                                                            
    # If you have a license for PF_RING ZC, enable this mode and it might achieve wire speed for 10GE                                                                                                                                                  
    enable_pf_ring_zc_mode = off                                                                                                                                                                                                                       
    
    # Configuration for netmap, mirror, pcap modes                                                                                                                                                                                                     
    # For pcap and PF_RING we could specify "any"                                                                                                                                                                                                      
    # For netmap and PF_RING we could specify multiple interfaces = eth0,eth1,eth2                                                                                                                                                                     
    interfaces = eth0,eth1,eth2 

  22. Вот думаю что делаю не так? библиотека есть.

     

     

    Thank you so much!
    
    Update package manager cache
    Install json library
    Download archive
    Uncompress it
    Build it
    Install it
    Download nDPI
    Configure nDPI
    Build and install nDPI
    Add ndpi to ld.so.conf
    Download Luajit
    Unpack Luajit
    Build and install Luajit
    Install LUA lpeg module
    Download archive
    Install lpeg library
    Install LUA json module
    Download archive
    Install it
    Download hiredis
    Build hiredis
    Add hiredis to ld.so.conf
    Download mongo
    Build mongo client
    
    
    Download log4cpp sources
    Unpack log4cpp sources
    Build log4cpp
    Add log4cpp to ld.so.conf
    Install FastNetMon dependency list
    Clone FastNetMon repo
    -- The C compiler identification is Clang 3.8.0
    -- The CXX compiler identification is Clang 3.8.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/CC
    -- Check for working CXX compiler: /usr/bin/CC -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- C++ compilation flags: -O3 -DNDEBUG
    -- Setting build type to Release as none was specified.
    -- We will enable nDPI support
    -- We will enable LuaJIT support
    CMake Error at CMakeLists.txt:226 (message):
     Could not find luajit library
    
    
    -- Configuring incomplete, errors occurred!
    See also "/tmp/fastnetmon.build.dir.n1iHRrE3cA/fastnetmon/src/build/CMakeFiles/CMakeOutput.log".
    make: no target to make.
    
    make: stopped in /tmp/fastnetmon.build.dir.n1iHRrE3cA/fastnetmon/src/build
    Can't build fastnetmon! at fastnetmon_install.pl line 1505, <STDIN> line 1.
    root@netmon01:/usr/local/src # 
    root@netmon01:/usr/local/src # 
    root@netmon01:/usr/local/src # pkg info|grep lua
    luajit-2.0.5                   Just-In-Time Compiler for Lua
    root@netmon01:/usr/local/src # 
    

     

    FreeBSD netmon0 11.0-RELEASE-p10 FreeBSD 11.0-RELEASE-p10 #0: Sun Jul  9 23:57:33 EEST 2017     root@netmon0:/usr/obj/usr/src/sys/NETMAP2  amd64
    

  23. Создал роут, он почему-то полказывается как unrechable, сделал в мангле правило, в prerouting, включил логирование, вижу пакеты в правило попадают, но вот в тунель не заворачиваются.

     

    Еще одна хрень в том что удаленный сервер не знает о сети за микротом, в итоге включаю анонс connected роутеров и получаю глюки с потерей пакетов на удаленке.

    В общем весело, раскалупывать сейчас времени нету сильно