Bug #342


Errors compiling with --disable-gccmarch-native

Added by Edward Fjellskål over 12 years ago. Updated over 12 years ago.

Target version:
Affected Versions:


# ./configure --disable-gccmarch-native --prefix=/usr/local/suricata-git-test/ --enable-profiling && make
libtool: link: gcc -g -O2 -Wextra -Wall -fno-strict-aliasing -fno-tree-pre -Wno-unused-parameter -std=gnu99 -DHAVE_LIBNET11 -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H -I /usr/include -DLIBPCAP_VERSION_MAJOR=1 -DHAVE_PCAP_SET_BUFF -DPROFILING -DREVISION=7beb5cd -o .libs/suricata suricata.o runmodes.o runmode-pcap.o runmode-pcap-file.o runmode-pfring.o runmode-nfq.o runmode-ipfw.o runmode-erf-file.o runmode-erf-dag.o runmode-af-packet.o packet-queue.o data-queue.o threads.o source-nfq.o source-pcap.o source-pcap-file.o source-pfring.o source-ipfw.o source-erf-file.o source-erf-dag.o source-af-packet.o decode.o decode-ethernet.o decode-vlan.o decode-sll.o decode-gre.o decode-ppp.o decode-pppoe.o decode-ipv4.o decode-ipv6.o decode-raw.o decode-icmpv4.o decode-icmpv6.o decode-tcp.o decode-udp.o decode-sctp.o flow.o flow-timeout.o flow-manager.o flow-queue.o flow-hash.o flow-util.o flow-var.o flow-bit.o flow-alert-sid.o pkt-var.o host.o reputation.o detect.o detect-engine-sigorder.o detect-engine-alert.o detect-engine.o detect-rpc.o detect-isdataat.o detect-window.o detect-ftpbounce.o detect-engine-address.o detect-engine-threshold.o detect-engine-tag.o detect-engine-address-ipv4.o detect-engine-address-ipv6.o detect-engine-proto.o detect-engine-port.o detect-engine-siggroup.o detect-engine-mpm.o detect-engine-iponly.o detect-engine-payload.o detect-engine-dcepayload.o detect-engine-uri.o detect-engine-hcbd.o detect-engine-hhd.o detect-engine-hrhd.o detect-engine-hmd.o detect-engine-hcd.o detect-engine-hrud.o detect-engine-state.o detect-parse.o detect-ack.o detect-seq.o detect-content.o detect-uricontent.o detect-flowbits.o detect-flowvar.o detect-flowint.o detect-pktvar.o detect-pcre.o detect-depth.o detect-nocase.o detect-fast-pattern.o detect-recursive.o detect-rawbytes.o detect-bytetest.o detect-bytejump.o detect-sameip.o detect-ipproto.o detect-within.o detect-distance.o detect-offset.o detect-sid.o detect-priority.o detect-rev.o detect-classtype.o detect-reference.o detect-tag.o detect-threshold.o detect-metadata.o detect-msg.o detect-id.o detect-flow.o detect-dsize.o detect-stream_size.o detect-engine-event.o detect-ipopts.o detect-flags.o detect-fragbits.o detect-fragoffset.o detect-gid.o detect-mark.o detect-noalert.o detect-csum.o detect-ttl.o detect-itype.o detect-icode.o detect-http-cookie.o detect-http-method.o detect-http-header.o detect-http-raw-header.o detect-http-uri.o detect-http-raw-uri.o detect-tls-version.o detect-ssh-proto-version.o detect-ssh-software-version.o detect-icmp-id.o detect-icmp-seq.o detect-dce-iface.o detect-dce-opnum.o detect-dce-stub-data.o detect-urilen.o detect-detection-filter.o detect-http-client-body.o detect-http-stat-msg.o detect-asn1.o detect-http-stat-code.o detect-ssl-version.o detect-ssl-state.o detect-byte-extract.o detect-replace.o util-print.o util-fmemopen.o util-cpu.o util-pidfile.o util-mpm.o util-spm.o util-spm-bs.o util-spm-bs2bm.o util-spm-bm.o util-mpm-wumanber.o util-mpm-b2g.o util-mpm-b2g-cuda.o util-mpm-b3g.o util-mpm-b2gc.o util-mpm-b2gm.o util-mpm-ac.o util-mpm-ac-gfbs.o util-cidr.o util-unittest.o util-unittest-helper.o util-hash.o util-hashlist.o util-bloomfilter.o util-bloomfilter-counting.o util-pool.o util-time.o util-var.o util-var-name.o util-byte.o util-debug.o util-debug-filters.o util-error.o util-enum.o util-radix-tree.o util-host-os-info.o util-rule-vars.o util-fix_checksum.o util-daemon.o util-random.o util-classification-config.o util-threshold-config.o util-reference-config.o util-strlcatu.o util-strlcpyu.o util-cuda.o util-cuda-handlers.o util-privs.o util-decode-asn1.o util-ringbuffer.o util-affinity.o util-memcmp.o util-proto-name.o util-syslog.o util-device.o util-checksum.o util-runmodes.o tm-modules.o tm-queues.o tm-queuehandlers.o tm-threads.o tmqh-simple.o tmqh-nfq.o tmqh-packetpool.o tmqh-flow.o tmqh-ringbuffer.o alert-fastlog.o alert-debuglog.o alert-prelude.o alert-unified-log.o alert-unified-alert.o alert-unified2-alert.o alert-syslog.o alert-pcapinfo.o log-droplog.o log-httplog.o log-pcap.o stream.o stream-tcp.o stream-tcp-reassemble.o stream-tcp-inline.o stream-tcp-sack.o stream-tcp-util.o respond-reject.o respond-reject-libnet11.o conf.o conf-yaml-loader.o counters.o app-layer.o app-layer-detect-proto.o app-layer-parser.o app-layer-protos.o app-layer-htp.o app-layer-smb.o app-layer-smb2.o app-layer-dcerpc.o app-layer-dcerpc-udp.o app-layer-ftp.o app-layer-ssl.o app-layer-ssh.o app-layer-smtp.o defrag.o output.o win32-misc.o win32-service.o util-action.o util-profiling.o cuda-packet-batcher.o util-ioctl.o  ../libhtp/htp/.libs/ -lpcap /usr/lib/ -lpthread /usr/lib/ -lpcre -Wl,-rpath -Wl,/usr/local/suricata-git/lib
flow.o: In function `FlowShutdown':
/usr/local/src/oisf/src/flow.c:1049: undefined reference to `__sync_sub_and_fetch_8'
flow.o: In function `FlowInitConfig':
/usr/local/src/oisf/src/flow.c:926: undefined reference to `__sync_add_and_fetch_8'
flow-util.o: In function `FlowFree':
/usr/local/src/oisf/src/flow-util.c:79: undefined reference to `__sync_sub_and_fetch_8'
flow-util.o: In function `FlowAlloc':
/usr/local/src/oisf/src/flow-util.c:56: undefined reference to `__sync_add_and_fetch_8'
/usr/local/src/oisf/src/flow-util.c:60: undefined reference to `__sync_sub_and_fetch_8'
collect2: ld returned 1 exit status
make[3]: *** [suricata] Error 1
make[3]: Leaving directory `/usr/local/src/oisf/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/src/oisf/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/oisf'
make: *** [all] Error 2

CPU : 32bit Intel(R) Pentium(R) 4 CPU 2.40GHz
gcc : gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
libc: libc 2.11.1-0ubuntu7.8

Actions #1

Updated by Victor Julien over 12 years ago

  • Description updated (diff)
  • Due date set to 10/14/2011
  • Status changed from New to Assigned
  • Assignee set to Eric Leblond
  • Target version set to 1.1beta3
  • Estimated time set to 1.00 h

Eric, can you check this out?

Actions #2

Updated by Victor Julien over 12 years ago

  • Assignee changed from Eric Leblond to Victor Julien

It seems that the older P4

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping        : 9
cpu MHz         : 2593.591
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid xtpr
bogomips        : 5192.48
clflush size    : 64
power management:

Has support for this:

$ ./src/suricata --build-info
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:637) <Info> (main) -- This is Suricata version 1.1beta2 (rev 67be07b)
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:520) <Info> (SCPrintBuildInfo) -- Features: LIBPCAP_VERSION_MAJOR=0 HAVE_HTP_URI_NORMALIZE_HOOK 
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:534) <Info> (SCPrintBuildInfo) -- 32-bits, Little-endian architecture
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:536) <Info> (SCPrintBuildInfo) -- GCC version 4.3.2, C version 199901
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:542) <Info> (SCPrintBuildInfo) -- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:545) <Info> (SCPrintBuildInfo) -- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
[5028] 24/10/2011 -- 12:23:37 - (suricata.c:548) <Info> (SCPrintBuildInfo) -- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4

__sync_sub_and_fetch_8 and __sync_add_and_fetch_8 need __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 however.

Actions #3

Updated by Victor Julien over 12 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Fixed in the current git master by falling back to the spinlock'd code if __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 is not defined.


Also available in: Atom PDF