Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error compiling Regex at startup #1715

Closed
thrasibule opened this issue Dec 9, 2012 · 10 comments
Closed

Error compiling Regex at startup #1715

thrasibule opened this issue Dec 9, 2012 · 10 comments

Comments

@thrasibule
Copy link

This is on gentoo 32bits. This is the error I get when trying to start julia after install:

error compiling Regex: error compiling compile: error compiling info: could not load module libpcre: /usr/bin/../lib/libpcre.so: invalid ELF header
in isrooted at file.jl:80
in abs_path_split at file.jl:109
in abs_path at file.jl:141
in julia_pkgdir at client.jl:215
in _start at client.jl:246

This is related to issues #949 and #450 I think because on gentoo /usr/lib/libpecre.so is a script that contains the following:

/* GNU ld script
Since Gentoo has critical dynamic libraries in /lib, and the static versions
in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
run into linking problems. This "fake" dynamic lib is a linker script that
redirects the linker to the real lib. And yes, this works in the cross-
compiling scenario as the sysroot-ed linker will prepend the real path.

See bug http://bugs.gentoo.org/4411 for more info.
*/
OUTPUT_FORMAT ( elf32-i386 )
GROUP ( /lib/libpcre.so.1 )

I'm doing USE_DEBIAN=1, so this is not using the bundled pcre with julia. What's strange is that julia compiles and start fine from the source directory. I can also run the test suite successfully from there. But after doing a make install, julia fails to launch. Any ideas what's going on?

Thanks,
Guillaume

@staticfloat
Copy link
Member

I'm investigating this right now, its related to #1690, once that is solved, this may be solved as well

@staticfloat
Copy link
Member

In the meantime, you can try compiling without USE_DEBIAN=1. The debian special case simply automatically uses a bunch of dependencies, and then tells Julia to store libraries in a multiarch structure, as debian likes. It's this second part that #1690 is trying to solve.

In the meantime, you can likely compile just by using the appropriate USE_SYSTEM_<LIBNAME>= make vars without trying to use a multiarch library structure if you want to:

$ export BUILDOPTS=""
$ for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK LIGHTTPD GMP PCRE LIBUNWIND READLINE GLPK; do \
> export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done
$ make $BUILDOPTS install

Hopefully we'll soon have multiarch installation ironed out.

@blakejohnson
Copy link
Contributor

Possibly related, on 0dba9af and Mac OS 10.8.2, I'm also getting a libpcre related error on boot of julia:

exec: error -5
 in exec at pcre.jl:108
 in search at regex.jl:113
 in split at string.jl:953
 in abs_path_split at file.jl:110
 in abs_path at file.jl:141
 in julia_pkgdir at client.jl:215
 in _start at client.jl:246

@staticfloat
Copy link
Member

Did you compile the debug version of Julia?

@blakejohnson
Copy link
Contributor

No, just make clean followed by make. Also tried make cleanall... same result.

@staticfloat
Copy link
Member

Please open a new issue, I think this is something new. :)

@blakejohnson
Copy link
Contributor

Okay, opened #1732

@JeffBezanson
Copy link
Member

Is this still a problem?

@blakejohnson
Copy link
Contributor

It isn't a problem on Mac OS.

--Blake

On Friday, February 8, 2013 at 1:06 AM, Jeff Bezanson wrote:

Is this still a problem?


Reply to this email directly or view it on GitHub (#1715 (comment)).

@thrasibule
Copy link
Author

Problem is gone on gentoo as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants