Code Monkey home page Code Monkey logo

Comments (5)

Zygo avatar Zygo commented on June 14, 2024

It looks like you have the header for uuid-dev but not the library?

from bees.

nefelim4ag avatar nefelim4ag commented on June 14, 2024

AFAIL uuid-dev is a headers + library
https://packages.debian.org/sid/uuid-dev
http://packages.ubuntu.com/search?keywords=uuid-dev

i did:

diff --git a/src/Makefile b/src/Makefile
index 1db2927..531b19c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -7,7 +7,7 @@ all: $(PROGRAMS) depends.mk
 
 include ../makeflags
 
-LIBS = -lcrucible -lpthread
+LIBS = -lcrucible -lpthread -luuid
 LDFLAGS = -L../lib -Wl,-rpath=$(shell realpath ../lib)
 
 depends.mk: Makefile *.cc

And then i get binary 'bees' compiled

But get another error

g++ -Wall -Wextra -Werror -O3 -I../include -ggdb -fpic -std=c++11 -Wold-style-cast -o "chatter" "chatter.o" -L../lib -Wl,-rpath=/root/bees/lib -lcrucible
../lib/libcrucible.so: undefined reference to `uuid_unparse'

So, i think (may be i'm stupid and miss something) it's a Ubuntu related linking issue =
Can you please try do it yourself on U1604 Server?

Thank

from bees.

PeeJay avatar PeeJay commented on June 14, 2024

I was just about to report the same bug! I have no idea why it happens, but libcrucible.so doesn't link against libuuid. For some reason bees and test need to link against libuuid.
(Ubuntu 16.10)
peejay@peejay-virtual-machine:~/pj-server/bees/bees/bees$ ldd lib/libcrucible.so
linux-vdso.so.1 => (0x00007ffcf37fe000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2fbbe46000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2fbbb3d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2fbb926000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2fbb55d000)
/lib64/ld-linux-x86-64.so.2 (0x000056127b969000)
(Gentoo)
vm-server bees # ldd ~/bees/lib/libcrucible.so
linux-vdso.so.1 (0x00007ffdd3bf4000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007feccc8a1000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libstdc++.so.6 (0x00007feccc4a8000)
libm.so.6 => /lib64/libm.so.6 (0x00007feccc1ab000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libgcc_s.so.1 (0x00007feccbf94000)
libc.so.6 => /lib64/libc.so.6 (0x00007feccbbf8000)
/lib64/ld-linux-x86-64.so.2 (0x0000559d12ab0000)

from bees.

Zygo avatar Zygo commented on June 14, 2024

I built a VM image of Ubuntu server 16.04 and I can reproduce the problem. I don't understand the problem yet.

libuuid.so and libuuid.so.1 both contain the uuid_parse symbol and gcc does resolve the symbol for libcrucible.so; however, it doesn't put libuuid.so in the NEEDED section of libcrucible.so so the libuuid library isn't available later on. I ran a build under strace and it seems to be doing all the right things, just with the wrong result at the end.

from bees.

Zygo avatar Zygo commented on June 14, 2024

FWIW bees only uses libuuid at one place, and that place is only needed if you had a v0.1 bees running. You could just delete that code.

Still, it would be nice to solve this, since it would affect any library bees might depend on in the future--and in the future, such libraries might not be as expendable as libuuid.

from bees.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.