Author: sparky Date: Mon Aug 7 19:05:46 2006 GMT Module: PLDWWW URL: http://www.pld-linux.org/DevelopingPLD/AdvancedDeveloping/FixingAsNeeded ---- Log message:
---- Page affected: DevelopingPLD/AdvancedDeveloping/FixingAsNeeded ---- Diffs: ================================================================ Most of problems are with readline/ncurses and tinfo, and it's nice example: tinfo is required by both readline and ncurses, and both are linked with this library (now, when I've - [http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/readline-shared.patch?r1=1.6&r2=1.7 fixed readline];). + [http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/readline-shared.patch?r1=1.6&r2=1.7 fixed readline]). But some packages link with readline or ncurses while they use __only__ symbols from tinfo. @@ -287, +287 @@ ==== What if broken library comes from other package ? ==== You can check manually does library has all required symbols, simply running - 'gcc ''library'' ', like this: + ' gcc ''library'' ', like this: This is an example of correctly linked library: {{{ @@ -298, +298 @@ }}} - And inclrrectly linked: + And inclorrectly linked one: {{{ $ gcc /usr/lib64/liblftp-jobs.so.0.0.0 /usr/lib64/gcc/x86_64-pld-linux/4.1.2/../../../../lib64/crt1.o: In function `_start': @@ -311, +311 @@ }}} + '''Warning:''' some libraries may require to have unresolved symbols. === 3. unresolved symbols caused by incorrect order === @@ -342, +343 @@ function '{{{convert_ToPilotChar}}}', may be found in passed library, but take a look at section about positions, arguments order is incorrect: - libraries go before objects (conftest.c) + libraries go before objects (conftest.c). - it's very common when someone puts {{{-l<>}}} in {{{LDFLAGS}}} instead of {{{LIBS}}}, + It's very common when someone puts {{{-l<>}}} in {{{LDFLAGS}}} instead of {{{LIBS}}}, - that was the case too + that was the case too. - just take a look at my fix: + Just take a look at my fix: {{{ - LDFLAGS_save="$LDFLAGS" @@ -358, +359 @@ + LIBS="$LIBS_save" }}} - with this simple change everything works perfectly. + With this simple change everything works perfectly. _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
