Opened 2 years ago

Closed 2 years ago

#56763 closed defect (fixed)

qemu @2.12.0_0 +snappy configure fails with numerous errors in qemu-conf.c

Reported by: ShadSterling (Shad Sterling) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version: 2.5.2
Keywords: Cc:
Port: qemu snappy

Description

A few of the errors seen:

config-temp/qemu-conf.c:2:2: error: __linux__ not defined
config-temp/qemu-conf.c:2:2: error: _WIN32 not defined
config-temp/qemu-conf.c:2:2: error: __OpenBSD__ not defined
config-temp/qemu-conf.c:3:8: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
} x = {0};
       ^
       {}
1 error generated.
config-temp/qemu-conf.c:2:10: fatal error: 'linux/ip.h' file not found
Undefined symbols for architecture x86_64:
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      std::__1::vector<snappy::SnappySinkAllocator::Datablock, std::__1::allocator<snappy::SnappySinkAllocator::Datablock> >::allocate(unsigned long) in libsnappy.a(snappy.cc.o)

Attachments (2)

config.log (30.4 KB) - added by ShadSterling (Shad Sterling) 2 years ago.
main.log (55.6 KB) - added by ShadSterling (Shad Sterling) 2 years ago.

Download all attachments as: .zip

Change History (6)

Changed 2 years ago by ShadSterling (Shad Sterling)

Attachment: config.log added

Changed 2 years ago by ShadSterling (Shad Sterling)

Attachment: main.log added

comment:1 Changed 2 years ago by mf2k (Frank Schima)

Cc: raimue removed
Owner: set to raimue
Status: newassigned
Last edited 2 years ago by mf2k (Frank Schima) (previous) (diff)

comment:2 Changed 2 years ago by raimue (Rainer Müller)

Port: snappy added

Thank you for the report. Many of the errors are just from other tests and can be ignored. Only the last error about missing symbols is relevant.

The problem seems to be in the snappy library. Basically, this is the test program that the qemu configure script wants to run:

$ echo -e "#include <snappy-c.h>\nint main(void) { snappy_max_compressed_length(4096); return 0; }" | clang -xc -I/opt/local/include -L/opt/local/lib - -lsnappy
Undefined symbols for architecture x86_64:
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      std::__1::vector<snappy::SnappySinkAllocator::Datablock, std::__1::allocator<snappy::SnappySinkAllocator::Datablock> >::allocate(unsigned long) in libsnappy.a(snappy.cc.o)
      void std::__1::vector<snappy::SnappySinkAllocator::Datablock, std::__1::allocator<snappy::SnappySinkAllocator::Datablock> >::__push_back_slow_path<snappy::SnappySinkAllocator::Datablock const>(snappy::SnappySinkAllocator::Datablock const&) in libsnappy.a(snappy.cc.o)
      void std::__1::vector<char*, std::__1::allocator<char*> >::__push_back_slow_path<char* const>(char* const&) in libsnappy.a(snappy.cc.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from:
...

Note there is only a libsnappy.a and no dynamic library. I don't know why it references undefined C++ symbols. This problem might be related to #55583.

comment:3 Changed 2 years ago by raimue (Rainer Müller)

Definitely caused by #55583. Will automatically be resolved once the snappy port provides a shared libary again instead of a static library.

comment:4 Changed 2 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.