Hex Artifact Content
Not logged in

Artifact 70dacb71f3c68ced2d6c5c036827a10f07bd3008:

Wiki page [Static link with musl libc] by drh 2013-02-06 12:27:43.
0000: 44 20 32 30 31 33 2d 30 32 2d 30 36 54 31 32 3a  D 2013-02-06T12:
0010: 32 37 3a 34 33 2e 35 31 30 0a 4c 20 53 74 61 74  27:43.510.L Stat
0020: 69 63 5c 73 6c 69 6e 6b 5c 73 77 69 74 68 5c 73  ic\slink\swith\s
0030: 6d 75 73 6c 5c 73 6c 69 62 63 0a 50 20 63 63 36  musl\slibc.P cc6
0040: 63 31 31 32 36 30 35 38 37 66 31 35 61 66 34 34  c11260587f15af44
0050: 38 66 63 65 62 66 34 37 64 31 64 37 39 66 31 32  8fcebf47d1d79f12
0060: 65 36 63 61 63 0a 55 20 64 72 68 0a 57 20 37 31  e6cac.U drh.W 71
0070: 33 0a 45 64 77 61 72 64 20 42 65 72 6e 65 72 20  3.Edward Berner 
0080: 73 65 6e 64 73 20 74 68 65 20 66 6f 6c 6c 6f 77  sends the follow
0090: 69 6e 67 20 64 65 73 63 72 69 70 74 69 6f 6e 20  ing description 
00a0: 6f 6e 20 68 6f 77 20 74 6f 20 73 74 61 74 69 63  on how to static
00b0: 61 6c 6c 79 20 6c 69 6e 6b 0d 0a 46 6f 73 73 69  ally link..Fossi
00c0: 6c 20 75 73 69 6e 67 20 74 68 65 20 4d 75 73 6c  l using the Musl
00d0: 20 6c 69 62 63 2e 20 20 53 65 65 20 5b 68 74 74   libc.  See [htt
00e0: 70 3a 2f 2f 77 77 77 2e 6d 75 73 6c 2d 6c 69 62  p://www.musl-lib
00f0: 63 2e 6f 72 67 2f 5d 20 66 6f 72 20 74 68 65 20  c.org/] for the 
0100: 4d 75 73 6c 20 4c 69 62 63 0d 0a 73 6f 75 72 63  Musl Libc..sourc
0110: 65 20 63 6f 64 65 3a 0d 0a 0d 0a 3c 76 65 72 62  e code:....<verb
0120: 61 74 69 6d 3e 0d 0a 24 20 74 61 72 20 7a 78 66  atim>..$ tar zxf
0130: 20 6d 75 73 6c 2d 30 2e 39 2e 39 2e 74 61 72 2e   musl-0.9.9.tar.
0140: 67 7a 0d 0a 24 20 63 64 20 6d 75 73 6c 2d 30 2e  gz..$ cd musl-0.
0150: 39 2e 39 0d 0a 24 20 2e 2f 63 6f 6e 66 69 67 75  9.9..$ ./configu
0160: 72 65 20 2d 2d 70 72 65 66 69 78 3d 24 48 4f 4d  re --prefix=$HOM
0170: 45 2f 6d 75 73 6c 20 2d 2d 64 69 73 61 62 6c 65  E/musl --disable
0180: 2d 73 68 61 72 65 64 0d 0a 24 20 6d 61 6b 65 0d  -shared..$ make.
0190: 0a 24 20 6d 6b 64 69 72 20 24 48 4f 4d 45 2f 6d  .$ mkdir $HOME/m
01a0: 75 73 6c 0d 0a 24 20 6d 61 6b 65 20 69 6e 73 74  usl..$ make inst
01b0: 61 6c 6c 0d 0a 23 20 63 64 20 74 6f 20 61 20 66  all..# cd to a f
01c0: 6f 73 73 69 6c 20 73 6f 75 72 63 65 20 64 69 72  ossil source dir
01d0: 65 63 74 6f 72 79 0d 0a 24 20 50 41 54 48 3d 24  ectory..$ PATH=$
01e0: 50 41 54 48 3a 24 48 4f 4d 45 2f 6d 75 73 6c 2f  PATH:$HOME/musl/
01f0: 62 69 6e 0d 0a 24 20 63 64 20 63 6f 6d 70 61 74  bin..$ cd compat
0200: 2f 7a 6c 69 62 0d 0a 24 20 63 68 6d 6f 64 20 2b  /zlib..$ chmod +
0210: 78 20 2e 2f 63 6f 6e 66 69 67 75 72 65 0d 0a 24  x ./configure..$
0220: 20 43 43 3d 6d 75 73 6c 2d 67 63 63 20 2e 2f 63   CC=musl-gcc ./c
0230: 6f 6e 66 69 67 75 72 65 20 2d 2d 73 74 61 74 69  onfigure --stati
0240: 63 0d 0a 24 20 6d 61 6b 65 0d 0a 24 20 63 64 20  c..$ make..$ cd 
0250: 2e 2e 2f 2e 2e 0d 0a 24 20 2e 2f 63 6f 6e 66 69  ../....$ ./confi
0260: 67 75 72 65 20 2d 2d 77 69 74 68 2d 6f 70 65 6e  gure --with-open
0270: 73 73 6c 3d 6e 6f 6e 65 20 2d 2d 77 69 74 68 2d  ssl=none --with-
0280: 7a 6c 69 62 3d 63 6f 6d 70 61 74 2f 7a 6c 69 62  zlib=compat/zlib
0290: 20 2d 2d 73 74 61 74 69 63 20 43 43 3d 6d 75 73   --static CC=mus
02a0: 6c 2d 67 63 63 0d 0a 24 20 6d 61 6b 65 0d 0a 3c  l-gcc..$ make..<
02b0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 41 66  /verbatim>....Af
02c0: 74 65 72 20 74 68 65 20 5b 36 65 36 38 35 64 61  ter the [6e685da
02d0: 33 39 30 34 61 33 5d 20 63 68 65 63 6b 2d 69 6e  3904a3] check-in
02e0: 2c 20 74 68 65 20 22 63 68 6d 6f 64 20 2b 78 22  , the "chmod +x"
02f0: 20 73 74 65 70 20 73 68 6f 75 6c 64 20 6e 6f 20   step should no 
0300: 6c 6f 6e 67 65 72 20 62 65 0d 0a 6e 65 63 65 73  longer be..neces
0310: 73 61 72 79 2c 20 74 68 6f 75 67 68 20 69 74 20  sary, though it 
0320: 69 73 20 68 61 72 6d 6c 65 73 73 20 74 6f 20 72  is harmless to r
0330: 65 74 61 69 6e 20 69 74 2e 0d 0a 0a 5a 20 35 61  etain it....Z 5a
0340: 37 64 65 31 31 35 61 34 39 31 35 33 35 35 34 65  7de115a49153554e
0350: 38 30 31 33 38 63 31 36 33 66 63 32 39 31 0a     80138c163fc291.