Thread overview | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
July 02, 2019 How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
I'm a newbie with D language, and my first problem ever is: I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal). |
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to guiguidu60 | On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
> I'm a newbie with D language, and my first problem ever is:
>
> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
Executable is automatically chosen if you have a source code file with name "app.d".
Otherwise set targetType to executable in your dub.json.
Kind regards
André
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Pany | On Tuesday, 2 July 2019 at 10:43:08 UTC, Andre Pany wrote:
> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
>> I'm a newbie with D language, and my first problem ever is:
>>
>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
>
> Executable is automatically chosen if you have a source code file with name "app.d".
> Otherwise set targetType to executable in your dub.json.
>
> Kind regards
> André
It doesn't work...
Who decide if a file is an application or a sharedlib ?
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to guiguidu60 | On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
It sounds like this is a bug in your file explorer's file-type detection code. If it works in the terminal, it should work in the file explorer too.
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Tuesday, 2 July 2019 at 15:29:44 UTC, Paul Backus wrote:
> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
>
> It sounds like this is a bug in your file explorer's file-type detection code. If it works in the terminal, it should work in the file explorer too.
DUB and DMD (for example) are correctly detected as applications.
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to guiguidu60 | On Tuesday, 2 July 2019 at 14:49:49 UTC, guiguidu60 wrote:
> On Tuesday, 2 July 2019 at 10:43:08 UTC, Andre Pany wrote:
>> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
>>> I'm a newbie with D language, and my first problem ever is:
>>>
>>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
>>
>> Executable is automatically chosen if you have a source code file with name "app.d".
>> Otherwise set targetType to executable in your dub.json.
>>
>> Kind regards
>> André
>
> It doesn't work...
> Who decide if a file is an application or a sharedlib ?
What file manager are you using?
Could you perhaps upload an example binary that gets detected wrong?
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Tuesday, 2 July 2019 at 15:29:44 UTC, Paul Backus wrote:
> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote:
>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal).
>
> It sounds like this is a bug in your file explorer's file-type detection code. If it works in the terminal, it should work in the file explorer too.
After verification, it's not a bug from the file explorer but the problem come from DUB or DMD... because, I'm able to open my program with a file archiver and see its contents (it's not possible with a real application).
|
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Les De Ridder | On Tuesday, 2 July 2019 at 16:44:12 UTC, Les De Ridder wrote: > On Tuesday, 2 July 2019 at 14:49:49 UTC, guiguidu60 wrote: >> On Tuesday, 2 July 2019 at 10:43:08 UTC, Andre Pany wrote: >>> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote: >>>> I'm a newbie with D language, and my first problem ever is: >>>> >>>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal). >>> >>> Executable is automatically chosen if you have a source code file with name "app.d". >>> Otherwise set targetType to executable in your dub.json. >>> >>> Kind regards >>> André >> >> It doesn't work... >> Who decide if a file is an application or a sharedlib ? > > What file manager are you using? > > Could you perhaps upload an example binary that gets detected wrong? I'm on Debian 10, with Nautilus (v3.30.5) as file explorer. You can download the helloworld program with this link: https://mega.nz/#!rY1QWIhK!lKyIX192OEfKM8MsZ_WW_QNryl39yCQebkXts2qn7E0 |
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to guiguidu60 | On Tuesday, 2 July 2019 at 16:56:52 UTC, guiguidu60 wrote: > On Tuesday, 2 July 2019 at 16:44:12 UTC, Les De Ridder wrote: >> On Tuesday, 2 July 2019 at 14:49:49 UTC, guiguidu60 wrote: >>> On Tuesday, 2 July 2019 at 10:43:08 UTC, Andre Pany wrote: >>>> On Tuesday, 2 July 2019 at 08:50:36 UTC, guiguidu60 wrote: >>>>> I'm a newbie with D language, and my first problem ever is: >>>>> >>>>> I have a hello world program build with DUB on Linux, but the program as marked as "application/x-sharedlib" and not "application/x-executable" (in properties of the file): so, I can't able to execute the program from the file explorer (need to do ./helloworld within a terminal). >>>> >>>> Executable is automatically chosen if you have a source code file with name "app.d". >>>> Otherwise set targetType to executable in your dub.json. >>>> >>>> Kind regards >>>> André >>> >>> It doesn't work... >>> Who decide if a file is an application or a sharedlib ? >> >> What file manager are you using? >> >> Could you perhaps upload an example binary that gets detected wrong? > > I'm on Debian 10, with Nautilus (v3.30.5) as file explorer. > You can download the helloworld program with this link: https://mega.nz/#!rY1QWIhK!lKyIX192OEfKM8MsZ_WW_QNryl39yCQebkXts2qn7E0 As I suspected, it's because it's a PIE executable, so this issue is not specific to D. Going down the rabbit hole: https://bugzilla.gnome.org/show_bug.cgi?id=737849 https://bugs.freedesktop.org/show_bug.cgi?id=97226 https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/11 |
July 02, 2019 Re: How to build a package as application ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Les De Ridder | On Tuesday, 2 July 2019 at 17:14:23 UTC, Les De Ridder wrote:
> On Tuesday, 2 July 2019 at 16:56:52 UTC, guiguidu60 wrote:
>> On Tuesday, 2 July 2019 at 16:44:12 UTC, Les De Ridder wrote:
>>> On Tuesday, 2 July 2019 at 14:49:49 UTC, guiguidu60 wrote:
>>>> [...]
>>>
>>> What file manager are you using?
>>>
>>> Could you perhaps upload an example binary that gets detected wrong?
>>
>> I'm on Debian 10, with Nautilus (v3.30.5) as file explorer.
>> You can download the helloworld program with this link: https://mega.nz/#!rY1QWIhK!lKyIX192OEfKM8MsZ_WW_QNryl39yCQebkXts2qn7E0
>
> As I suspected, it's because it's a PIE executable, so this issue is
> not specific to D.
>
> Going down the rabbit hole:
> https://bugzilla.gnome.org/show_bug.cgi?id=737849
> https://bugs.freedesktop.org/show_bug.cgi?id=97226
> https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/11
Ahh ok, thanks !
The bug is old... how can I develop D applications without having to suffer this bug ?
|
Copyright © 1999-2021 by the D Language Foundation