| [ Return to Bugs & Features | Roadmap 1.3 | SVN ⇄ GIT ]
STR #3190
Application: | FLTK Library |
Status: | 1 - Closed w/Resolution |
Priority: | 3 - Moderate, e.g. unable to compile the software |
Scope: | 2 - Specific to an operating system |
Subsystem: | DLL/DSO |
Summary: | Shared library does not export fl_oldfocus / Fl_XFont_On_Demand |
Version: | 1.3.3 |
Created By: | rej |
Assigned To: | AlbrechtS |
Fix Version: | 1.3.4 (SVN: v10504) |
Update Notification: | |
Trouble Report Files:
Trouble Report Comments:
|
| Due to -fvisibility=hidden / -fvisibility-inlines-hidden, some functions are not exported when building shared libraries.
The attached patch should address that. The first hunk addresses a build error in FLTK's own fluid:
Linking fluid... x86_64-pc-linux-gnu-g++ -Wall -Wunused -Wno-format-y2k -fvisibility=hidden -fPIC -fno-exceptions -fno-strict-aliasing -ffunction-s ections -fdata-sections -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -I/usr/include/freetype2 -I/usr/inclu de/freetype2 2 -fvisibility-inlines-hidden -Wall -Wunused -Wno-format-y2k -fvisibility=hidden -fPIC -fno-exceptions -fno-strict-aliasing -ffunction-sections -fdata-sections -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o fluid CodeEditor.o Fl_Function_Type.o Fl_Group_Type. o Fl_Menu_Type.o Fl_Type.o Fl_Widget_Type.o Fl_Window_Type.o Fluid_Image.o about_panel.o align_widget.o alignment_panel.o code.o fac tory.o file.o fluid.o function_panel.o template_panel.o undo.o widget_panel.o ../lib/libfltk_forms.a ../lib/libfltk.a ../lib/libfltk _images.a ../lib/libfltk.a -L../lib -lpng -lz -ljpeg -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -ldl -lm -l X11 ../src/libfltk.so: error: undefined reference to 'fl_oldfocus'
The second hunk fixes an issue building octave, see https://bugs.gentoo.org/show_bug.cgi?id=529346 | |
|
#2 | AlbrechtS 15:38 Feb 16, 2015 |
| Thanks for the report.
The easy part is hunk #2. This is fixed in svn, see STR #3156. http://www.fltk.org/str.php?L3156 The fix is different than your patch though.
The confusing part is hunk #1 in your patch:
I don't understand your posted log for several reasons. Did you run make with '-j n' (n>1) ?
(1) fl_oldfocus should not need to be exported, because it is used only in Fl_Widget.cxx and Fl_Group.cxx, and both are in libfltk.a/.so
(2) the log indicates "Linking fluid...", and the error message shows "../src/libfltk.so: error: undefined reference to 'fl_oldfocus'", but fluid is not linked with libfltk.so (see the posted command line). FLTK is linked statically with libfltk.a.
(3) taking wrapping into account, these lines:
-I/usr/inclu de/freetype2 2 -fvisibility-inlines-hidden
show a stray '2'. Why?
I don't think that fl_oldfocus is a problem, and it should not be exported. It looks like a build error or some strange configuration. Can you run the build again and confirm if the 'fl_oldfocus' issue still exists?
You may want to apply the patch from STR #3156 or your hunk #2 alone before you run a fresh build to see what happens. TIA. | |
|
#3 | AlbrechtS 04:21 Mar 07, 2015 |
| This STR has not been updated by the submitter for two or more weeks and has been closed as required by the FLTK Configuration Management Plan. If the issue still requires resolution, please re-submit a new STR.
See also the fix of STR #3156 (svn r10504). | |
[ Return to Bugs & Features ]
|
| |