Code Monkey home page Code Monkey logo

Comments (6)

ashie avatar ashie commented on September 25, 2024 1

We should check also dependencies of remaining libraries.

from fluent-package-builder.

cosmo0920 avatar cosmo0920 commented on September 25, 2024

cool.io:

[vagrant@localhost 2.4.0]$ ldd cool.io-1.6.0/cool.io_ext.so 
	linux-vdso.so.1 =>  (0x00007ffe913f9000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f51320b7000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f5131ea8000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5131c8b000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f5131a87000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f513184f000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f51315cb000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f5131237000)
	/lib64/ld-linux-x86-64.so.2 (0x0000562184ad7000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f5131033000)

http_parser.rb:

[vagrant@localhost 2.4.0]$ ldd http_parser.rb-0.6.0/ruby_http_parser.so 
	linux-vdso.so.1 =>  (0x00007ffe0c9f3000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f2f43fb8000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2f43d94000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f2f43b8c000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f2f43988000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2f43750000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f2f434cc000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f2f43138000)
	/lib64/ld-linux-x86-64.so.2 (0x000055cc2fcd2000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f2f42f34000)

nio4r:

[vagrant@localhost 2.4.0]$ ldd nio4r-2.5.2/nio4r_ext.so 
	linux-vdso.so.1 =>  (0x00007ffca5178000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f00b1261000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f00b103d000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f00b0e35000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f00b0c31000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f00b09f9000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f00b0775000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f00b03e1000)
	/lib64/ld-linux-x86-64.so.2 (0x000055ca1d7a2000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f00b01dd000)

yajl:

[vagrant@localhost 2.4.0]$ ldd yajl-ruby-1.4.1/yajl/yajl.so 
	linux-vdso.so.1 =>  (0x00007ffef66c4000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f2287a7a000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2287856000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f228764e000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f228744a000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2287212000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f2286f8e000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f2286bfa000)
	/lib64/ld-linux-x86-64.so.2 (0x000056525ec20000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f22869f6000)

ffi:

[vagrant@localhost 2.4.0]$ ldd ffi-1.12.2/ffi_c.so 
	linux-vdso.so.1 =>  (0x00007ffed3de1000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f61998e2000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f61996be000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f61994b6000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f61992b2000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f619907a000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f6198df6000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f6198a62000)
	/lib64/ld-linux-x86-64.so.2 (0x000055a83aeb3000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f619885e000)

msgpack:

[vagrant@localhost 2.4.0]$ ldd msgpack-1.3.3/msgpack/msgpack.so 
	linux-vdso.so.1 =>  (0x00007ffc1653d000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f480fd6e000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f480fb4a000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f480f942000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f480f73e000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f480f506000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f480f282000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f480eeee000)
	/lib64/ld-linux-x86-64.so.2 (0x000055653aee3000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f480ecea000)

oj:

[vagrant@localhost 2.4.0]$ ldd oj-3.8.1/oj/oj.so 
	linux-vdso.so.1 =>  (0x00007ffe00adc000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007f9d58fcc000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9d58da8000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f9d58ba0000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f9d5899c000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9d58764000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f9d584e0000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f9d5814c000)
	/lib64/ld-linux-x86-64.so.2 (0x0000563a22f11000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f9d57f48000)

strptime:

[vagrant@localhost 2.4.0]$ ldd strptime-0.2.3/strptime/strptime.so 
	linux-vdso.so.1 =>  (0x00007ffc4dd12000)
	libruby.so.2.4 => /opt/td-agent/lib/libruby.so.2.4 (0x00007fca62a8d000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fca62869000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fca62661000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fca6245d000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fca62225000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fca61fa1000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fca61c0d000)
	/lib64/ld-linux-x86-64.so.2 (0x0000560be243f000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007fca61a09000)

Other libraries links fundamental libraries. We also should investigate Debian/Ubuntu cases.

from fluent-package-builder.

cosmo0920 avatar cosmo0920 commented on September 25, 2024

I'm investigating for Debian/Ubuntu environments.

from fluent-package-builder.

ashie avatar ashie commented on September 25, 2024

Probably some more features aren't missing on CentOS.

Finding dependent libraries:

$ find | grep "\.so" | xargs ldd | grep $'\t' | sed -e s/'=>.*//g' -e s/$'\t'//g | sort | uniq

Resut for official td-agent-3.7.0 on CentOS 7:

/lib64/ld-linux-x86-64.so.2 (0x00007efbf7ddd000)
libc.so.6
libcom_err.so.2
libcrypt.so.1
libcrypto.so.1.0.0
libdl.so.2
libecpg.so.6
libedit.so.0
libexslt.so.0
libffi.so.6
libfreebl3.so
libgssapi_krb5.so.2
libk5crypto.so.3
libkeyutils.so.1
libkrb5.so.3
libkrb5support.so.0
liblzma.so.5
libm.so.6
libncurses.so.5
libncursesw.so.5
libpcre.so.1
libpgtypes.so.3
libpq.so.5
libpthread.so.0
libresolv.so.2
librt.so.1
libruby.so.2.4
libsasl2.so.3
libselinux.so.1
libssl.so.1.0.0
libtinfo.so.5
libtinfow.so.5
libutil.so.1
libxml2.so.2
libxslt.so.1
libyaml-0.so.2
libz.so.1
linux-vdso.so.1

Result for td-agent-builder's td-agent-3.7.0:

/lib64/ld-linux-x86-64.so.2 (0x00007efbf7ddd000)
libc.so.6
libcom_err.so.2
libcrypt.so.1
libcrypto.so.10
libdl.so.2
libfreebl3.so
libgcc_s.so.1
libgssapi_krb5.so.2
libk5crypto.so.3
libkeyutils.so.1
libkrb5.so.3
libkrb5support.so.0
libm.so.6
libpcre.so.1
libpthread.so.0
libresolv.so.2
librt.so.1
libruby.so.2.4
libsasl2.so.3
libselinux.so.1
libssl.so.10
libutil.so.1
libz.so.1
linux-vdso.so.1

diff:

--- depends-official.txt        2020-04-16 14:00:47.798328264 +0900
+++ depends-mine.txt    2020-04-16 14:00:34.526460797 +0900
@@ -2,37 +2,24 @@
 libc.so.6
 libcom_err.so.2
 libcrypt.so.1
-libcrypto.so.1.0.0
+libcrypto.so.10
 libdl.so.2
-libecpg.so.6
-libedit.so.0
-libexslt.so.0
-libffi.so.6
 libfreebl3.so
+libgcc_s.so.1
 libgssapi_krb5.so.2
 libk5crypto.so.3
 libkeyutils.so.1
 libkrb5.so.3
 libkrb5support.so.0
-liblzma.so.5
 libm.so.6
-libncurses.so.5
-libncursesw.so.5
 libpcre.so.1
-libpgtypes.so.3
-libpq.so.5
 libpthread.so.0
 libresolv.so.2
 librt.so.1
 libruby.so.2.4
 libsasl2.so.3
 libselinux.so.1
-libssl.so.1.0.0
-libtinfo.so.5
-libtinfow.so.5
+libssl.so.10
 libutil.so.1
-libxml2.so.2
-libxslt.so.1
-libyaml-0.so.2
 libz.so.1
 linux-vdso.so.1

PostgreSQL related libraries aren't needed but still some libraries are missing.

e.g.)

libedit, libtinfo:

/embedded/lib/ruby/2.4.0/x86_64-linux/readline.so:
        ...
        libedit.so.0 => /opt/td-agent/embedded/lib/libedit.so.0 (0x00007efbf748c000)
        libtinfo.so.5 => /opt/td-agent/embedded/lib/libtinfo.so.5 (0x00007efbf7258000)

liblzma, libxml2:

/embedded/lib/ruby/gems/3.4.0/extensions/x86_64-linux/2.4.0/nokogiri-1.10.9/nokogiri/nokogiri.so:
        ...
        libexslt.so.0 => /opt/td-agent/embedded/lib/libexslt.so.0 (0x00007efbf7497000)
        libxslt.so.1 => /opt/td-agent/embedded/lib/libxslt.so.1 (0x00007efbf7257000)
        libxml2.so.2 => /opt/td-agent/embedded/lib/libxml2.so.2 (0x00007efbf6ef0000)
        libz.so.1 => /opt/td-agent/embedded/lib/libz.so.1 (0x00007efbf6cd9000)
        liblzma.so.5 => /opt/td-agent/embedded/lib/liblzma.so.5 (0x00007efbf6ab4000)
        ....

libyaml:

/embedded/lib/ruby/2.4.0/x86_64-linux/psych.so:
        ...
        libyaml-0.so.2 => /opt/td-agent/embedded/lib/libyaml-0.so.2 (0x00007efbf749f000)
        ...

from fluent-package-builder.

cosmo0920 avatar cosmo0920 commented on September 25, 2024

With #34, debian-buster and ubuntu-boinic's librdkafka.so also do not depend on zstd and lz4:

debian-buster:

vagrant@buster:/vagrant/apt/repositories/debian/pool/buster/main/t/td-agent$ ldd /opt/td-agent/lib/ruby/gems/2.4.0/gems/rdkafka-0.7.0/ext/librdkafka.so
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
	linux-vdso.so.1 (0x00007ffc417c1000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ac995c000)
	libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f0ac98ca000)
	libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f0ac95e1000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0ac93c3000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ac93be000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0ac939d000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0ac9391000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ac91d0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0ac9c1d000)

ubuntu-bionic:

vagrant@buster:/vagrant/apt/repositories/ubuntu/pool/bionic/universe/t/td-agent$ ldd /opt/td-agent/lib/ruby/gems/2.4.0/gems/rdkafka-0.7.0/ext/librdkafka.so
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
	linux-vdso.so.1 (0x00007ffdeabd2000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f97f500d000)
	libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f97f4f7b000)
	libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f97f4c92000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f97f4a74000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f97f4a6f000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f97f4a4e000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f97f4a42000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f97f4881000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f97f54cd000)

from fluent-package-builder.

ashie avatar ashie commented on September 25, 2024

I've checked all dependencies and all features of Ruby & gems, they looks good to me.
Note that libxml dependency is intentionally removed.
See also: fluent/fluent-plugin-windows-eventlog#55

from fluent-package-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.