|
Bugzilla – Full Text Bug Listing |
| Summary: | waf install doesn't work on x86_64 | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Vedran Miletić <vedran> |
| Component: | build system | Assignee: | Gustavo J. A. M. Carneiro <gjcarneiro> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ns-bugs |
| Priority: | P5 | ||
| Version: | pre-release | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | Patch against 3.11 | ||
|
Description
Vedran Miletić
2011-06-26 08:12:28 UTC
Created attachment 1174 [details]
Patch against 3.11
I made a commit: changeset: 7345:850237ab2111 tag: tip user: Gustavo J. A. M. Carneiro <gjc@inescporto.pt> date: Tue Jul 05 18:30:43 2011 +0100 summary: Bug 1199 - waf install doesn't work on x86_64 I did my own patch, which is slightly cleaner and shorter. One thing I have commented out is this: def configure(conf): [...] #if os.path.exists('/usr/lib64'): # conf.env.LIBDIR = os.path.join(conf.env.PREFIX, "lib64") You see, on Debian and derivatives, even in x86_64 the libraries are installed by default in /usr/lib, and /usr/lib64 is a symbolic link. But I checked that the .pc files contents have /usr/lib instead of /usr/lib64. Right now, you can make ns-3 install in /usr/lib64 like this: ./waf --prefix /usr --libdir /usr/lib64 If you can figure out some heuristic that works (better than os.path.exists("/usr/lib64")), we can include in ns-3 to make then defaults work, but right now I consider this sort of fixed. This is almost perfect, and --libdir option does exactly what is needed here. However, if --libdir is set to /usr/lib64, that setting isn't respected in .pc files, it remains set to /usr/lib. I understand it makes sense on Debian and derivates, but unfortunately not on Fedora. (In reply to comment #3) > This is almost perfect, and --libdir option does exactly what is needed here. > However, if --libdir is set to /usr/lib64, that setting isn't respected in .pc > files, it remains set to /usr/lib. I understand it makes sense on Debian and > derivates, but unfortunately not on Fedora. Are you sure the .pc files are not correct? I thought I had this fixed too; I'll have to recheck... Yes. I don't have access to Fedora x86_64 machine at the moment, but I'm sure. This seems ok from here. Maybe you need to remove the previous .pc files before generating new ones?
gjc@gjc-laptop:ns-3-dev$ ./waf configure --prefix /tmp/ --libdir /tmp/lib64
gjc@gjc-laptop:ns-3-dev$ ./waf
gjc@gjc-laptop:ns-3-dev$ rm -f build/debug/*.pc
gjc@gjc-laptop:ns-3-dev$ ./waf
Waf: Entering directory `/home/gjc/projects/ns/ns-3-allinone/ns-3-dev/build'
[1275/1311] pcfile: build/debug/libns3-core.pc
[...]
gjc@gjc-laptop:ns-3-dev$ cat build/debug/libns3-core.pc
prefix=/tmp
libdir=/tmp/lib64
includedir=/tmp/include/ns3
Name: libns3-core
Description: ns-3 module ns3-core
Version: devel
Libs: -L${libdir} -Wl,-Bdynamic -lns3-core
Cflags: -I${includedir}
Could be, will check. Yes, it works. Thanks for fixing it. |