/home/bill/System_maintenance/Linux/nm - list functions in a library.txt ********************* 21Jun2017 15:55 for Dune UG problem see "/home/bill/OOPM builds/problem - undefined reference to UG build.txt" search "Linux and How do I list functions and variables in a library?" https://stackoverflow.com/questions/4514745/how-do-i-view-the-list-of-functions-a-linux-shared-library-is-exporting What you need is nm and its -D option: $ nm -D /usr/lib/libopenal.so.1 00012ea0 T alcSetThreadContext 000140f0 T alcSuspendContext U atanf U calloc Exported sumbols are indicated by a T. Required symbols that must be loaded from other shared objects have a U. Note that the symbol table does not include just functions, but exported variables as well. See the nm manual page for more information. answered Dec 22 '10 at 23:50 thkala Modify this to : $ cd /usr/lib/x86_64-linux-gnu $ nm -D "/usr/lib/x86_64-linux-gnu/libdevS-3.11.0.so" U __assert_fail 000000000020b1a8 B __bss_start U ctime w __cxa_finalize 000000000020b1a8 D _edata 000000000020d788 B _end U fclose U fgets 0000000000008948 T _fini U __fprintf_chk U fputc U fputs U free U fseek U fwrite w __gmon_start__ 0000000000001670 T _init w _ITM_deregisterTMCloneTable w _ITM_registerTMCloneTable w _Jv_RegisterClasses U malloc U memcpy U __printf_chk U __sprintf_chk U sqrt U sscanf U __stack_chk_fail U stdin U __strcpy_chk U strlen U time U __vsprintf_chk 0000000000001b10 T _ZN2UG10ExitScreenEv 0000000000001b00 T _ZN2UG10InitScreenEPiPPcS0_ U _ZN2UG10MakeStructEPKc 0000000000001f90 T _ZN2UG10SetLogFileEP8_IO_FILE 0000000000002050 T _ZN2UG10UserWriteFEPKcz 0000000000001b60 T _ZN2UG11DrawInfoBoxEPvPKc 0000000000002690 T _ZN2UG11ExitDevicesEv 00000000000023c0 T _ZN2UG11InitDevicesEPiPPc U _ZN2UG11MakeEnvItemEPKcii 0000000000001ea0 T _ZN2UG11OpenLogFileEPKci 0000000000001b20 T _ZN2UG11WriteStringEPKc U _ZN2UG12ChangeEnvDirEPKc 0000000000001f60 T _ZN2UG12CloseLogFileEv 00000000000023b0 T _ZN2UG12GetMuteLevelEv 00000000000023a0 T _ZN2UG12SetMuteLevelEi U _ZN2UG12SetStringVarEPKcS1_ 0000000000001c10 T _ZN2UG12UgSetPaletteEPNS_12outputdeviceEi 0000000000002000 T _ZN2UG12WriteLogFileEPKc 0000000000001aa0 T _ZN2UG13GetScreenSizeEPi 0000000000002c50 T _ZN2UG13InitPPMDeviceEv 0000000000001b40 T _ZN2UG13MousePositionEPi U _ZN2UG14GetNewEnvDirIDEv U _ZN2UG14GetNewEnvVarIDEv 0000000000001ab0 T _ZN2UG14GetNextUGEventEPNS_5EVENTEi 0000000000006570 T _ZN2UG14InitPostScriptEv 0000000000001b50 T _ZN2UG14MouseStillDownEv U _ZN2UG14SetStringValueEPKcd U _ZN2UG15GetDefaultValueEPKcS1_Pc 0000000000001be0 T _ZN2UG15GetOutputDeviceEPKc 0000000000008610 T _ZN2UG16InitPostScriptBWEv 00000000000021c0 T _ZN2UG17PrintErrorMessageEcPKcS1_ 0000000000001b80 T _ZN2UG18CreateOutputDeviceEPKc 00000000000022a0 T _ZN2UG18PrintErrorMessageFEcPKcS1_z U _ZN2UG22BasedConvertedFilenameEPKc 0000000000001c00 T _ZN2UG22GetDefaultOutputDeviceEv U _ZN2UG25FileOpenUsingSearchPath_rEPKcS1_S1_i U _ZN2UG7fopen_rEPKcS1_i 00000000000044c0 T _ZN2UG8InitMetaEv U _ZN2UG9SearchEnvEPKcS1_ii 0000000000001fa0 T _ZN2UG9UserWriteEPKc 0000000000001b70 T _ZN2UG9WhichToolEPvPKiPi ************************************ 01Aug2017 10:33 For OPM-Flow I used : $ cd "/media/bill/d4651fa9-d9e7-472f-a939-37159801244b/usr/lib/x86_64-linux-gnu/" $ nm -D "libopm.so.2017.04" | grep -i forchheimer This was done for : libopmcommon.so.2017.04 - nothing libopmcore.so.2017.04 - nothing libopmgrid.so.2017.04 - nothing libopmjson.so.2017.04 - nothing libopmoutput.so.2017.04 - nothing libopmparser.so.2017.04 - nothing libopmsimulators.so.2017.04 - nothing >> Not in the libraries!?? can't be entirely sure https://stackoverflow.com/questions/29759586/how-do-i-use-find-nm-and-grep-to-find-a-symbol-among-many-shared-libraries Pass the "-A" option to nm which will prefix its output with the filename. Then just grep for the symbol you're interested in, for example: find -iname '*.so*' -exec nm -A {} \; | grep _ZN6QDebugD1Ev answered Apr 20 '15 at 22:48, bgstech plus 1. For greater efficiency, on systems that support it, replace \; with +. – John1024 Apr 20 '15 at 22:56 Try $ cd "/media/bill/d4651fa9-d9e7-472f-a939-37159801244b/usr/lib/x86_64-linux-gnu/" $ find -iname 'libopm*.04' -exec nm -D {} + | grep -i forchheimer no output Check via : $ find -iname 'libopm*.04' -exec nm -D {} + | grep -i COUNTED >> ample output (several pages of lines), so the expression works # enddoc