Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 344509 - TCF Agent isn't buildable for uclibc-based toolchains
Summary: TCF Agent isn't buildable for uclibc-based toolchains
Status: RESOLVED FIXED
Alias: None
Product: TCF
Classification: Tools
Component: Agent (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 0.4.0   Edit
Assignee: Project Inbox CLA
QA Contact: Eugene Tarassov CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-02 16:34 EDT by Peder Andersen CLA
Modified: 2013-06-05 05:54 EDT (History)
1 user (show)

See Also:


Attachments
Fix for missing APIs. (1.82 KB, patch)
2011-05-02 16:34 EDT, Peder Andersen CLA
eugene: iplog+
Details | Diff
Fix allowing builds in uuid-less environments (1.08 KB, patch)
2011-05-02 16:35 EDT, Peder Andersen CLA
eugene: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peder Andersen CLA 2011-05-02 16:34:25 EDT
Created attachment 194542 [details]
Fix for missing APIs.

Some APIs provided by glibc are not available for uclibc-based targets, so we can provide implementations of these using mdep.c.

The second issue is that libuuid does not yet support being built for uclibc targets, so we should provide a method for linux clients to not be forced to link against this library.

See attached for patches for both issues, based on SVN version 1617.
Comment 1 Peder Andersen CLA 2011-05-02 16:35:28 EDT
Created attachment 194543 [details]
Fix allowing builds in uuid-less environments
Comment 2 Eugene Tarassov CLA 2011-05-02 19:29:06 EDT
I have some doubts about the first patch: it changes realpath() to use NULL as the buffer pointer. NULL support was added relatively recently - in 2008 issue of IEEE standard, and it is not consistently supported everywhere. I would not use it without checking libc version with #if/#endif.
Comment 3 Peder Andersen CLA 2011-05-02 19:39:22 EDT
I didn't test builds for *BSD or apple, just optimized for them as well based on the 4.4BSD & POSIX.1-2001 documentation.  You could always use the original implementation for these platforms and just add the optimized canonicalize_file_name() for uclibc platforms.
Comment 4 Eugene Tarassov CLA 2011-06-03 10:01:41 EDT
I have committed the patches with a minor change: the original implementation of canonicalize_file_name() is used for BSD.
Thanks!