[GH-ISSUE #18] Ultimate++ on Illumos/OpenIndiana #9

Closed
opened 2026-05-05 03:33:34 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @hoper-a11y on GitHub (Jun 17, 2020).
Original GitHub issue: https://github.com/ultimatepp/ultimatepp/issues/18

I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it failed at linking. Please note that the ld binary we should use is call gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support the options Ultimate++ used. Please fix the makefile. C++ IDE is very lacked on this system. So having Ultimate++ and TheIDE worked on it is awesome.

Originally created by @hoper-a11y on GitHub (Jun 17, 2020). Original GitHub issue: https://github.com/ultimatepp/ultimatepp/issues/18 I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it failed at linking. Please note that the ld binary we should use is call gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support the options Ultimate++ used. Please fix the makefile. C++ IDE is very lacked on this system. So having Ultimate++ and TheIDE worked on it is awesome.
Author
Owner

@mirek-fidler commented on GitHub (Jun 17, 2020):

Afaik, we are not calling ld directly....

BTW: Are you using Makefile from git, or posix installation from sf.net?

Either way, have you managed to fix the makefile? I think linking commands
are at the beginning of Makefile...

Mirek

On Wed, Jun 17, 2020 at 8:54 AM hoper-a11y notifications@github.com wrote:

I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it
failed at linking. Please note that the ld binary we should use is call
gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support
the options Ultimate++ used. Please fix the makefile. C++ IDE is very
lacked on this system. So having Ultimate++ and TheIDE worked on it is
awesome.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/18, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH23YF6LJ2IICN2EPKW23RXBSDBANCNFSM4OAJOF4Q
.

<!-- gh-comment-id:645313216 --> @mirek-fidler commented on GitHub (Jun 17, 2020): Afaik, we are not calling ld directly.... BTW: Are you using Makefile from git, or posix installation from sf.net? Either way, have you managed to fix the makefile? I think linking commands are at the beginning of Makefile... Mirek On Wed, Jun 17, 2020 at 8:54 AM hoper-a11y <notifications@github.com> wrote: > I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it > failed at linking. Please note that the ld binary we should use is call > gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support > the options Ultimate++ used. Please fix the makefile. C++ IDE is very > lacked on this system. So having Ultimate++ and TheIDE worked on it is > awesome. > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub > <https://github.com/ultimatepp/ultimatepp/issues/18>, or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AARH23YF6LJ2IICN2EPKW23RXBSDBANCNFSM4OAJOF4Q> > . >
Author
Owner

@hoper-a11y commented on GitHub (Jun 17, 2020):

Afaik, we are not calling ld directly.... BTW: Are you using Makefile from git, or posix installation from sf.net? Either way, have you managed to fix the makefile? I think linking commands are at the beginning of Makefile... Mirek

On Wed, Jun 17, 2020 at 8:54 AM hoper-a11y @.***> wrote: I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it failed at linking. Please note that the ld binary we should use is call gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support the options Ultimate++ used. Please fix the makefile. C++ IDE is very lacked on this system. So having Ultimate++ and TheIDE worked on it is awesome. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#18>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARH23YF6LJ2IICN2EPKW23RXBSDBANCNFSM4OAJOF4Q .

I downloaded upp-posix-14603.tar.xz.

It's obviously a problem with ld. The error message is here:

ld: fatal: unrecognized option '-O'
ld: fatal: unrecognized option '--gc-sections'
ld: fatal: use the -z help option for usage information
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:256: theide] Error 1

When I use the dirty trick: mv /usr/bin/ld /usr/bin/ld.old && cp /usr/bin/gld /usr/bin/ld it give the following error message:

/usr/gcc/7/lib/gcc/i386-pc-solaris2.11/7.5.0/../../../libgcc-unwind.map: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:256: theide] Error 1

I think the fault is of OpenIndiana's toolchain, not upp. So the best thing I could do now is to close this issue. Thank you for spending time to help me.

<!-- gh-comment-id:645472534 --> @hoper-a11y commented on GitHub (Jun 17, 2020): > Afaik, we are not calling ld directly.... BTW: Are you using Makefile from git, or posix installation from sf.net? Either way, have you managed to fix the makefile? I think linking commands are at the beginning of Makefile... Mirek > […](#) > On Wed, Jun 17, 2020 at 8:54 AM hoper-a11y ***@***.***> wrote: I could compile Ultimate++ just fine with the system's gcc 7.5.0 but it failed at linking. Please note that the ld binary we should use is call gld, the ld in /usr/bin/ld is the old linker from Sun so it doesn't support the options Ultimate++ used. Please fix the makefile. C++ IDE is very lacked on this system. So having Ultimate++ and TheIDE worked on it is awesome. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#18>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AARH23YF6LJ2IICN2EPKW23RXBSDBANCNFSM4OAJOF4Q> . I downloaded upp-posix-14603.tar.xz. It's obviously a problem with ld. The error message is here: ld: fatal: unrecognized option '-O' ld: fatal: unrecognized option '--gc-sections' ld: fatal: use the -z help option for usage information collect2: error: ld returned 1 exit status gmake: *** [Makefile:256: theide] Error 1 When I use the dirty trick: mv /usr/bin/ld /usr/bin/ld.old && cp /usr/bin/gld /usr/bin/ld it give the following error message: /usr/gcc/7/lib/gcc/i386-pc-solaris2.11/7.5.0/../../../libgcc-unwind.map: file not recognized: file format not recognized collect2: error: ld returned 1 exit status gmake: *** [Makefile:256: theide] Error 1 I think the fault is of OpenIndiana's toolchain, not upp. So the best thing I could do now is to close this issue. Thank you for spending time to help me.
Author
Owner

@mirek-fidler commented on GitHub (Jun 18, 2020):

If the problem is with --gc-sections, then that part is definitely not
essential.

I think that if you replace

CFLAGS = -O3 -ffunction-sections -fdata-sections
CXXFLAGS = -O3 -ffunction-sections -fdata-sections -std=c++14
LDFLAGS = -Wl,--gc-sections $(LINKOPTIONS)

with

CFLAGS = -O3
CXXFLAGS = -O3 -std=c++14
LDFLAGS = $(LINKOPTIONS)

then it should compile I think.

Mirek

On Wed, Jun 17, 2020 at 6:34 PM hoper-a11y notifications@github.com wrote:

Closed #18 https://github.com/ultimatepp/ultimatepp/issues/18.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/18#event-3454379251, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH23ZBVV3NO4A3JYQOBADRXDWC3ANCNFSM4OAJOF4Q
.

<!-- gh-comment-id:645816501 --> @mirek-fidler commented on GitHub (Jun 18, 2020): If the problem is with --gc-sections, then that part is definitely not essential. I think that if you replace CFLAGS = -O3 -ffunction-sections -fdata-sections CXXFLAGS = -O3 -ffunction-sections -fdata-sections -std=c++14 LDFLAGS = -Wl,--gc-sections $(LINKOPTIONS) with CFLAGS = -O3 CXXFLAGS = -O3 -std=c++14 LDFLAGS = $(LINKOPTIONS) then it should compile I think. Mirek On Wed, Jun 17, 2020 at 6:34 PM hoper-a11y <notifications@github.com> wrote: > Closed #18 <https://github.com/ultimatepp/ultimatepp/issues/18>. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/ultimatepp/ultimatepp/issues/18#event-3454379251>, or > unsubscribe > <https://github.com/notifications/unsubscribe-auth/AARH23ZBVV3NO4A3JYQOBADRXDWC3ANCNFSM4OAJOF4Q> > . >
Author
Owner

@ghost commented on GitHub (Jul 2, 2020):

If the problem is with --gc-sections, then that part is definitely not essential. I think that if you replace CFLAGS = -O3 -ffunction-sections -fdata-sections CXXFLAGS = -O3 -ffunction-sections -fdata-sections -std=c++14 LDFLAGS = -Wl,--gc-sections $(LINKOPTIONS) with CFLAGS = -O3 CXXFLAGS = -O3 -std=c++14 LDFLAGS = $(LINKOPTIONS) then it should compile I think. Mirek

On Wed, Jun 17, 2020 at 6:34 PM hoper-a11y @.***> wrote: Closed #18 <#18>. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#18 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARH23ZBVV3NO4A3JYQOBADRXDWC3ANCNFSM4OAJOF4Q .

Then where to edit it then? First I changed in uMakefile, it didn't have any effect to the build process. Still unknown -O option. Then I changed in Makefile, again didn't have any effect to the build process at all, still unknown -O option. Each time I applied the change, I ran gmake clean to make sure everything was cleaned. So it took me almost an hour without archive anything.

Solaris/Illumos is an annoying target. Since the proprietary bits still left there. e.g: the proprietary Sun's ld linker. If they used the gnu linker, it's much better.

<!-- gh-comment-id:652933426 --> @ghost commented on GitHub (Jul 2, 2020): > If the problem is with --gc-sections, then that part is definitely not essential. I think that if you replace CFLAGS = -O3 -ffunction-sections -fdata-sections CXXFLAGS = -O3 -ffunction-sections -fdata-sections -std=c++14 LDFLAGS = -Wl,--gc-sections $(LINKOPTIONS) with CFLAGS = -O3 CXXFLAGS = -O3 -std=c++14 LDFLAGS = $(LINKOPTIONS) then it should compile I think. Mirek > […](#) > On Wed, Jun 17, 2020 at 6:34 PM hoper-a11y ***@***.***> wrote: Closed #18 <#18>. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <[#18 (comment)](https://github.com/ultimatepp/ultimatepp/issues/18#event-3454379251)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AARH23ZBVV3NO4A3JYQOBADRXDWC3ANCNFSM4OAJOF4Q> . Then where to edit it then? First I changed in uMakefile, it didn't have any effect to the build process. Still unknown -O option. Then I changed in Makefile, again didn't have any effect to the build process at all, still unknown -O option. Each time I applied the change, I ran gmake clean to make sure everything was cleaned. So it took me almost an hour without archive anything. Solaris/Illumos is an annoying target. Since the proprietary bits still left there. e.g: the proprietary Sun's ld linker. If they used the gnu linker, it's much better.
Author
Owner

@ghost commented on GitHub (Jul 2, 2020):

No. I don't think the problems lie in --gc-sections. It's something in your $(LINKOPTION) indeed.

<!-- gh-comment-id:652933983 --> @ghost commented on GitHub (Jul 2, 2020): No. I don't think the problems lie in --gc-sections. It's something in your $(LINKOPTION) indeed.
Author
Owner

@ghost commented on GitHub (Jul 2, 2020):

It's weirded that the error message always said unknown option, check help with ld -z. But when I actually run ld -z, it said -z is an unknown option. How weirded!

<!-- gh-comment-id:653116737 --> @ghost commented on GitHub (Jul 2, 2020): It's weirded that the error message always said unknown option, check help with ld -z. But when I actually run ld -z, it said -z is an unknown option. How weirded!
Author
Owner

@mirek-fidler commented on GitHub (Jul 6, 2020):

Then where to edit it then? First I changed in uMakefile, it didn't have any effect to the build process. Still unknown -O option. Then I changed in Makefile, again didn't have any effect to the build process at all, still unknown -O option. Each time I applied the change, I ran gmake clean to make sure everything was cleaned. So it took me almost an hour without archive anything.

Is it possible you are still using install script?

Makefile is for make, install script uses different procedure to build it all. It should eventually be possible to fix that as well, but a bit more complicated.

BTW, is there some reasonable VirtualBox image of OpenIndiana?

Mirek

<!-- gh-comment-id:654068153 --> @mirek-fidler commented on GitHub (Jul 6, 2020): > Then where to edit it then? First I changed in uMakefile, it didn't have any effect to the build process. Still unknown -O option. Then I changed in Makefile, again didn't have any effect to the build process at all, still unknown -O option. Each time I applied the change, I ran gmake clean to make sure everything was cleaned. So it took me almost an hour without archive anything. Is it possible you are still using install script? Makefile is for make, install script uses different procedure to build it all. It should eventually be possible to fix that as well, but a bit more complicated. BTW, is there some reasonable VirtualBox image of OpenIndiana? Mirek
Author
Owner

@ghost commented on GitHub (Jul 6, 2020):

BTW, is there some reasonable VirtualBox image of OpenIndiana?

Mirek

Here you are: https://1drv.ms/u/s!Auwd9nlwFHRmakDesevGPpKC1Ac?e=AiVZ8X

Note: If you want to browse the web on OpenIndiana and Firefox is not stable enough you could use Pale Moon. IMHO, Pale Moon is more stable on OpenIndiana than Firefox so I included it in the Downloads directory.

<!-- gh-comment-id:654443293 --> @ghost commented on GitHub (Jul 6, 2020): > BTW, is there some reasonable VirtualBox image of OpenIndiana? > > Mirek Here you are: https://1drv.ms/u/s!Auwd9nlwFHRmakDesevGPpKC1Ac?e=AiVZ8X Note: If you want to browse the web on OpenIndiana and Firefox is not stable enough you could use Pale Moon. IMHO, Pale Moon is more stable on OpenIndiana than Firefox so I included it in the Downloads directory.
Author
Owner

@ghost commented on GitHub (Jul 9, 2020):

Hope you could solve this issue. I will keep the VirtualBox image above for a while before removing it, since I'm using the free plan of OneDrive and it's used almost all of my storage space.

<!-- gh-comment-id:655915763 --> @ghost commented on GitHub (Jul 9, 2020): Hope you could solve this issue. I will keep the VirtualBox image above for a while before removing it, since I'm using the free plan of OneDrive and it's used almost all of my storage space.
Author
Owner

@ghost commented on GitHub (Jul 13, 2020):

I deleted the image. Hope you already got it. Please let me know about your progress. Thanks.

<!-- gh-comment-id:657379724 --> @ghost commented on GitHub (Jul 13, 2020): I deleted the image. Hope you already got it. Please let me know about your progress. Thanks.
Author
Owner

@klugier commented on GitHub (Aug 13, 2020):

Please try our latest nightly builds it seems that Mirek added support for OpenIndiana. https://www.ultimatepp.org/www$uppweb$nightly$en-us.html (U++ for Linux/FreeBSD).

<!-- gh-comment-id:673739032 --> @klugier commented on GitHub (Aug 13, 2020): Please try our latest nightly builds it seems that Mirek added support for OpenIndiana. https://www.ultimatepp.org/www$uppweb$nightly$en-us.html (U++ for Linux/FreeBSD).
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/ultimatepp#9
No description provided.