Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 31 2019 21:59
    cneira edited #373
  • Jan 31 2019 21:58
    cneira review_requested #373
  • Jan 31 2019 21:58
    cneira review_requested #373
  • Jan 31 2019 21:58
    cneira review_requested #373
  • Jan 31 2019 21:58
    cneira opened #373
  • Jan 31 2019 21:20
    cneira synchronize #367
  • Jan 31 2019 21:16
    cneira synchronize #367
  • Jan 31 2019 19:23
    wakiyamap starred omniosorg/illumos-omnios
  • Jan 31 2019 14:09
    citrus-it labeled #1249
  • Jan 31 2019 14:09
    citrus-it review_requested #1249
  • Jan 31 2019 14:09
    citrus-it review_requested #1249
  • Jan 31 2019 14:09
    citrus-it opened #1249
  • Jan 31 2019 11:36
    citrus-it unlabeled #372
  • Jan 31 2019 11:36
    citrus-it edited #372
  • Jan 31 2019 11:36
    citrus-it labeled #372
  • Jan 31 2019 11:36
    citrus-it labeled #372
  • Jan 31 2019 11:36
    citrus-it review_requested #372
  • Jan 31 2019 11:36
    citrus-it review_requested #372
  • Jan 31 2019 11:36
    citrus-it opened #372
  • Jan 31 2019 10:36

    citrus-it on upstream_gate

    10105 libproject needs smatch f… 10117 libbe needs smatch fixes … 10126 smatch fix for kmfcfg Rev… and 2 more (compare)

Andy Fiddaman
@citrus-it
The problem is that a lot of the systems we use to build the OmniOS packages support BMI, but not all people running OmniOS do
Jaakko Linnosaari
@jlinnosa
It should be.. I did run omni update_world.
Seems like there's one patch for BMI that is against 6.2.0 and now it's compiling 6.2.1.
Andy Fiddaman
@citrus-it
It's checking for mulx|lzcntq|shlx instructions in the generated binaries
If you just want to get past this, you can set BMI_EXPECTED=1 in your lib/site.sh, or in the libgmp/build.sh
we just have to be careful not to publish anything with those instructions in as long as people run omnios on older hardware
Jaakko Linnosaari
@jlinnosa
Yeah, I found check_bmi() while looking into this.
Andy Fiddaman
@citrus-it
I'd be interested in the binaries too as I don't see this when I build it on my Intel(r) Xeon(r) CPU E5-2650 v3
we pass gmp_cv_asm_x86_mulx=no in the configure options, and patch out the lzcnt use.. I'm guessing there is something else to disable that your processor has
libgmp is always trying to optimise itself for the build system...
Jaakko Linnosaari
@jlinnosa
This build was running on AMD Turion(tm) II Neo N40L Dual-Core Processor...
Andy Fiddaman
@citrus-it
If you run dis <object> | egrep '(mulx|lzcntq|shlx)' on the generated libgmp.so file (tmp/pkg/usr/lib/amd64/libgmp.so from the build/libgmp directory), I expect you will see something
and since we disable mulx and lzcntq... I suppose it's shlx
Jaakko Linnosaari
@jlinnosa
I'll check...
It's lzcntq
Andy Fiddaman
@citrus-it
With BMI instructions, on a pre-haswell Intel we saw things like this:
$ /usr/gnu/bin/expr 8 \* 7
Illegal Instruction (core dumped)
which is why the check was added
Could you upload the libgmp.so somewhere?
Jaakko Linnosaari
@jlinnosa
Sure.
Andy Fiddaman
@citrus-it
The patch we apply to longlong.h looks like it should squash this... at least for the count_leading_zeros() function
Jaakko Linnosaari
@jlinnosa
Andy Fiddaman
@citrus-it
That looks like the longlong.h patch isn't applied..
Jaakko Linnosaari
@jlinnosa
I do see this in the log: [0] --- Applied patch lzcnt.patch
Andy Fiddaman
@citrus-it
very strange
longlong.h is not easy to read..
I assume your processor drops into a different block
Andy Fiddaman
@citrus-it
If you still have the built source around, could you run this please?
cd build/libgmp/tmp/build/
gcc -I. -E mpf/pow_ui.c | grep -A20 '^__gmpf_pow_ui'
or, if you prefer, tar up the whole directory and send it over so I can take a look. It would be nice to get to the bottom of this!
Andy Fiddaman
@citrus-it
ok, well that is the non lzcnt assembly...
I can only assume that the compiler has been a bit clever
I added the disassembly of that function to the gist
Jaakko Linnosaari
@jlinnosa
Andy Fiddaman
@citrus-it
and it clearly shows that lzcntq has been used
Thanks, I'll look into it
Jaakko Linnosaari
@jlinnosa
👍
Andy Fiddaman
@citrus-it
One more thing @jlinnosa - can you post the output of isainfo -x please?
Jaakko Linnosaari
@jlinnosa
❯ isainfo -x
amd64: amd_svm amd_lzcnt popcnt amd_sse4a tscp ahf cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc fpu
i386: amd_svm amd_lzcnt popcnt amd_sse4a tscp ahf cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc fpu
Andy Fiddaman
@citrus-it
@jlinnosa Found it, thanks omniosorg/omnios-build#2590
Shyamsundara Bhat
@mesam6

I have a omnirepo server internally build & the search function has stopped working, cannot search packages:

503 Service Unavailable
Search functionality is temporarily unavailable.
Powered by CherryPy 18.6.0

Any idea where I can look further?

Shyamsundara Bhat
@mesam6
root@omnios-repo:~#
root@omnios-repo:~# svcs -xv pkg/server
svc:/application/pkg/server:extra (image packaging repository)
 State: online since October 25, 2021 at 03:43:42 AM EDT
   See: /var/svc/log/application-pkg-server:extra.log
Impact: None.

svc:/application/pkg/server:default (image packaging repository)
 State: online since October 25, 2021 at 03:43:48 AM EDT
   See: /var/svc/log/application-pkg-server:default.log
Impact: None.
Andy Fiddaman
@citrus-it
@mesam6 try doing a rebuild on the repository. If you have access to the filesystem the easiest way is pkgrepo -s /path/to/repo rebuild
you can do it remotely too with pkgrepo, depending on how your depotd is set up
Shyamsundara Bhat
@mesam6
Thank you very much, that helped :) yay!
zielony12
@zielony12
is it possible to install OmniOS to a FFSv2/UFS2 root partition?
And does OmniOS support EFI boot?
I want to install the bootloader to first partition on my disk without erasing existing data
bc i'm multibooting
Tobias Oetiker
@oetiker
yes omnios does efiboot .... not sure about the ufs2