Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 31 Jul 2019 00:31:17 +0900
From: Jeeyong Um <conr2d@...il.com>
To: musl@...ts.openwall.com
Subject: build fail with message "error: redefinition of 'index' as different
 kind of symbol"

Hello.
I have a question about building musl with `_BSD_SOURCE` definition.

`src/time/__tz.c` has static variable named by `index` (line 25) and
include `string.h` header file (line 5).
5  #include <string.h>
25 static const unsigned char *zi, *trans, *index, *types, *abbrevs,
*abbrevs_end;

By the way, `include/string.h` includes `strings.h` when _BSD_SOURCE is
defined (line 57).
56 #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
57 #include <strings.h>
58 #endif

`include/strings.h` has a function named by `index` too (line 19).
13 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) ||
defined(_POSIX_SOURCE) \
14  || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \
15  || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
16 int bcmp (const void *, const void *, size_t);
17 void bcopy (const void *, void *, size_t);
18 void bzero (void *, size_t);
19 char *index (const char *, int);
20 char *rindex (const char *, int);
21 #endif

Is it possible to build musl with _BSD_SOURCE definition in this case?
Even though `static` modifier limits the scope of variable to the file, the
conflict between `index` of `strings.h` and `index` of `__tz.c` seems
unavoidable.
Please let me know if you find any mistakes here.

Regards,
Jeeyong Um

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.