From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/lshw: fix musl build
Date: Thu, 4 Aug 2016 19:09:25 +0200 [thread overview]
Message-ID: <e2ca8dfa-5826-a478-7cec-c53a2da44df5@gmail.com> (raw)
In-Reply-To: <20160804183732.7319a9c8@free-electrons.com>
Hi Thomas,
Le 04/08/2016 ? 18:37, Thomas Petazzoni a ?crit :
> Hello,
>
> On Thu, 4 Aug 2016 18:24:46 +0200, Romain Naour wrote:
>
>> +diff --git a/src/core/dasd.cc b/src/core/dasd.cc
>> +index 626b8a8..18d19c3 100644
>> +--- a/src/core/dasd.cc
>> ++++ b/src/core/dasd.cc
>> +@@ -4,6 +4,7 @@
>> + #include <glob.h>
>> + #include <string.h>
>> + #include <fcntl.h>
>> ++#include <libgen.h>
>
> Is this related?
Yes it is.
Upstream seems to use the POSIX variant of basename which require libgen.h
https://github.com/lyonel/lshw/commit/cd690bff1516b40fecd5ec4a7f6619e5bffc3cf0
>
>> + #include <unistd.h>
>> + #include <inttypes.h>
>> + #include <sys/ioctl.h>
>> +@@ -42,7 +43,7 @@ bool scan_dasd(hwNode & n)
>> + {
>> + for(dev_num=0;dev_num<devices.gl_pathc;dev_num++)
>> + {
>> +- dev_name = basename(devices.gl_pathv[dev_num]);
>> ++ dev_name = basename(const_cast<char *>(devices.gl_pathv[dev_num]));
>
> I'm not super familiar with C++ stuff, but why is this problem musl
> specific? The basename() function is "char *basename(char *)"
> regardless of the C library being used. What makes it error out with
> musl and not with other C libraries?
Actually, I get an error on basename from sysfs.cc
sysfs.cc: In function ?std::string sysfs_getbustype(const string&)?:
sysfs.cc:103:41: error: invalid conversion from ?const char*? to ?char*?
[-fpermissive]
"/devices/" + basename(path.c_str());
The cast in dasd is not necessary.
Best regards,
Romain
>
> Thanks,
>
> Thomas
>
next prev parent reply other threads:[~2016-08-04 17:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-04 16:24 [Buildroot] [PATCH] package/lshw: fix musl build Romain Naour
2016-08-04 16:37 ` Thomas Petazzoni
2016-08-04 17:09 ` Romain Naour [this message]
2016-08-04 18:09 ` Thomas Petazzoni
2016-08-04 20:34 ` Romain Naour
2016-08-05 4:25 ` Khem Raj
2016-08-12 22:41 ` Yann E. MORIN
2016-08-13 2:32 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e2ca8dfa-5826-a478-7cec-c53a2da44df5@gmail.com \
--to=romain.naour@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox