Hi, in m4/libtool.m4, the handling of spaces after -{L,R,l} for parsing linker commands looks as follows: case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi This seems to be broken for two reasons: 1. The case handling captures -l, but the following tests consider only -L and -R. 2. The tests for equality use an x on the left side, but not on the right side. A working code should look as follows (patch is attached): case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R,l}" and the path. # Remove the space. if test x-L = "x$p" || test x-R = "x$p" || test x-l = "x$p"; then prev=$p continue fi I stumbled across this bug when using gfortran (5.3.1) which emits the following (valid) line: Driving: gfortran -v conftest.o -l gfortran -l m -shared-libgcc The current (broken) libtool leads to "-l -l" in the "postdeps_FC" variable. After the fix, the correct "-lgfortran -lm" appears. Best regards, Michael