0
votes

I just did

1.download omnetpp-5.5.1-src-windows.zip

2.unzip it

3.run mingwenv.cmd

4.configure&make

5.run omnetpp

6.Check the "Install INET ..." Checkbox (It checked by default)

7.Go to inet/tutorials/wireless/omnetpp.ini ,Click run

Failed.

Summarize, I didn't change anything, I just download and run the tutorials of inet.

OMNeT++ Discrete Event Simulation  (C) 1992-2019 Andras Varga, OpenSim Ltd. Version: 5.5.1, build: 190613-08ba16f914, edition: Academic Public License -- NOT FOR COMMERCIAL USE See the license for distribution terms and warranty disclaimer


<!> Error: Cannot load library '../../src//libINET.dll': 找不到指定的程序?

End.

Simulation terminated with exit code: 1 Working directory: E:/omnetpp-5.5.1/samples/inet/tutorials/wireless Command line: ../../../../bin/opp_run.exe -m -n ../../src;../../examples;..;../../showcases --image-path=../../images
-l ../../src/INET omnetpp.ini

Environment variables: PATH=;E:/omnetpp-5.5.1/samples/inet/src;E:\omnetpp-5.5.1\bin;E:\omnetpp-5.5.1\tools\win64\mingw64\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;;E:/omnetpp-5.5.1/ide/jre/bin/server;E:/omnetpp-5.5.1/ide/jre/bin;E:/omnetpp-5.5.1/ide/jre/lib/amd64;.;E:\omnetpp-5.5.1\bin;E:\omnetpp-5.5.1\tools\win64\mingw64\bin;E:\omnetpp-5.5.1\tools\win64\usr\local\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\omnetpp-5.5.1\tools\win64\usr\bin\site_perl;E:\omnetpp-5.5.1\tools\win64\usr\bin\vendor_perl;E:\omnetpp-5.5.1\tools\win64\usr\bin\core_perl;E:\omnetpp-5.5.1; OMNETPP_ROOT=E:/omnetpp-5.5.1/ OMNETPP_IMAGE_PATH=E:\omnetpp-5.5.1\images

Run failed screenshot

I ran it in the commandline it's the same error message too.

Run in command line

Actually it is not the winpcap problem, because I googled about that all the answer said to install winpcap but I tried it doesn't works. And those situation are unable to build inet.

BUT!!!! On my situation, omnetpp and inet all are build SUCCEED! SO actually I had this file(libINET.dll). So this point it is sooo strange.

21:04:19 **** Incremental Build of configuration release for project inet ****
make MODE=release -j4 all 
cd src && /usr/bin/make
make[1]: Entering directory '/e/omnetpp-5.5.1/samples/inet/src'
*** COMPILING with:
clang++ -c -std=c++11 -O3 -DNDEBUG=1 -MMD -MP -MF .d    -isystem /usr/include -isystem /mingw64/include -Wno-deprecated-register -Wno-unused-function -fno-stack-protector  -DXMLPARSER=libxml -DPREFER_QTENV -DWITH_QTENV -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -DINET_EXPORT -Wno-overloaded-virtual -include inet/common/precompiled_release.h  -DINET_EXPORT -I. -IE:/omnetpp-5.5.1/include
*** LINKING with:
clang++ -shared  -o ../out/clang-release/src/libINET.dll -Wl,--no-as-needed -Wl,--whole-archive  -lws2_32 -Wl,--no-whole-archive -loppenvir -loppsim -lstdc++  -losg -losgText -losgDB -losgGA -losgViewer -losgUtil -lOpenThreads  -losgEarth -losgEarthUtil  -Wl,-rpath,E:/omnetpp-5.5.1/lib -Wl,-rpath,E:/omnetpp-5.5.1/tools/win64/lib -Wl,-rpath,. -L/usr/bin -L/usr/lib -L/mingw64/lib -LE:/omnetpp-5.5.1/lib
Building...
make[1]: Nothing to be done for 'all-pch'.
make[1]: Leaving directory '/e/omnetpp-5.5.1/samples/inet/src'

21:04:22 Build Finished. 0 errors, 0 warnings. (took 3s.519ms)

libINET.dll in Windows Explorer

libINET.dll is existed

But I can run tictok. So I think omnet++ is works and only Inet doesn't works.

tictok is works fine

I checked my %PATH% it is normal.

echo %PATH%

I am using Windows 7 64bit. In fect I did the same step in a fresh installed same version of win7 or win10 on a virtual machine everything work fine.

Of cause I tried rebuild remake everything even redownload the omnet++ package.

And I also checked everything about my operating system seems no problem and other softwares in my OS all are work fine.

So what can I do and what should I do now?

Thanks!

1

1 Answers

0
votes

Process Monitor Screenshot

Finally I solved this problem by using Process Monitor to analyse what dll it loaded. Left side is not working and right side is woking fine in a virtual machine.

I found the difference is the final DLL it loaded is libeay32.dll, from SYSTEM32, and then crashed. And in the working VM it loads from omnet++ own folder, and continue loads others dll.

So I found a wrong version of libeay32.dll in system32 and it is installed by other software. This is a OpenSSL dll and a software use OpenSSL and it put the old version of OpenSSL in SYSTEM32 while it installed. So I just delete the libeay32.dll from SYSTEM32 and everything works fine now.