Tracker item #3459133, was opened at 2011-12-13 13:19
Message generated for change (Comment added) made by mvanzin
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=989708&aid=3459133&group_id=204462

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Closed
>Resolution: Wont Fix
>Priority: 5
Private: No
Submitted By: Nate Muench (n-minker)
Assigned to: Nobody/Anonymous (nobody)
Summary: open-vm-tools fails to build with glib 2.31 and later

Initial Comment:
Hello,

I'm preparing packaging for open-vm-tools for Ubuntu (I'm doing the preliminary 
work on the October release, and adding November after everything works).  I've 
hit a snag, apparently the October (and November) releases do not build 
successfully against glib 2.31 or later because of depreciated declarations.

I've attached a partial patch (I'll tell you why it's incomplete in a moment) 
I've been working on (to fix this).  As well as 2 build failure logs.  Failure 
1 has been fixed in the first section of the patch.  Failure 2 is where I'm 
currently stuck at.  After deleting the problem line from Failure 2 (the only 
purpose is see where other problems occurred), I have noticed problem with 
/services/vmtoolsd/threadPool.c at line 445.  This is where I'm stuck at.

I don't have very good programming skill, so I'm using this page 
(http://developer.gnome.org/glib/2.31/glib-Deprecated-Thread-APIs.html) for 
fixes.  I'm doing the best I can.

I would like a better patch (which I can just add to the branch I'm working 
with/on) or new packaging (which I can just merge with my packaging).  Now with 
my build logs.

Failure 1:
fileLogger.c: In function 'FileLoggerLog':
fileLogger.c:257:4: error: 'g_static_rw_lock_reader_lock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:210): Use 
'g_rw_lock_reader_lock' instead [-Werror=deprecated-declarations]
fileLogger.c:268:7: error: 'g_static_rw_lock_reader_unlock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:216): Use 
'g_rw_lock_reader_unlock' instead [-Werror=deprecated-declarations]
fileLogger.c:269:7: error: 'g_static_rw_lock_writer_lock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:219): Use 
'g_rw_lock_writer_lock' instead [-Werror=deprecated-declarations]
fileLogger.c:273:7: error: 'g_static_rw_lock_writer_unlock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:225): Use 
'g_rw_lock_writer_unlock' instead [-Werror=deprecated-declarations]
fileLogger.c:274:7: error: 'g_static_rw_lock_reader_lock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:210): Use 
'g_rw_lock_reader_lock' instead [-Werror=deprecated-declarations]
fileLogger.c:291:13: error: 'g_static_rw_lock_reader_unlock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:216): Use 
'g_rw_lock_reader_unlock' instead [-Werror=deprecated-declarations]
fileLogger.c:292:13: error: 'g_static_rw_lock_writer_lock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:219): Use 
'g_rw_lock_writer_lock' instead [-Werror=deprecated-declarations]
fileLogger.c:298:13: error: 'g_static_rw_lock_writer_unlock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:225): Use 
'g_rw_lock_writer_unlock' instead [-Werror=deprecated-declarations]
fileLogger.c:299:13: error: 'g_static_rw_lock_reader_lock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:210): Use 
'g_rw_lock_reader_lock' instead [-Werror=deprecated-declarations]
fileLogger.c:309:4: error: 'g_static_rw_lock_reader_unlock' is deprecated 
(declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:216): Use 
'g_rw_lock_reader_unlock' instead [-Werror=deprecated-declarations]
fileLogger.c: In function 'FileLoggerDestroy':
fileLogger.c:331:4: error: 'g_static_rw_lock_free' is deprecated (declared at 
/usr/include/glib-2.0/glib/deprecated/gthread.h:228): Use 'g_rw_lock_free' 
instead [-Werror=deprecated-declarations]
fileLogger.c: In function 'GlibUtils_CreateFileLogger':
fileLogger.c:378:4: error: 'g_static_rw_lock_init' is deprecated (declared at 
/usr/include/glib-2.0/glib/deprecated/gthread.h:207): Use 'g_rw_lock_init' 
instead [-Werror=deprecated-declarations]
cc1: all warnings being treated as errors

Failure 2:
mainLoop.c: In function 'ToolsCore_Setup':
mainLoop.c:380:7: error: 'g_thread_init' is deprecated (declared at 
/usr/include/glib-2.0/glib/deprecated/gthread.h:259) 
[-Werror=deprecated-declarations]
cc1: all warnings being treated as errors

----------------------------------------------------------------------

>Comment By: Marcelo Vanzin (mvanzin)
Date: 2011-12-13 13:26

Message:
Ah, another default compiler flag change that completely borks our code.
Great.

We can't call the new functions. We have to maintain compatibility with
older versions of glib that don't have the new functions / types, and
adding a bunch of #defines is really ugly. Your best bet is to add
"-Wno-deprecated-declarations" to your CFLAGS when compiling open-vm-tools.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=989708&aid=3459133&group_id=204462

------------------------------------------------------------------------------
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/
_______________________________________________
open-vm-tools-devel mailing list
open-vm-tools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-vm-tools-devel

Reply via email to