<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Hi Tobias --<div><br></div><div>><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Should we hence put a category of well-known system library names</span></div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">> into primitives with default names as fallback?</span><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Hmm... can this info already be retrieved from other VM parameters already accessible? See </span><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">CStandardLibrary class >> #guessModuleName for the current "magic". It uses the following VM attributes:</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">1001 #platformName</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">1002 #osVersion</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">1003 #platformSubtype</span></div><div><br></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Best,</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Marcel</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div class="mb_sig"></div>
<blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
<p style="color: #AAAAAA; margin-top: 10px;">Am 05.09.2021 21:09:38 schrieb Tobias Pape <das.linux@gmx.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">Hi
<br>
<br>
<br>> On 5. Sep 2021, at 18:37, gettimothy <gettimothy@zoho.com> wrote:
<br>>
<br>> root@tinker:~# file /usr/lib64/libc.so
<br>> /usr/lib64/libc.so: ASCII text
<br>> root@tinker:~# ldd /usr/lib64/libc.so
<br>> not a dynamic executable
<br>> root@tinker:~#
<br>>
<br>>
<br>> hmmm!
<br>
<br>Yep!
<br>
<br>According to
<br> https://stackoverflow.com/questions/34879686/loading-gnu-ld-script-with-dlopen
<br>and
<br> https://sourceware.org/legacy-ml/libc-alpha/2011-07/msg00152.html
<br>
<br>It would probably a good Idea to expose the contents of gnu/lib-names.h
<br>in case we are on a GNU-Libc system (like RHEL/Debian based as opposed to
<br>eg, musl-based systems such as Arch, or any other Unix for that matter).
<br>
<br>Should we hence put a category of well-known system library names
<br>into primitives with default names as fallback?
<br>
<br>such as
<br>
<br>UnixFFI class>>libcName
<br> <primitive: 'primitivelibcname'="" module:="" 'squeakffi'=""> "or something"
<br> ^ 'libc.so' "unixy default"
<br>
<br>(I'm making thinks up as I go…)
<br>
<br>-t
<br>
<br>>
<br>>
<br>> I then checked in /lib64/ and found
<br>>
<br>> /lib64/libc.so.6
<br>>
<br>> I put that in the preferences and all is good.
<br>>
<br>> Thank you for your help!
<br>>
<br>>
<br>>
<br>>
<br>>
<br>>
<br>> ---- On Sun, 05 Sep 2021 11:53:57 -0400 Tobias Pape <das.linux@gmx.de> wrote ----
<br>>
<br>> Hi
<br>>
<br>>
<br>> > On 5. Sep 2021, at 17:37, gettimothy via Squeak-dev <squeak-dev@lists.squeakfoundation.org> wrote:
<br>> >
<br>> > Howdy,
<br>> >
<br>> >
<br>> > Thanks for the advice.
<br>> >
<br>> > I did as you suggested.
<br>> >
<br>> > Runing squeak.sh I just noticed the following in the xterm from which I launced it:
<br>> >
<br>> >
<br>> > /usr/lib64/libc.so tryLoading //usr/lib64/libc.so: dlopen: //usr/lib64/libc.so: invalid ELF header
<br>> >
<br>> > I have no idea
<br>> >
<br>> >
<br>> > I removed the leading '/' due to the dlopen: // message, but same result different output.
<br>> >
<br>> > usr/lib64/libc.so tryLoading /usr/lib64/libc.so: dlopen: /usr/lib64/libc.so: invalid ELF header
<br>>
<br>>
<br>> what does
<br>> file /usr/lib64/libc.so
<br>> and
<br>> ldd /usr/lib64/libc.so
<br>> say?
<br>>
<br>> Best regards
<br>> -Tobias
<br>> > cheers.
<br>> >
<br>> >
<br>> >
<br>> > ---- On Sun, 05 Sep 2021 10:27:57 -0400 Marcel Taeumel <marcel.taeumel@hpi.de> wrote ----
<br>> >
<br>> > Hmm... you might want to try a fully qualified path? At least that's required in Ubuntu ... if you have an idea on how to improve CStandardLibrary class >> #guessModuleName, feel free to share it here. :-)
<br>> >
<br>> > Do other libraries load through FFI?
<br>> >
<br>> > Best,
<br>> > Marcel
<br>> >
<br>> > Am 01.09.2021 20:11:13 schrieb gettimothy via Squeak-dev <squeak-dev@lists.squeakfoundation.org>:
<br>> >
<br>> > I forgot to mention that I changed the entry in Preferences -> FFI Libraries -> C runtime/standard library (aka.CRT and libc) from the original libc.so.6 to my systems' libc.soC standard library not available. Please check module name in preferences.
<br>> >
<br>> >
<br>> > ls /usr/lib64/libc.*
<br>> >
<br>> > /usr/lib64/libc.a /usr/lib64/libc.s
<br>> >
<br>> >
<br>> >
<br>> > cheers.
<br>> >
<br>> >
<br>> > ---- On Wed, 01 Sep 2021 14:03:39 -0400 gettimothy via Squeak-dev <squeak-dev@lists.squeakfoundation.org> wrote ----
<br>> >
<br>> > Hi folks
<br>> >
<br>> >
<br>> > I downloaded the latest Squeak from trunk (looking good btw, and very fast)
<br>> >
<br>> > After installation and adding the options in the wizard, I am getting:
<br>> >
<br>> > C standard library not available. Please check module name in preferences.
<br>> >
<br>> > Error: External module not found
<br>> >
<br>> >
<br>> >
<br>> > I am running Slackware Linux 64. Slackware has an oddity about it in that the core libraries are in /lib64 instead of /lib in case you suspect its a path issue.
<br>> >
<br>> >
<br>> >
<br>> > About Squeak stuff follows:
<br>> >
<br>> > Image
<br>> > -----
<br>> > /home/wm/usr/src/smalltalk/SqueakBooks/shared/Squeak6.0alpha-20582-64bit.image
<br>> > Squeak6.0alpha
<br>> > latest update: #20611
<br>> > Current Change Set: HomeProject
<br>> > Image format 68021 (64 bit)
<br>> > Preferred bytecode set: SistaV1
<br>> >
<br>> > Virtual Machine
<br>> > ---------------
<br>> > /home/wm/usr/src/smalltalk/SqueakBooks/bin/squeak
<br>> > Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-nice.2715]
<br>> > Unix built on Mar 3 2020 08:27:09 Compiler: 4.2.1 Compatible Clang 7.0.0 (tags/RELEASE_700/final)
<br>> > platform sources revision VM: 202003021730 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Mon Mar 2 18:30:55 2020 CommitHash: 6a0bc96 Plugins: 202003021730 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
<br>> > CoInterpreter VMMaker.oscog-nice.2715 uuid: 78e2f556-9829-42fe-963d-e19dfc43c0e9 Mar 3 2020
<br>> > StackToRegisterMappingCogit VMMaker.oscog-eem.2719 uuid: e40f3e94-3a54-411b-9613-5d19114ea131 Mar 3 2020
<br>> >
<br>> > To Build A Similar Virtual Machine
<br>> > ----------------------------------
<br>> > Visit https://github.com/OpenSmalltalk/opensmalltalk-vm; follow the
<br>> > "Clone or download" instructions, then read the top-level README.md
<br>> > and HowToBuild files in the top-level build directory for your
<br>> > platform(s), build.macos64x64/HowToBuild, build.win32x86/HowToBuild, etc.
<br>> >
<br>> > Virtual Machine Commandline Options
<br>> > -----------------------------------
<br>> > #1 -encoding
<br>> > #2 UTF-8
<br>> > #3 -vm-sound-pulse
<br>> > #4 /home/wm/usr/src/smalltalk/SqueakBooks/shared/Squeak6.0alpha-20582-64bit.image
<br>> >
<br>> > Loaded VM Modules
<br>> > -----------------
<br>> > B2DPlugin VMMaker.oscog-eem.2719 (i)
<br>> > BitBltPlugin VMMaker.oscog-eem.2719 (i)
<br>> > CroquetPlugin VMMaker.oscog-eem.2673 (i)
<br>> > FilePlugin VMMaker.oscog-eem.2673 (i)
<br>> > FloatArrayPlugin VMMaker.oscog-eem.2673 (i)
<br>> > LargeIntegers v2.0 VMMaker.oscog-eem.2719 (i)
<br>> > Matrix2x3Plugin VMMaker.oscog-eem.2673 (i)
<br>> > MiscPrimitivePlugin VMMaker.oscog-eem.2692 (i)
<br>> > SecurityPlugin VMMaker.oscog-eem.2673 (i)
<br>> > SocketPlugin VMMaker.oscog-eem.2673 (i)
<br>> > SqueakFFIPrims
<br>> > SurfacePlugin Mar 3 2020 (i)
<br>> > UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.66 (e)
<br>> >
<br>> > Operating System/Hardware
<br>> > -------------------------
<br>> > unix linux-gnu x86_64
<br>> >
<br>> >
<br>> > thx in advance.
<br>> >
<br>> >
<br>> >
<br>> >
<br>> >
<br>> >
<br>> >
<br>>
<br>>
<br>>
<br>>
<br>
<br>
<br></squeak-dev@lists.squeakfoundation.org></squeak-dev@lists.squeakfoundation.org></marcel.taeumel@hpi.de></squeak-dev@lists.squeakfoundation.org></das.linux@gmx.de></primitive:></gettimothy@zoho.com></div></blockquote></div>