Comments (17)
Okay. Can you post an error message? Would you be interested in proposing a fix with a pull request? Alternatively, adding $HOMEBREW_PREFIX/lib
to LD_LIBRARY_PATH
should fix it.
from legacy-linuxbrew.
Not an option, this is system wide, not a personal instal... Basically, I am considering using linuxbrew for a personal distribution, and supporting more than just pc platforms.
from legacy-linuxbrew.
Sounds like a good project. I had thought of something similar using Linux From Scratch to get a small system bootstrapped enough to install Linuxbrew, and then using Linuxbrew for package management.
from legacy-linuxbrew.
In #7 I'm using patchelf
to set RPATH. That may solve your issue as well and eliminate the need to run ldconfig
.
from legacy-linuxbrew.
Neat RPATH trick! It seems like it should be in a wiki page somewhere (like Tips N' Tricks?) because it is probably quite useful on many systems.
I'd be interested in seeing a working Linux from scratch + linuxbrew system too. I'm currently trying to see if linuxbrew can serve as a lightweight Gentoo prefix replacement on an outdated system where I don't have admin access. It's going fairly well so far -- I'm very pleased by how simple and transparent the system is -- but if somebody had gotten an entire system built from scratch with it I think it'd serve as useful guidance.
from legacy-linuxbrew.
I'm glad to hear it's working for you, Michael. The RPATH trick will become a standard feature of Linuxbrew soon (after I'm back from vacation). I have big plans for Linuxbrew bottles that are portable across all Linux distributions.
from legacy-linuxbrew.
Shaun: after I commented, I read the rest of #7. The bottle path sounds very helpful for me, especially its inclusion of glibc! (The system I'm working on has glibc 2.05, from 2006.)
I think that portable Linuxbrew bottles are a fantastic idea that could help a lot of people! Many large systems, even new ones, are stuck with old software stacks due to the difficulty of changing. For instance, the system I'm struggling with is not old, it's just stuck with CentOS 5.5.
I'll open up a new issue and will test out the bottle branch's glibc formula shortly.
from legacy-linuxbrew.
I'm also working on a high performance computing cluster with glibc 2.5 running CentOS 5.10. That's precisely my motivation for Linuxbrew and portable bottles.
from legacy-linuxbrew.
I've create a new wiki page with instructions for a Standalone Installation of Linuxbrew. Would you be able to test it out?
from legacy-linuxbrew.
Well, here is an idea, detect if we are running as someone who has the rights to run ldconfig, and execute it, otherwise, do the RPATH trick.
from legacy-linuxbrew.
To be a bit more verbose on said idea:
-rwxr-xr-x 1 root root 823085 2013-09-15 19:29 /sbin/ldconfig*
Basically if you are root, or belong to the root group, at least on my system, /sbin/ldconfig can be executed. Other systems will have different groups, I'm sure.
Some may have a different location for ldconfig, so use the which utility to find it.
pseudocode:
id -u from sh will give the UID, if it is zero, run /sbin/ldconfig
else
get the GID from ldconfig stat -c "%g" /sbin/ldconfig
id -G from sh will give a list of all the GIDs for a user, if one of them matches the GID on ldconfig, run /sbin/ldconfig
else
use rpath :-)
from legacy-linuxbrew.
I tried the instructions listed on the page "Standalone Installation of Linuxbrew". brew install gcc
failed. Any suggestions on what to try next?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
$ LD_LIBRARY_PATH=$prefix/lib brew install -v gcc --without-multilib
...
make[3]: Leaving directory `/tmp/gcc-8DRo/gcc-4.9.1/build/gcc'
mkdir -p -- x86_64-unknown-linux-gnu/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in x86_64-unknown-linux-gnu/libgcc
configure: creating cache ./config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking for x86_64-unknown-linux-gnu-ar... ar
checking for x86_64-unknown-linux-gnu-lipo... lipo
checking for x86_64-unknown-linux-gnu-nm... /tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/nm
checking for x86_64-unknown-linux-gnu-ranlib... ranlib
checking for x86_64-unknown-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for x86_64-unknown-linux-gnu-gcc... /tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/xgcc -B/tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/bin/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/lib/ -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/include -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/sys-include
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/xgcc -B/tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/bin/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/lib/ -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/include -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/sys-include accepts -g... yes
checking for /tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/xgcc -B/tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/bin/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/lib/ -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/include -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/sys-include option to accept ISO C89... none needed
checking how to run the C preprocessor... /tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/xgcc -B/tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/bin/ -B/home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/lib/ -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/include -isystem /home/anmol/.linuxbrew/Cellar/gcc/4.9.1/x86_64-unknown-linux-gnu/sys-include -E
checking size of double... 8
checking size of long double... 16
checking whether decimal floating point is supported... yes
checking whether fixed-point is supported... no
checking whether to use setjmp/longjmp exceptions... no
checking if the linker (/tmp/gcc-8DRo/gcc-4.9.1/build/./gcc/collect-ld) is GNU ld... yes
checking for thread model used by GCC... posix
checking whether assembler supports CFI directives... yes
checking for __attribute__((visibility("hidden")))... yes
checking whether the target assembler supports thread-local storage... yes
checking whether the thread-local storage support is from emutls... no
checking for init priority support... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating auto-target.h
config.status: linking ../../../libgcc/enable-execute-stack-empty.c to enable-execute-stack.c
config.status: linking ../../../libgcc/unwind-generic.h to unwind.h
config.status: linking ../../../libgcc/config/i386/linux-unwind.h to md-unwind-support.h
config.status: linking ../../../libgcc/config/i386/sfp-machine.h to sfp-machine.h
config.status: linking ../../../libgcc/gthr-posix.h to gthr-default.h
config.status: executing default commands
../../../libgcc/../config-ml.in: eval: line 164: unexpected EOF while looking for matching `''
../../../libgcc/../config-ml.in: eval: line 165: syntax error: unexpected end of file
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/tmp/gcc-8DRo/gcc-4.9.1/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/tmp/gcc-8DRo/gcc-4.9.1/build'
make: *** [bootstrap] Error 2
==> Configuration
HOMEBREW_VERSION: 0.9.5
HEAD: aa0e405bc29a8d887e1f0920e505d93268b2c592
HOMEBREW_PREFIX: /home/anmol/.linuxbrew
CPU: dual-core 64-bit 6
OS X: 0-x86_64
/usr/bin/ruby1.9.1:
1.9.3-484
X11: N/A
==> ENV
CC: /usr/bin/gcc => /usr/bin/gcc-4.8
CXX: /usr/bin/g++ => /usr/bin/g++-4.8
OBJC: /usr/bin/gcc
OBJCXX: /usr/bin/g++
CFLAGS: -Os -w -pipe -march=core2
CXXFLAGS: -Os -w -pipe -march=core2
CPPFLAGS: -isystem/home/anmol/.linuxbrew/include
LDFLAGS: -L/home/anmol/.linuxbrew/lib
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /home/anmol/.linuxbrew
PKG_CONFIG_LIBDIR: /home/anmol/.linuxbrew/lib/pkgconfig:/usr/lib/pkgconfig
ACLOCAL_PATH: /home/anmol/.linuxbrew/share/aclocal
PATH: /home/anmol/.linuxbrew/bin:/usr/bin:/bin:/home/anmol/.linuxbrew/Library/Contributions/cmd
Error: gcc 4.9.1 did not build
Logs:
/home/anmol/Library/Logs/Homebrew/gcc/02.make
/home/anmol/Library/Logs/Homebrew/gcc/01.configure
These open issues may also help:
gcc: compatibility 10.10 (https://github.com/Homebrew/homebrew/pull/31466)
gcc 4.8.3 bottle has invalid omp.h header (https://github.com/Homebrew/homebrew/issues/29670)
MacOS.(gcc|clang|llvm)_version can return nil (https://github.com/Homebrew/homebrew/issues/18781)
from legacy-linuxbrew.
I haven't seen that error before. Any chance /tmp
ran out of disk space? Try setting export HOMEBREW_TEMP=/var/tmp
.
from legacy-linuxbrew.
HOMEBREW_TEMP is already set according to the instructions "Standalone Installation of Linuxbrew". Looks like there is enough disk space.
$ echo $HOMEBREW_TEMP
/var/tmp
$ df -khl $HOMEBREW_TEMP
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/virgo--vg-root 39G 13G 24G 36% /
from legacy-linuxbrew.
The above log is being built in /tmp
. Did you export the variable?
from legacy-linuxbrew.
I tried this again after making sure the variable got exported.
$ PATH=/usr/bin:/bin
$ unset LD_LIBRARY_PATH HOMEBREW_CC
$ export HOMEBREW_TEMP=/var/tmp
$ prefix=~/.linuxbrew
$ PATH="$prefix/bin:$PATH"
$ env | grep HOMEBREW
HOMEBREW_TEMP=/var/tmp
The outcome is the same. I placed the log files 01.configure and 02.make here. https://gist.github.com/khirbat/daad7cfa2b285e2b7853
I saw the same failure on a Fedora system. Perhaps I am missing something basic?
from legacy-linuxbrew.
Now that Linuxbrew sets rpath
of compiled executables, it should not be necessary to run ldconfig
.
from legacy-linuxbrew.
Related Issues (20)
- vim not getting build HOT 4
- `cairo` fails on Linux Mint 17.3 Rosa XFCE x64 HOT 3
- CEGMA 2.5 ? HOT 1
- where is the file .bashrc or .zshrc? HOT 8
- 'brew install llvm --with-lldb' fails HOT 1
- Error: SHA256 mismatch
- -e:1:in `flock': Function not implemented (Errno::ENOSYS) HOT 1
- Advantage of Linuxbrew over Chromebrew? HOT 2
- cannot execute binary file: Exec format error HOT 3
- Error: undefined method `rebuild' HOT 6
- util-linux: Conflicts with bash-completions HOT 25
- Error: Unsupported special dependency :perl HOT 1
- libxcb install but not exist HOT 2
- Support installation with out git installed HOT 4
- brew instal mpd HOT 1
- node: Error: Unsupported special dependency :perl HOT 1
- Unsupported special dependency: Perl HOT 1
- troubleshooting link is not working HOT 2
- gcc bad configured after fresh installation HOT 15
- homebrew upgrade error HOT 2
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 legacy-linuxbrew.