Bug #36

Problems with Static build under LInux

Added by Alexander Heußner about 6 years ago. Updated almost 6 years ago.

Status:Closed Start date:03/03/2011
Priority:Low Due date:
Assignee:Alexander Heußner % Done:

100%

Category:-
Target version:1.0

Description

Static build (part of make distrib) leads to the following error message under Gentoo

/usr/lib/gcc/i686-pc-linux-gnu/4.4.3/../../../../i686-pc-linux-gnu/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/gcc/i686-pc-linux-gnu/4.4.3/../../../libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie
collect2: ld returned 1 exit status
File "caml_startup", line 1, characters 0-1:
Error: Error during linking

History

Updated by Alexander Heußner about 6 years ago

  • Status changed from New to Resolved
  • Priority changed from Normal to Low
  • % Done changed from 0 to 100

uncommented static building

--- Makefile    2011-02-17 03:43:59.000000000 +0100
+++ Makefile.orig       2011-02-17 03:43:35.000000000 +0100
@@ -80,6 +80,7 @@
        os=$$(uname -s);\
        arch=$$($(OCAMLBUILD) -build-dir $(BUILDDIR) -quiet __show_architecture__);\
        today=$$(date '+%C%y%m%d');\
+       test "$$os" != "Linux" || $(MAKE) native.static;\
        example_dir='examples/scm';\
        $(GNUTAR) -jcvf mcscm_$${os}_$${arch}_$${today}.tar.bz2\
            --transform 's,^,mcscm/,'\

Updated by Alexander Heußner about 6 years ago

seems a problem with ocaml under Gentoo as was able to build 64bit variant under other linux.

nevertheless, ignore for the moment the static build

Updated by Alexander Heußner about 6 years ago

  • Status changed from Resolved to Closed

Alexander Heußner wrote:

seems a problem with ocaml under Gentoo as was able to build 64bit variant under other linux.

additional testing revealed that it was a Linux-distribution problem and not a mcscm problem,
the only interesting message was

unix.c:(.text+0x232): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

but it seems to not effect our static build (tested compilation/running on different plattforms).

thus, the Makefile allows again static building under linux

Updated by Grégoire Sutre almost 6 years ago

  • Target version set to 1.0

Also available in: Atom PDF