missing libs for shared memory management in startstop

6 views
Skip to first unread message

h...@chalmers.se

unread,
Mar 6, 2026, 4:16:47 PM (3 days ago) Mar 6
to Earthworm Community Forum
This thread branched off from my previous subject "compiling q330ew"
startstop immediately stops at the point where is is to find and use shared memory. 
It seems the library for this is missing under linux /usr/lib (linux 10.04)
   startstop: Using config file startstop_unix.d
   ERROR: tport_create shmget (22; Invalid argument) Region: 2000

Searching on the web I found no 

h...@chalmers.se

unread,
Mar 6, 2026, 5:06:22 PM (3 days ago) Mar 6
to Earthworm Community Forum
This thread branched off from my previous subject "compiling q330ew"
startstop immediately stops at the point where is is to find and use shared memory.

   startstop: Using config file startstop_unix.d
   ERROR: tport_create shmget (22; Invalid argument) Region: 2000


Searching on the web I found no hint to a package. On the Raspberry Pi at home, however, I found a dynamic library
  nm -D /usr/lib/arm-linux-gnueabihf/libc-2.28.so 
  000d8f18 T shmat 000d8fe8 T shmctl 000d8f5c T shmdt 000d8fa0 T shmget
and on a ten ytears old linux uname -a
  Linux holt.oso.chalmers.se 3.2.0-94-generic #134-Ubuntu SMP Fri Nov 6 18:16:45 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
there is 
  nm  debug/lib/x86_64-linux-gnu/libc-2.15.so | fgrep shm
 00000000000f84a0 t __GI___shmat
 00000000000f8530 t __GI___shmctl
 00000000000f84d0 t __GI___shmdt
 00000000000f8500 t __GI___shmget
 00000000000f84a0 t __GI_shmat
 00000000000f8530 t __GI_shmctl
 00000000000f84d0 t __GI_shmdt
 00000000000f8500 t __GI_shmget
 00000000000f84a0 t __shmat
 00000000000f8530 t __shmctl
 00000000000f84d0 t __shmdt
 00000000000f8500 t __shmget
 00000000000f84a0 W shmat
 00000000000f8530 W shmctl
 00000000000f84d0 W shmdt
 00000000000f8500 W shmget

that might open a track. 
From where are the subroutines taken when the build succeeds?
Is anyone in the position to share the equivalent for the amd architecture? 

For EW 8.10 to build on my linux ubuntu machine there is
 nm /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so | fgrep shm
 0000000000123800 t __new_shmctl
 0000000000123770 T shmat
 0000000000123800 T shmctl@@GLIBC_2.2.5 (!)
 00000000001237a0 T shmdt
 00000000001237d0 T shmget

but that debug lib is not searched in the makefiles. If they could step in at all.
The *.h's, the respective mains employing shared memory, and the if-defined's must be included/coded up too. That's beyond my competence.  

What I did in the build?
After the first makes many ELFs, libs, and *.o files were found unchanged since 2009 (2015). So I removed them all and compiled everything anew. That didn't change startstop to abort. 
I can try next to put /usr/lib/debug/lib/x86_64-linux-gnu on the LD_LIRARY_PATH - with limited expectation a propo debug and the flagged @@GLIB_2.2.5.
Welcoming any helping hand /HGS

PS Apologies for a sudden first misclick on the Post button.

Larry Baker

unread,
Mar 6, 2026, 5:27:25 PM (3 days ago) Mar 6
to h...@chalmers.se, Larry Baker, earthwo...@googlegroups.com
HGS,

After the first makes many ELFs, libs, and *.o files were found unchanged since 2009 (2015). So I removed them all and compiled everything anew.

You absolutely should recompile everything when you update your OS environment.  Make is not smart enough to know the dependencies of library version numbers or files compiled with 32-bit vs. 64-bit compilers.

I do the following every time I make Earthworm on Ubuntu (rev is the revision from the Earthworm source repository; you can use whatever you want in place of the -${EW_REV} suffix, or use none at all if you are using the Earthworm source distribution kit):

$ cd ~/Software/Earthworm
$ export EW_REV=rev
$ rm -r earthworm-7.10-${EW_REV}
$ tar -xjf earthworm-7.10-${EW_REV}-src.tar.bz2

$ ARCH=`uname -m`
$ EW_INSTALL_HOME="`pwd`" \
  EW_INSTALL_VERSION=earthworm-7.10-${EW_REV} \
  EW_INSTALL_BITS=64 \
  source earthworm-7.10-${EW_REV}/environment/ew_linux.bash
$ cd earthworm-7.10-${EW_REV}/src
$ make clean_unix 2>&1 | grep '[*][*][*]'
$ make clean_bin_unix 2>&1 | grep '[*][*][*]'
$ make unix &>../../make-ubuntu-${ARCH}-${EW_BITS}.log
$ tail ../../make-ubuntu-${ARCH}-${EW_BITS}.log
$ grep -i ': err' ../../make-ubuntu-${ARCH}-${EW_BITS}.log
$ grep '[*][*][*]' ../../make-ubuntu-${ARCH}-${EW_BITS}.log

--
--
You received this message because you are subscribed to the Google
Groups "Earthworm Community Forum" group.
 
To post to this group, send an email to earthwo...@googlegroups.com
 
To unsubscribe from this group, send an email to
earthworm_for...@googlegroups.com
 
For more options, visit this group at
http://groups.google.com/group/earthworm_forum?hl=en

---
You received this message because you are subscribed to the Google Groups "Earthworm Community Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to earthworm_for...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/earthworm_forum/d33c56a6-1914-446f-8ef8-6e1e48349d31n%40googlegroups.com.

h...@chalmers.se

unread,
Mar 7, 2026, 5:40:57 PM (2 days ago) Mar 7
to Earthworm Community Forum
Larry Baker,
thanks for your recipe. I had to change a few things: Tried to find a src tarball  -1ubuntu1 on gitlab, couldn't but didn't care too much since it's probably destined for Linux 20.* Used https://folkworm.ceri.memphis.edu/ew-dist/v7.10.1/earthworm_7.10.1-src.tgz instead.
The details of the installation can be seen in the attachment.  
All Linux-gnu libraries were found. startstop came up with just a few warnings/errors that look amendable. 
The error preventing startstop to work two days ago was owed to a straycat library  /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.19.so  that couldn't provide the shared memory subroutines.  
I took it away before I installed 7.10.1 else I'd have had the same trouble again. 
The high hurdle is taken, the issue solved thanks to your kind help. This not withstanding, please have a look at the attachment. 
Best regards /HGS

Mailto-Larry-Baker.txt

Larry Baker

unread,
Mar 7, 2026, 6:42:30 PM (2 days ago) Mar 7
to h...@chalmers.se, Larry Baker, earthwo...@googlegroups.com
HGS,

The attachment looks reasonable to me.

All Linux-gnu libraries were found. startstop came up with just a few warnings/errors that look amendable. 

I see Zombies in the status.  Have a look at the log files for those modules.  You might have errors in the .d or .desc files.  They could have changed since EW 7.8.  Look in the params directory (I think) in the distribution kit for example .d files that should match the modules in the kit.


Mailto-Larry-Baker.txt
Reply all
Reply to author
Forward
0 new messages