View Issue Details

IDProjectCategoryView StatusLast Update
0000555luatexluatex limitationpublic2013-12-20 10:01
ReporterpatrickAssigned ToTaco 
Status closedResolutionfixed 
PlatformApple/Intel/64bitOSOS XOS Version10.6
Product Version0.65.0 
Target Version0.70.0Fixed in Version 
Summary0000555: make --nostrip default
DescriptionWhen building LuaTeX without --nostrip (which is the current default behaviour), loading external libraries is a game of luck. For example the sqlite3 bindings from create a library on OS X that require the symbol _luaL_argerror to be defined in the LuaTeX binary:

error loading module 'lsqlite3' from file './':
    dlopen(./, 2): Symbol not found: _luaL_argerror
  Referenced from: /Users/patrick/Downloads/lsqlite3-7/
  Expected in: flat namespace
 in /Users/patrick/Downloads/lsqlite3-7/

Building LuaTeX with --nostrip solves this issue.

By having "--strip" the default in, it is not possible for any user (on OS X, perhaps also on other platforms) to use this (and other) external library without downloading the LuaTeX source, download XCode, compile LuaTeX and put LuaTeX in the correct place.




2011-01-10 09:00

administrator   ~0000718

We want to strip the binary in the general case, because it makes the executable a whole lot smaller. There is a switch to the linker to make it keep certain unused symbols, and that would be a better approach.

But there are also plans to build our lua as a .so file, and that would be even better, as that solves some other related issues at the same time. Conceptually, that is not hard to do, but in practise it needs some autoconf black magic.


2011-03-30 00:14

reporter   ~0000765

I just came across the same issue independently. At the moment the only viable solution is to skip the stripping step. Stripping by default means that at the moment no OS X user can use any extension module unless he uses a custom-built binary. I think that this issue outweighs the file size increase until you implement a better solution.


2011-05-10 09:11

reporter   ~0000841

Any chance to get a non-stripped LuaTeX into TL 2011?


2011-05-10 10:33

administrator   ~0000842

I really cannot say. This is autoconf work, and that is done by PEB.


2011-05-10 12:25

reporter   ~0000843

OK, I've addressed that again on the list. What about TLcontrib? Do you build the TLcontrib binaries using the LuaTeX repo or the TeX Live repo?


2011-05-10 14:05

administrator   ~0000844

All builds are done with a stripped down version of the texlive files.


2011-07-28 13:29

reporter   ~0000906

Now that extension modules are still not supported with TeX Live 2011, I think it is even more important that TLContrib gets unstripped binaries; and please add a note in the manual that extension modules work only on Linux in TeX Live.


2013-01-11 17:28

reporter   ~0001019


I also ran into this problem on MacOS while trying to build a new graph drawing library.

It turns out that when the macos "strip" utility is called with the switch "-u -r" (so "strip -u -r luatex" instead of "strip luatex"), the problem disappears. According to the man page, this is what should be done to strip a file so that one can still link against it.

Note that "strip -u -r luatex" and "string luatex" produce files of the *exact same size* on MacOS, only dynamic linking works with the first and not with the second.


Hans Hagen

2013-12-19 17:20

manager   ~0001162

seems to be resolved by --nostrip flag

Hans Hagen

2013-12-20 10:01

manager   ~0001172

closed in 0.78

Issue History

Date Modified Username Field Change
2011-01-09 15:17 patrick New Issue
2011-01-10 09:00 Taco Note Added: 0000718
2011-01-11 09:53 Taco Status new => assigned
2011-01-11 09:53 Taco Assigned To => Taco
2011-03-30 00:14 phi Note Added: 0000765
2011-04-12 11:22 Taco Target Version => 0.70.0
2011-05-10 09:11 phi Note Added: 0000841
2011-05-10 10:33 Taco Note Added: 0000842
2011-05-10 12:25 phi Note Added: 0000843
2011-05-10 14:05 Taco Note Added: 0000844
2011-07-28 13:29 phi Note Added: 0000906
2012-08-10 15:45 oneiros Tag Attached: building
2013-01-11 17:28 tantau Note Added: 0001019
2013-12-19 17:20 Hans Hagen Note Added: 0001162
2013-12-19 17:20 Hans Hagen Status assigned => resolved
2013-12-19 17:20 Hans Hagen Resolution open => fixed
2013-12-20 10:01 Hans Hagen Note Added: 0001172
2013-12-20 10:01 Hans Hagen Status resolved => closed