Comments (10)
I managed to continue the execution of make build-standalone
, the version supplied for gox by apt isn't the most recent version.
Then, I had to change an included file from attr/xattr.h to sys/xattr.h, as the former one is deprecated.
However, now the code stops building at the following lines:
In file included from /usr/include/libnl3/netlink/socket.h:16:0,
from /users/tguvdamm/go/src/github.com/Netflix/titus-executor/inject-metadataproxy/titus-inject-metadataproxy.c:20:
/usr/include/libnl3/netlink/handlers.h:51:15: error: ‘struct nlmsgerr’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
struct nlmsgerr *nlerr, void *arg);
^~~~~~~~
/usr/include/libnl3/netlink/handlers.h:50:43: error: ‘struct sockaddr_nl’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
typedef int (*nl_recvmsg_err_cb_t)(struct sockaddr_nl *nla,
^~~~~~~~~~~
/usr/include/libnl3/netlink/handlers.h:135:18: error: ‘struct sockaddr_nl’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
struct sockaddr_nl *,
^~~~~~~~~~~
cc1: all warnings being treated as errors
This does not seems like a version mismatch anymore.
from titus-executor.
Sorry, I didn't see your response. What version of libnl are you compiling with? Also, what version of the operating system are you compiling with?
The code has to be compiled on Xenial, AFAIK. And the libnl version in Xenial is a little old. You can see here: https://github.com/Netflix/titus-executor/blob/master/hack/builder/Dockerfile -- we pull in a newer version of libnl during compilation.
from titus-executor.
Thanks for replying.
I was working with the apt version of libnl, which was 2.29. I replaced it with version 3.2.27 mentioned in the Dockerfile and switched to an Ubuntu 16 OS: lsb_release -a output:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial
The make build-standalone now continues until titus-nsenter.c:
[ 25%] Building C object CMakeFiles/titus-nsenter.dir/titus-nsenter.c.o
/users/tguvdamm/go/src/github.com/Netflix/titus-executor/inject/titus-nsenter.c:
35:13: error: ‘CLONE_NEWCGROUP’ undeclared here (not in a function)
.nstype = CLONE_NEWCGROUP,
^
from titus-executor.
Huh. That's really interesting. Your libc kernel headers are not up to date. Can you tell me what version of "libc6-dev" you have?
from titus-executor.
I updated and upgraded apt before starting installing Titus:
libc6-dev is already the newest version (2.23-0ubuntu10).
from titus-executor.
from titus-executor.
On bionic, this problem doesn't occur, but there's a library missing. It should belong to the libnl package, which is now the correct one, though.
[ 50%] Building C object CMakeFiles/titus-inject-metadataproxy.dir/titus-inject-metadataproxy.c.o
/users/tguvdamm/go/src/github.com/Netflix/titus-executor/inject-metadataproxy/titus-inject-metadataproxy.c:20:10: fatal error: netlink/socket.h: No such file or directory
#include <netlink/socket.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
CMakeFiles/titus-inject-metadataproxy.dir/build.make:62: recipe for target 'CMakeFiles/titus-inject-metadataproxy.dir/titus-inject-metadataproxy.c.o' failed
from titus-executor.
Huh, that's weird. How did you install the new libnl package?
from titus-executor.
I copied the instructions (approximately) from the Dockerfile and executed those:
wget https://github.com/thom311/libnl/releases/download/libnl3_4_0/libnl-3.4.0.tar.gz
tar -xvzf libnl-3.4.0.tar.gz
cd libnl-3.4.0
sudo ./configure
sudo make
sudo make install
from titus-executor.
Closing this issue since t has been inactive for over an year.
from titus-executor.
Related Issues (14)
- Replace the configuration system with Viper
- Replace our metrics usage with armon/go-metrics
- Make it so that the launchguard can be disabled / bypassed based on protobuf HOT 1
- Configure the Circle CI builder to only build the builder image sometimes HOT 1
- [Q] Can not compile titus-executor HOT 10
- Switch to Darion per Task
- Make Generic Cancel Launch Test HOT 1
- Add test around images with healthchecks HOT 1
- Remove launchguard
- Remove bind mounts
- Add mechanism to GC "leaked" cgroups HOT 1
- Check if Digest Image Already Downloaded
- Use New go bindata
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from titus-executor.