On 1/7/13 4:25 AM, Peter Åstrand wrote:
>> (3) CMakeLists.txt in the FLTK build system needs to be patched as
>> follows:
>> Otherwise, it will try to add -lpng to all of the subsequent function
>> checks, which causes them to fail on some machines (including mine.)
>
> Have you reported this to the FLTK folks? Again, probably makes sense to
> wait with further debugging on this until we have 1.3.2.

No, because it's frankly not my problem, and it would be a lot quicker 
for you and Pierre, who have inroads into the FLTK project, to report 
it.  I am assuming that, if you are interested in making the TigerVNC 
build user-friendly, you will want to follow these suggestions.  I've 
already worked around the issues in my own local build.  I submitted 
these issues to you both as a favor and so users who inevitably try to 
build TigerVNC from trunk and come up with the same issues will be able 
to google for them.  I build TigerVNC only for reference, so I am not 
getting paid to solve any broader issues with that code base or with FLTK.


>> (4) Fluid build fails on Mac using CMake unless CMakeLists.txt in the
>> FLTK build system is patched as follows:
>
> As point 3), I think.

No, because this is a bug introduced by the patches that Cendio made to 
FLTK.  All I'm suggesting is to extend fltk-1_v6.3.x-keyboard-osx.patch 
so that it adds '-framework Carbon' in the CMake build system the same 
way it already does in the autotools build system.  Don't see why you 
have to wait for 1.3.2 for that, since this is not an upstream problem. 
  It's a problem created by an FLTK patch that was specifically made for 
the purposes of TigerVNC.


>> (6) The TigerVNC build will fail unless I patch TigerVNC's
>> CMakeLists.txt as follows:
>>
>> --- CMakeLists.txt    (revision 5021)
>> +++ CMakeLists.txt    (working copy)
>> @@ -265,6 +265,7 @@
>>    if(X11_Xcursor_FOUND)
>>      set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xcursor_LIB})
>>    endif()
>> +  set(FLTK_LIBRARIES ${FLTK_LIBRARIES} png)
>>  endif()
>>
>>
>> This goes away when building FLTK with -DOPTION_USE_SYSTEM_LIBPNG=0, but
>> distribution vendors will run into this problem, since they'll probably
>> want to use the system libpng.  Since the patch above does no harm when
>> using FLTK's internal PNG library, I would suggest going ahead and
>> applying it to TigerVNC.
>
> Shouldn't this go into vncviewer/CMakeLists.txt instead?

Effectively, it probably doesn't matter either way, since FLTK is only 
used when building vncviewer, but since libpng is a dependency 
introduced by FLTK, it made sense to me to include it in FLTK_LIBRARIES. 
  But either way you want.


>> (7) Building FLTK using MinGW is problematic because of the dependency
>> on the libgcc and libstdc++ DLL's.  These dependencies are automatically
>
> Yes, this is somewhat problematic, but as you point out, this is really
> a problem with FLTK rather than TigerVNC.

You keep saying that, but I'll say again like I said before-- this is 
effectively a regression in the TigerVNC build, because this problem did 
not exist in the 1.2 build by virtue of the fact that FLTK was being 
built in tree.  If a user wants to build a workable Windows version of 
TigerVNC from trunk, they currently need to seriously hack the FLTK 
build system like I did.  But whatever.  If you want to throw the most 
popular client platform under the bus, then that's your decision to 
make.  Just understand that, the more frustrating you make TigerVNC, the 
more you drive users away, and you should ask yourself where those users 
are being driven to and why I have such intimate knowledge of their 
frustrations with TigerVNC.


>> (8) You are using ImageMagick to generate tigervnc.png.  Of course
>> ImageMagick is not available on Windows, so the Windows build fails.  I
>> mean, seriously, check the PNG files into SVN.  They're all of, what, 2
>> kilobytes?!
>
> I have no objections to checking in the PNG files, but is this really
> enough? Have you tried running the build with the PNG files already in
> place? My guess is that CMake and the make files will still look for
> "convert" etc and fail if it's not available. We would probably need
> some kind of logic that only looks for "convert" if the PNG files needs
> remake.

The problem is that Windows has a "convert" executable that's part of 
the operating system, but of course it is not the right "convert" 
executable.  On Linux, if ImageMagick is not installed, the build fails 
cryptically with "cannot find /usr/bin/convert" or something like that.

Rather than argue, I checked in a patch (5024) that I have verified to 
fix the issue and build correctly on all platforms.  If you don't like 
it, back it out.  But if you choose to keep using ImageMagick to 
generate the icons, then you need to (a) document that as a build 
dependency for Linux/Unix platforms and (b) add logic to 
media/CMakeLists.txt to ensure that it doesn't try to build the icons on 
Windows.

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to