Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nodejs: ppc64le machine support #333

Closed

Conversation

geissonator
Copy link
Contributor

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

Signed-off-by: Andrew Geissler [email protected]

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

Signed-off-by: Andrew Geissler <[email protected]>
@gtmills
Copy link

gtmills commented Apr 1, 2021

Hit this building OpenBMC.

@kraj
Copy link
Contributor

kraj commented Apr 1, 2021

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

you must be using ppc64le build host, the change was to support ppc64le target builds of nodejs where OE
defines the arch to be powerpc64le unlike perhaps desktop distros use ppc64le ? can you confirm

Signed-off-by: Andrew Geissler [email protected]

@geissonator
Copy link
Contributor Author

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

you must be using ppc64le build host, the change was to support ppc64le target builds of nodejs where OE
defines the arch to be powerpc64le unlike perhaps desktop distros use ppc64le ? can you confirm

Yep, we're using ppc64le systems out of Softlayer to build our OpenBMC distributions.

# uname -a
Linux temp 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 06:54:14 UTC 2020 ppc64le ppc64le ppc64le GNU/Linux

Signed-off-by: Andrew Geissler [email protected]

@kraj
Copy link
Contributor

kraj commented Apr 1, 2021

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

you must be using ppc64le build host, the change was to support ppc64le target builds of nodejs where OE
defines the arch to be powerpc64le unlike perhaps desktop distros use ppc64le ? can you confirm

Yep, we're using ppc64le systems out of Softlayer to build our OpenBMC distributions.

Thats good to know, I do not have access to ppc builder, mostly my testing is on x86_64 or aarch64 builders so I would
not have seen this issue coming, but while you are at it, you might want to inspect other native recipes that are doing such
arch settings as well.

It will be good if you can do a world build :) and report issues see for CI
https://github.com/YoeDistro/meta-openembedded/blob/yoe/mut/.github/workflows/yoe.yml

# uname -a
Linux temp 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 06:54:14 UTC 2020 ppc64le ppc64le ppc64le GNU/Linux

Signed-off-by: Andrew Geissler [email protected]

@geissonator
Copy link
Contributor Author

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

you must be using ppc64le build host, the change was to support ppc64le target builds of nodejs where OE
defines the arch to be powerpc64le unlike perhaps desktop distros use ppc64le ? can you confirm

Yep, we're using ppc64le systems out of Softlayer to build our OpenBMC distributions.

Thats good to know, I do not have access to ppc builder, mostly my testing is on x86_64 or aarch64 builders so I would
not have seen this issue coming, but while you are at it, you might want to inspect other native recipes that are doing such
arch settings as well.

It will be good if you can do a world build :) and report issues see for CI
https://github.com/YoeDistro/meta-openembedded/blob/yoe/mut/.github/workflows/yoe.yml

I can confirm that with the change in this PR we can now successfully build the OpenBMC distro on ppc64le (which utilizes a subset of recipes from yocto and meta-openembedded).

I tried building the yoe distro on a ppc64le system but hit this error:

bitbake yoe-simple-image
standard_init_linux.go:211: exec user process caused "exec format error"

I believe I've seen that in the past when the correct docker container type is not pulled down. OpenBMC utilizes logic like this in it's docker scripts to ensure the correct FROM statement is used:
https://github.com/openbmc/openbmc-build-scripts/blob/master/build-setup.sh#L117

@kraj
Copy link
Contributor

kraj commented Apr 1, 2021

Commit 836912a changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

you must be using ppc64le build host, the change was to support ppc64le target builds of nodejs where OE
defines the arch to be powerpc64le unlike perhaps desktop distros use ppc64le ? can you confirm

Yep, we're using ppc64le systems out of Softlayer to build our OpenBMC distributions.

Thats good to know, I do not have access to ppc builder, mostly my testing is on x86_64 or aarch64 builders so I would
not have seen this issue coming, but while you are at it, you might want to inspect other native recipes that are doing such
arch settings as well.
It will be good if you can do a world build :) and report issues see for CI
https://github.com/YoeDistro/meta-openembedded/blob/yoe/mut/.github/workflows/yoe.yml

I can confirm that with the change in this PR we can now successfully build the OpenBMC distro on ppc64le (which utilizes a subset of recipes from yocto and meta-openembedded).

I tried building the yoe distro on a ppc64le system but hit this error:

bitbake yoe-simple-image
standard_init_linux.go:211: exec user process caused "exec format error"

I believe I've seen that in the past when the correct docker container type is not pulled down. OpenBMC utilizes logic like this in it's docker scripts to ensure the correct FROM statement is used:
https://github.com/openbmc/openbmc-build-scripts/blob/master/build-setup.sh#L117

hmm we build docker image offline and reuse it during build

https://github.com/YoeDistro/docker-yoe-build/blob/buster/Dockerfile

currently we do not have docker for ppc64le

you can also do

export DOCKER_REPO=none

so it will fallback to native build.

@kraj
Copy link
Contributor

kraj commented Apr 3, 2021

fixed with 649fb54

@kraj kraj closed this Apr 3, 2021
kraj pushed a commit to YoeDistro/meta-openembedded that referenced this pull request Apr 29, 2023
…325338b6e7b3d42de)

Drop patches now part of new upstream release:
- 0001-Fix-memory-leak.patch
- 0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
- 0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch

Cherry-pick and propose upstream two patches to fix build failures with security hardening flags enabled
and with some systemd configuration (underlink)
- 481.patch
- 482.patch

Add new dlt-adaptor-stdin cmake optional flag
Drop PV variable, not needed anymore
Drop latomic manual added flag, upstream code changed to avoid its need
See: COVESA/dlt-daemon#433 and COVESA/dlt-daemon@2224cdd
(changed from atomic_bool to atomic_int, the latter doesn't require manual atomic library link since
it can be optimized properly by the compiler on riscv platforms)

What's Changed:

    dlt-system: fix a libc buffer overflow detection on 32bit targets by @mtitinger in openembedded#337
    dlt-daemon: create sockets using "android way" by @sebastienraillet in openembedded#333
    fixes compilation issue with clang by @sebastienraillet in openembedded#339
    dlt-daemon: Only create directories if they do not exist yet by @alexmohr in openembedded#340
    dlt-system : fix invalid free with ConfigurationFileName by @mtitinger in openembedded#342
    fix for the issue openembedded#341 by @rvalovyi in openembedded#347
    Forcibly the severity level set by @dhnatiuk1 in openembedded#346
    fix -Wformat issues reported by clang by @sebastienraillet in openembedded#349
    dlt-system: fix invalid free by removing unused TempDir by @andreirusu96 in openembedded#350
    Support for Cygwin toolchain. by @DoctorNoobingstoneIPresume in openembedded#351
    filetransfer: Return error if no free space by @ssugiura in openembedded#354
    lib: Correct VARI usage in dlt_user_log_write_uint by @ssugiura in openembedded#356
    Fix DLT User/Client tests by @andreirusu96 in openembedded#357
    tests: Deplicate unused files and variables by @ssugiura in openembedded#359
    Fix the target name in documentation by @mawillers in openembedded#372
    cmake: Add option to enable each adaptor by itself by @alexmohr in openembedded#364
    cmake: Add options to enable/disable each dlt console tool by @alexmohr in openembedded#363
    filetransfer: Fix getFileCreationDate2 stat check by @andreirusu96 in openembedded#361
    dlt_config_file_parser.c:Fix a pointer release bug in the file。 by @Leslie-bcy in openembedded#376
    Update workflow by @thanhbnq in openembedded#389
    README: Update link to github actions by @ssugiura in openembedded#392
    Fix handle returned value by @thanhbnq in openembedded#384
    systemd: install adaptor-udp service for adaptor=on by @danielweber2018 in openembedded#393
    automotive-dlt.pc: add the path to find the static library by @zeerd in openembedded#387
    enforce-trace-limit: ContextLogLevel is now enforced in the daemon by @alexmohr in openembedded#382
    dlt-daemon-connection: Start up even if not all bindings are valid by @alexmohr in openembedded#380
    dlt_common.c: Change default logging_mode by @wusto in openembedded#406
    logstorage: Truncate ECUid in Logstorage filter to prevent crash by @andreirusu96 in openembedded#402
    Update dlt_for_developers.md by @marques-bruno in openembedded#405
    dlt-gateway: Fix crash on invalid ip by @alexmohr in openembedded#381
    dlt_client:Block in connect() by @thanhbnq in openembedded#409
    dlt_daemon_client: Fix change loglevel of application by @lti9hc in openembedded#408
    Update maintainer by @thanhbnq in openembedded#410
    systemd: add support for socket activation via systemd by @alexmohr in openembedded#401
    internal-logging: Fix issues with file logging by @alexmohr in openembedded#378
    dlt_common: change output of message for log initialization by @lti9hc in openembedded#412
    Avoid memory corruption behind buffer wp in function dlt_getloginfo_conv_ascii_to_id by @michael-methner in openembedded#411
    dlt_daemon_client: Fix Control Msg ECUId comparison with active Gateway by @andreirusu96 in openembedded#414
    Fix for Resource and Memory Leak by @lti9hc in openembedded#418
    dlt-receive: set host interface and allow multiple udp multicast addresses by @thanhbnq in openembedded#420
    dlt-system: Fix buffer overflow detection on 32bit targets by @sandy-lcq in openembedded#398
    cmake: network trace enable toggle by @danielweber2018 in openembedded#424
    client: Fix Get Log Info response conversion method by @andreirusu96 in openembedded#422
    filetransfer: fix filesize divisible by blocksize case by @danielweber2018 in openembedded#383
    Updates for Coding Styles by @thanhbnq in openembedded#425
    gateway: Fix Node handling and ECUid checks by @andreirusu96 in openembedded#429
    Update contacts and removed mailing lists by @michael-methner in openembedded#431
    dlt-user: Fix crashes in dlt_free during dlt_init by @alexmohr in openembedded#362
    dlt-convert: Fix memory leak by calling dlt_file_free by @lvklevankhanh in openembedded#434
    dlt-user: fix potential non closed socket in init/free by @alexmohr in openembedded#435
    Check for negative index in dlt_file_message by @michael-methner in openembedded#437
    Fix memory leak by @lvklevankhanh in openembedded#441
    dlt-connection: add socket timeout by @alexmohr in openembedded#439
    Installs dlt.conf on android by @sebastienraillet in openembedded#446
    This changes a mispatch from fcb676a to install udp binary correctly by @smooge in openembedded#449
    logfile: exhance internal dlt logging by introducing size limits by @danielweber2018 in openembedded#369
    dlt-logd-converter: fixes android 12 compilation by @sebastienraillet in openembedded#445
    dlt-logd-converter: Fix getting log level from log msg by @RobinChenJP in openembedded#456
    house-keeper: remove infinite wait by @alexmohr in openembedded#438
    cmake: remove duplicated option message by @minminlittleshrimp in openembedded#454
    Android: Add new feature in Android bp by @minminlittleshrimp in openembedded#461
    dlt_multiple_files: remove superfluous mode bits and add header file to header list by @minminlittleshrimp in openembedded#462
    dlt-user: fix crash with certain strings by @alexmohr in openembedded#463

Signed-off-by: Gianfranco Costamagna <[email protected]>
Signed-off-by: Gianfranco Costamagna <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants