2025年6月8日 星期日

Install CustomExplorer









1. Download

We need to download the newest version of CustomExplorer. The downloaded file
name is:

customexplorer_2024.09-sp2_linux.tgz


2. Extract & Install

We need to use root permission to run:

# tar xfva customexplorer_2024.09-sp2_linux.tgz -C /opt/EDA

It will extract it to /opt/EDA/customexplorer

3. Config Env.

CustomExplorer="/opt/EDA/customexplorer/cur/bin"

export PATH=$PATH:$CustomExplorer

LM_LICENSE_FILE=26585@lstn
export LM_LICENSE_FILE

4. Test

$ cx 

5. Trouble Shooting

$ cx
  'spice_explorer' license is checked out for WaveView ADV feature.
Info: Could not load the Qt platform plugin "xcb" in "" even though it was found. (:0, )
Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, webgl, xcb.
 (:0, )

Since we can not use Ctrl+c to quit this command. We need to use kill command
to kill the PID of cx.

$/# ps aux |grep cx
# ps aux|grep cx
herman    266633  0.0  0.0   7420  3428 pts/9    S+   10:02   0:00 /bin/bash /opt/EDA/customexplorer/cur/bin/cx
root      268047  0.0  0.0   6688  2212 pts/4    S+   10:09   0:00 grep cx


We can see the PID of cx command is 266633. Then we can use the following
command to kill this process:

$/# kill -9 266633

The we can run :

$ ls -lt |more
total 349532
-rw-r--r--  1 herman herman      4096  425 10:02 sxcmd.log
..

There is a file called sxcmd.log which is the running log of cx.

We can check the contents inside:

### WaveView ADV log file, revision W-2024.09-SP1 (build Nov 27, ) ###
### created at 10:02:33 on Fri Apr 25 2025 (Linux AMD64) ###
### Host Name: f6018-15   User ID: herman   PID: 266652   ###
wv_start_log
# (0) running in waveview only mode
# (0) SW_SX_PERL_LIB defined
# (0) SW_SX_TCL_LIB defined
# (0) HOME defined
# (0) # TYPE S abort
# (0) # memory usage 433.99MB
# (0) 0x910945 /opt/EDA/customexplorer/cur/platforms/linux64/bin/wv() [0x910945]
# (0) 0x910EE5 /opt/EDA/customexplorer/cur/platforms/linux64/bin/wv() [0x910ee5]
# (0) 0x4B65B04F /lib/x86_64-linux-gnu/libc.so.6(+0x3c04f) [0x7ff74b65b04f]
# (0) 0x4B6A9EEC /lib/x86_64-linux-gnu/libc.so.6(+0x8aeec) [0x7ff74b6a9eec]
# (0) 0x4B65AFB1 /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x11) [0x7ff74b65afb1]
# (0) 0x4B645471 /lib/x86_64-linux-gnu/libc.so.6(abort+0xd2) [0x7ff74b645471]
# (0) 0x4889C9BE /opt/EDA/customexplorer/cur/platforms/linux64/lib/libQt5Core.so.5(_ZNK14QMessageLogger5fatalEPKcz+0xb6) [0x7ff74889c9be]
# (0) 0x491313C2 /opt/EDA/customexplorer/cur/platforms/linux64/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate25createPlatformIntegrationEv+0x18f2) [0x7ff7491313c2]
# (0) 0x4913182F /opt/EDA/customexplorer/cur/platforms/linux64/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate21createEventDispatcherEv+0x2f) [0x7ff74913182f]
..

We can see that the cx command is actually 

/opt/EDA/customexplorer/cur/platforms/linux64/bin/wv


Then we can check this file:

$ cd /opt/EDA/customexplorer/cur/platforms/linux64/bin/
/opt/EDA/customexplorer/cur/platforms/linux64/bin $ ls wv
-rwxr-xr-x 1 herman herman 44596312 1127 09:16 wv

/opt/EDA/customexplorer/cur/platforms/linux64/bin $ file wv
wv: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, stripped

We can us ldd command to check the dynamically linked file (library) for wv:

/opt/EDA/customexplorer/cur/platforms/linux64/bin # ldd wv
	linux-vdso.so.1 (0x00007fffc73bc000)
	libNPI.so => not found
	libndna.so => not found
	libnffr.so => not found
	libnffw.so => not found
	libnsys.so => not found
	libvirtuos_sh.so => not found
	libcdsCommon_sh.so => not found
	libfastt_sh.so => not found
	libcls_sh.so => not found
	libcdsenvutil.so => not found
	libcdsenvxml.so => not found
	libblosc.so.1 => not found
	libz_sh.so => not found
	libpsf.so => not found
	libsrr.so => not found
	libQt5Gui.so.5 => not found
	libQt5Core.so.5 => not found
	libQt5Sql.so.5 => not found
	libQt5Xml.so.5 => not found
	libQt5Widgets.so.5 => not found
	libQt5Svg.so.5 => not found
	libQt5X11Extras.so.5 => not found
	libQt5Network.so.5 => not found
	libicui18n.so.60 => not found
	libicuuc.so.60 => not found
	libicudata.so.60 => not found
	libssl.so.1.1 => not found
	libcrypto.so.1.1 => not found
	libXmu.so.6 => /lib/x86_64-linux-gnu/libXmu.so.6 (0x00007f4219874000)
	libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f4219829000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4219822000)
	libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007f421980e000)
	libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f4219801000)
	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f42196bf000)
	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f4219695000)
	libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f4219680000)
	libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f42195b4000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f42195a7000)
	libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x00007f421959c000)
	libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x00007f421957e000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4219200000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4219579000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4219572000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4219492000)
	libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f4219054000)
	libNCX.so => not found
	libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f4218ef5000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4218d14000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f42198ae000)
	libXt.so.6 => /lib/x86_64-linux-gnu/libXt.so.6 (0x00007f4219426000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f4218ce9000)
	libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f4219421000)
	libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f4218a00000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4218cca000)
	libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f4218c94000)
	libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f4218c87000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f4218c7d000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f4218c67000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4218c47000)
	libicuuc.so.72 => /lib/x86_64-linux-gnu/libicuuc.so.72 (0x00007f4218802000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f4218c18000)
	libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f42187df000)
	libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f4218c0b000)
	libicudata.so.72 => /lib/x86_64-linux-gnu/libicudata.so.72 (0x00007f4216a00000)



Now, we can find missing DLLs from packages.debian.org

libQt5Gui.so.5 ->	libqt5gui5
libQt5Sql.so.5 -> 	libqt5sql5
libQt5Xml.so.5 ->	libqt5xml5


We can install the missing files and verify it again:

# apt-get install libqt5gui5 libqt5sql5 libqt5xml5


We can find the rest of the missing files to run cx

	libNPI.so => not found
	libndna.so => not found
	libnffr.so => not found
	libnffw.so => not found
	libnsys.so => not found
	libvirtuos_sh.so => not found
	libcdsCommon_sh.so => not found
	libfastt_sh.so => not found
	libcls_sh.so => not found
	libcdsenvutil.so => not found
	libcdsenvxml.so => not found
	libblosc.so.1 => not found
	libz_sh.so => not found
	libpsf.so => not found
	libsrr.so => not found

All these files can not be found in packages.debian.org. However, you can
find these files using the following commands:

# cd /opt/EDA/customexplorer/cur
/opt/EDA/customexplorer/cur # find ./ -name libNPI.so
./platforms/linux64/lib/libNPI.so

/opt/EDA/customexplorer/cur # find ./ -name libndna.so
./platforms/linux64/lib/libndna.so

and so on..

Thus, all these files are included in CustomExplorer. We don't need to install
it manually.

沒有留言:

張貼留言