[OpenIndiana-discuss] When this misery end?
Aurélien Larcher
aurelien.larcher at gmail.com
Sun Jan 10 19:39:17 UTC 2021
On Sun, Jan 10, 2021 at 8:30 PM Hung Nguyen Gia via openindiana-discuss <
openindiana-discuss at openindiana.org> wrote:
> Too many people replied me. I can't answer each of them. This is an AIO
> answer of mine.
>
> First: No, the kernel alone is not enough for you to be a 64 bit ready OS.
> You can only be a 64 bit ready OS when you are 64 bit only. 32 bit lib
> shipped with the system for compatibility is fine. It's what a typical
> multi-lib multi-arch system works. But all of the binaries, must be 64 bit
> only. The compiler, should or should not, be a multi-lib multi-target
> supported compiler, that allowing cross compile to the 32 bit target.
>
> Do you think you really meet this definition?
>
No, but this is your definition :)
>
> Second: Enterprise OS and compatibility
>
> Switching all of the binaries to be 64 bit only doesn't effect
> compatibility at all. Targeting 64 bit binaries doesn't effect
> compatibility at all. As long as you still support running 32 bit apps and
> ship with 32 bit lib to enable those apps to run. Unless, your apps have a
> hard requirement that some tools must be 32 bit otherwise it will not work?
> I don't know anything like that exists.
>
> Third: Create a package?
>
> Got it. You have to use complicated scripts to mitigate Sun's bad decision
> in the past, when they are not transitioned completely to a 64 bit system.
> Or not yet? Sun had to stop before it has any chance. Oracle acquired it.
>
> Now I know why you have too few apps. Software developers prefer the plain
> old ./configure make make install you just said is the past. It plain and
> simple way allows them to have a glimpse if their software would build and
> run on your OS or not. Remember, you are not the primary platform.
> Nowadays, it's Linux. Requiring them to setup a whole system like a real OI
> developer just to be able to correctly compile their software? Forget it,
> your OS grey-listed. Not worth the effort!
>
> The idea of setting up a whole system like that also ill formed. I think
> the FreeBSD Ports get it more correct. The software must be able to build
> and run fine on the porter's computer first. Only after that, he created a
> port (make files) and submit it to the project to get it build and ready to
> be installed for the users. You did the completely reverse thing.
>
> Fourth: Sun's approach made more sense?
>
> Nope. When everyone in the world switch to eat potatoes, if you continue
> to eat bread people will call you crazy. All of the other OSes, not
> mentioning Linux, the BSDs, all following Linux's convention, let alone
> it's a big if if Sun's approach really made any more sense at all.
>
> But you have to keep it to keep compatibility. It's understandable, for an
> enterprise system.
>
> But, you could change anything that doesn't break compatibility, don't
> you? Let's make the life of all of us more easier.
>
> Fifth: I know the problem is ld incorrectly link my 64 bit objects with a
> 32 bit crt. But how can I stop it from happening?
>
> It's your linker's fault, not me. It could be a limitation, or even bug. I
> correctly have all of my objects being 64 bit, but it still incorrectly
> link them with a 32 bit crt.
>
> Which flags I needed to specify? LD='ld -64' or LD='ld -m64'? Nope. Not
> work. Even hacked the meson.build file to add these 64 flags doesn't have
> any affects.
>
> Why it's too complicated and annoying on your OS? On Linux, or the BSDs, I
> could simply doing everything the old way straight forward.
>
> BTW, if the full oi-userland thingy is the only way to get everything
> correctly, I think I would give it a try. Not promise, though.
>
> I was cut off from my friend's PC and now on my old 4 cores 8 GB RAM PC.
>
> OpenIndiana eats resources like hell. Even when limiting the ZFS ARC Cache
> size.
>
> Someone on this lists did said me to just dd my efi partition of OI on my
> external SSD to the USB stick? Well, this destroyed my friend's Windows 10
> boot loader. Good job, Mr. Hacker. Good job.
>
>
> ---- On Mon, 11 Jan 2021 01:45:35 +0700 Aurélien Larcher <
> aurelien.larcher at gmail.com> wrote ----
>
> > On Sun, Jan 10, 2021 at 6:55 AM Hung Nguyen Gia via openindiana-discuss
> <
> > openindiana-discuss at openindiana.org> wrote:
> >
> > > Unlike other systems, Illumos is a weirded platform! You have a 64
> bit OS
> > > but the compiler by default will generate 32 bit binaries! The linker
> by
> > > default link 32 bit binaries! This has caused endless of troubles for
> > > people wanted to have their software working on your platform and the
> > > porters wanted to port software to your platform! I have asked many
> people,
> > > apart from the reason you are being a minor platform ('outdated',
> 'dead
> > > OS', 'too little market share',...) this insanity is the second
> reason why
> > > they all afraid!
> > >
> >
> > The reason is simple, historically the compiler and toolchain would
> default
> > to the least common denominator.
> >
> > In this case there was not really a question of right or wrong but a
> matter
> > of convention.
> > Solaris defines an Instruction Set Architecture (ISA) which may be
> > supplemented with processor-specific extensions.
> > In our case the architecture is i386 and amd64 is seen as an extension.
> > The toolchain for a given ISA would therefore default to 32-bit (the
> least
> > common denominator) or use extensions if instructed to do so with
> flags.
> > This has been the convention for Solaris on sparc and i386.
> > Alan would be able to explain this better than I do.
> >
> > This was also an approach chosen on at least some IRIX versions where
> some
> > workstations with MIPS R10K and dedicated ASICS would use optimized
> > binaries with such support.
> >
> > The path chosen by most Linux distributions was to consider amd64
> (later
> > renamed x86_64) as a different architecture and therefore distribution
> pure
> > 64-bit.
> > However Debian for instance discovered rather soon that they had to
> provide
> > 32-bit libraries for compatibility and retrofitted the "lib32"
> libraries,
> > and later on delivered libraries in subdirectories based on the
> platform
> > triplet.
> >
> > So IMHO the Solaris approach made more sense, since you had to specify
> > which ISA and which standard compliance were intended.
> > On the contrary Linux distributions relied often on defaults guided by
> > convenience and selecting the "standard of the day", this has changed a
> lot
> > in recent years.
> >
> > However, one could argue that 32-bit is not relevant anymore and that
> the
> > least common denominator should be replaced by the actual intended
> > architecture: 64-bit in this case.
> >
> > Therefore I took the liberty of selecting 64-bit code generation by
> default
> > since I packaged gcc-9, and kept the same rule for gcc-10.
> > So your complaint is not founded at all: we are transitioning as fast
> as
> > time permits.
> > Some of the issues with the migration to gcc-10 was indeed the
> assumption
> > the build system made on the defaut bitness of generated binaries.
> > I fixed about a hundred of such issues back in spring last year.
> >
> > Most of your issues come from incorrect assumptions: this is often the
> case
> > when you are used to one type of system and some of the problems you
> > mention denote a lack of experience with UNIX in a broad sense.
> > I had the same expectation when I started my Linux/UNIX journey 15
> years
> > ago as a student in engineering.
> > However I was very curious and willing to learn the differences between
> > systems so I installed and played with Debian, OpenBSD, NetBSD,
> FreeBSD,
> > Solaris 7/8/9/10, IRIX, on various machines including SPARC and Alpha
> > workstations.
> >
> > Talking and throwing anathema is not really something I am interested
> in.
> > I'd rather work on contributing and take a constructive approach.
> >
> > I was a member of a Linux user group from 2003 to 2008 where
> BSD/Solaris
> > users were often mocked for using inferior systems: I was once called
> an
> > idiot for installing NetBSD and Solaris on my machines.
> > Interestingly whenever the discussion became a bit technical and
> concrete
> > about what they did not like about BSD/Solaris/IRIX most Linux
> proselytes
> > in the group would actually admit that they had never run anything else
> > than Debian or Red Hat :)
> > The Slackware guru in the group always sided with BSD people though :P
> > We would eventually reconcile around a few bottles of beer and a few
> pizzas
> > :D
> >
> > In any case, as other people mentioned we have a build system to set
> all
> > the flags automatically if you are not familiar with UNIX.
> > If you choose to compile things outside this environment then you need
> some
> > minimal knowledge of the environment.
> > These things, while they could be made more convenient, are luckily
> fairly
> > trivial and most of us deal with them.
> >
> > We talked about this some months ago and unfortunately I got sick and
> could
> > not do the gcc-10 migration.
> > So here we are again with you complaining :P :P :P
> >
> > Cheers
> >
> > Aurelien
> >
> >
> >
> > > When would we could be as normal as other 64 bit system, when people
> no
> > > longer have to pass CC='gcc -m64' CXX='g++ -m64' before any configure
> > > scripts with a very high rate of failure just to have 64 bit binaries
> > > generated, I wonder?
> > >
> > > _______________________________________________
> > > openindiana-discuss mailing list
> > > openindiana-discuss at openindiana.org
> > > https://openindiana.org/mailman/listinfo/openindiana-discuss
> > >
> >
> >
> > --
> > ---
> > Praise the Caffeine embeddings
> > _______________________________________________
> > openindiana-discuss mailing list
> > openindiana-discuss at openindiana.org
> > https://openindiana.org/mailman/listinfo/openindiana-discuss
> >
>
>
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss at openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss
>
--
---
Praise the Caffeine embeddings
More information about the openindiana-discuss
mailing list