missed files while building veins_inet - omnet++

I'm using inet4 omnet5.5.1 veins5 I imported veins_inet in the workspace but it doesn't build successfully even though I added the paths to inet and veins src files in project properties I got the following error:
15:29:41 **** Incremental Build of configuration gcc-debug for project veins_inet ****
make MODE=debug all
make[1]: Entering directory '/home/nai/omnetpp-5.5.1/myWorkspace/veins_inet/src'
Creating shared library: ../out/gcc-debug/src/libveins_inet_dbg.so
/usr/bin/ld: cannot find -lINET_dbg
Makefile:141: recipe for target '../out/gcc-debug/src/libveins_inet_dbg.so' failed
make[1]: Leaving directory '/home/nai/omnetpp-5.5.1/myWorkspace/veins_inet/src'
Makefile:36: recipe for target 'all' failed
/usr/bin/ld: cannot find -lveins_dbg
collect2: error: ld returned 1 exit status
make[1]: *** [../out/gcc-debug/src/libveins_inet_dbg.so] Error 1
make: *** [all] Error 2
"make MODE=debug all" terminated with exit code 2. Build might be incomplete.
15:29:43 Build Failed. 6 errors, 0 warnings. (took 1s.693ms)
apparently some required files are missing
how to fix this please

You might be building this project in debug mode, but not building the other projects in debug mode.

Related

Error when building omnet++ with inet project

I have error messages when try to build project using omnet++ with inet
15:56:39 **** Incremental Build of configuration release for project
FirstProject ****
make MODE=release all
cd src && /usr/bin/make
make[1]: Entering directory '/c/omnetpp-5.6.2/samples/FirstProject/src'
Creating executable: ../out/clang-release/src/FirstProject.exe
C:\omnetpp-5.6.2\tools\win64\mingw64\bin\ld: cannot find -lINET
clang++.exe: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [Makefile:101: ../out/clang-release/src/FirstProject.exe]
Error 1
make[1]: Leaving directory '/c/omnetpp-5.6.2/samples/FirstProject/src'
make: *** [Makefile:2: all] Error 2
"make MODE=release all" terminated with exit code 2. Build might be
incomplete.
15:56:40 Build Failed. 3 errors, 0 warnings. (took 1s.125ms)
Did you check that Inet is correctly referenced in your FirstProject?
Right Click on First Project - > Properties - > Project References - > Mark Inet.
Another reason can be an error compiling Inet.
I solved the problem by installing clang,clang++

Error when building simuLTE with MODE=release

In order to run the simulation faster, I am trying to build simuLTE in release mode as can be achieved for veins.
user#user-VirtualBox:~/simulte_veins/simulte$ make MODE=release
make[1]: Entering directory '/home/user/simulte_veins/simulte/src'
Creating shared library: ../out/gcc-release/src/liblte.so
/usr/bin/ld: cannot find -lINET
/usr/bin/ld: cannot find -lveins_inet
collect2: error: ld returned 1 exit status
Makefile:275: recipe for target '../out/gcc-release/src/liblte.so' failed
make[1]: *** [../out/gcc-release/src/liblte.so] Error 1
make[1]: Leaving directory '/home/user/simulte_veins/simulte/src'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 2
I have tried appending ~/.bashrc with INET and veins_inet paths as observed from the MAKEFILE under lte/src/ in the following manner:
export veins_inet=$HOME/simulte_veins/veins-veins-4.6/subprojects/veins_inet/out/gcc-debug/src:$PATH
export INET=$HOME/inet/out/gcc-debug/src:$PATH
I also tried updating $PATH directly by adding INET and veins_inet paths but to no avail.
Where am I going wrong?
Do I need to build INET and veins_inet in release mode before building lte?
I even tried building INET in MODE=release and I encountered the same error
/usr/bin/ld: cannot find -lINET
I am using OMNeT++ 5.1.1;veins 4.6;sumo 0.30.0;simulte v1.0.1
Similar issue was raised here. However, I am not sure if I should try to link the .so file in their respective directories again to -lINET and -lveins_inet respectively. Can anybody advise me?
If the build works for the debug version, but not for the release version, then you have not compiled release version libraries for INET and VEINS_INET. Go to their respective dirs and build those components, too.

Cannot find a link library (lNrrdIO)

I am trying to install NrrdIO on Ubuntu 18.04, to run Marching Cubes to segment medical images. This is the link from which I'm trying to run it.
http://web.cse.ohio-state.edu/research/graphics/isotable/
I'm trying to install ijkmcube-v0-3-3.tar, which requires the ITKNrrdIO.a library. I'm running into this error:
[ 7%] Linking CXX executable ijkmcube
/usr/bin/ld: cannot find -lNrrdIO
collect2: error: ld returned 1 exit status
CMakeFiles/ijkmcube.dir/build.make:406: recipe for target 'ijkmcube' failed
make[2]: *** [ijkmcube] Error 1
CMakeFiles/Makefile2:131: recipe for target 'CMakeFiles/ijkmcube.dir/all' failed
make[1]: *** [CMakeFiles/ijkmcube.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I've installed NrrdIO 1.11.0, and tried with NrrdIO 1.9.0 as well, but while running
make
I always run into this error, for some reason its not able to find lNrrdIO . Can someone please help?
Thanks
Edit:
I think its a problem with the linking, but when I copied the NrrdIO.a file to /usr/bin and modified the symbolic link to point to it, I got an error as follows:
[ 7%] Linking CXX executable ijkmcube
collect2: fatal error: cannot find 'ld'
compilation terminated.
CMakeFiles/ijkmcube.dir/build.make:406: recipe for target 'ijkmcube'
failed
make[2]: *** [ijkmcube] Error 1
CMakeFiles/Makefile2:131: recipe for target '
CMakeFiles/ijkmcube.dir/all' failed
make[1]: *** [CMakeFiles/ijkmcube.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Can someone help? Thank you
Edit 2
PROJECT(IJKMCUBE)
#---------------------------------------------------------
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF (NOT DEFINED ${IJK_DIR})
GET_FILENAME_COMPONENT(IJK_ABSOLUTE_PATH "../.." ABSOLUTE)
SET(IJK_DIR ${IJK_ABSOLUTE_PATH} CACHE PATH "IJK directory")
ENDIF (NOT DEFINED ${IJK_DIR})
SET(CMAKE_INSTALL_PREFIX "${IJK_DIR}/")
SET(LIBRARY_OUTPUT_PATH ${IJK_DIR}/lib CACHE PATH "Library directory")
SET(IJKMCUBE_DIR "src/ijkmcube")
SET(NRRD_LIBDIR "${IJK_DIR}/lib")
SET(IJK_ISOTABLE_DIR "${IJK_DIR}/isotable" CACHE PATH "Isotable
directory")
#---------------------------------------------------------
IF (NOT CMAKE_BUILD_TYPE)
SET (CMAKE_BUILD_TYPE Release CACHE STRING
"Default build type: Release" FORCE)
ENDIF (NOT CMAKE_BUILD_TYPE)
INCLUDE_DIRECTORIES("${IJK_DIR}/include")
LINK_DIRECTORIES("${NRRD_LIBDIR}")
LINK_LIBRARIES(expat NrrdIO z)
ADD_DEFINITIONS(-DIJK_ISOTABLE_DIR=\"${IJK_ISOTABLE_DIR}\")
ADD_EXECUTABLE(ijkmcube ijkmcube_main.cxx ijkmcubeIO.cxx ijkmcube.cxx
ijkmcube_datastruct.cxx ijkmcube_sub.cxx
ijkmcube_extract.cxx ijkmcube_util.cxx
ijksnapmc.cxx
ijktable.cxx ijktable_poly.cxx ijktable_ambig.cxx
ijkoctree.cxx ijkxitIO.cxx)
ADD_LIBRARY(ijkmcubeL STATIC EXCLUDE_FROM_ALL ijkmcubeIO.cxx
ijkmcube.cxx ijkmcube_datastruct.cxx ijkmcube_sub.cxx
ijkmcube_extract.cxx ijkmcube_util.cxx ijksnapmc.cxx
ijktable.cxx ijkoctree.cxx ijkxitIO.cxx)
SET_TARGET_PROPERTIES(ijkmcubeL PROPERTIES OUTPUT_NAME ijkmcube)
ADD_CUSTOM_TARGET(lib DEPENDS ijkmcubeL)
SET(CMAKE_INSTALL_PREFIX ${IJK_DIR})
INSTALL(TARGETS ijkmcube DESTINATION "bin/linux")
ADD_CUSTOM_TARGET(tar WORKING_DIRECTORY ../.. COMMAND tar cvfh
${IJKMCUBE_DIR}/ijkmcube.tar ${IJKMCUBE_DIR}/README
${IJKMCUBE_DIR}/INSTALL ${IJKMCUBE_DIR}/RELEASE_NOTES
${IJKMCUBE_DIR}/*.cxx ${IJKMCUBE_DIR}/*.h ${IJKMCUBE_DIR}/*.txx
${IJKMCUBE_DIR}/CMakeLists.txt ${IJKMCUBE_DIR}/man/*
${IJKMCUBE_DIR}/ijkmcube_doxygen.config)
ADD_CUSTOM_TARGET(doc COMMAND doxygen ijkmcube_doxygen.config)
SOLVED
Tsyvarev solved it, the libNrrdIO.a file has to be copied to /usr/lib/. Refer to comments for the exact solution
This answer was given by #Tsyvarev:
By making a link named ld you are removing the original linker (ld). Without the linker you definitely cannot build any library. What you need is to make a link named lNrrdIO.a, so it will point to the actual library location: sudo ln -sfn /home/subham/Downloads/NrrdIO-1.9.0-src/lNrrdIO.a lNrrdIO.a (run this command from /usr/lib directory). And restore original /usr/bin/ld file.

Building Artery on Ubuntu fails

When I try to build Artery on Ubuntu 16.04. the following happens after invoking
$ cmake --build /home/hardt/Veins/artery-master/build
[ 23%] Linking CXX shared library libartery.so
/usr/bin/ld: /usr/local/lib/libvanetza_btp.a(data_request.cpp.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared
object; recompile with -fPIC
/usr/local/lib/libvanetza_btp.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
src/artery/CMakeFiles/artery.dir/build.make:954: recipe for target'src/artery/libartery.so' failed
make[2]: *** [src/artery/libartery.so] Error 1
CMakeFiles/Makefile2:229: recipe for target 'src/artery/CMakeFiles/artery.dir/all' failed
make[1]: *** [src/artery/CMakeFiles/artery.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
As I am not all that familiar with building source on Unix systems I am not quite sure how to deal with this error.
I am using cmake version 3.9.3, boost 1.65.1 and crypto++ 5.6.4 the geographiclib built without error as well.
As one can read in the comments, the problem is solved.
The path to the vanetza directory VANETZA_DIR in the cmake configuration was wrong. Correcting this via ccmake solved the problem.

Error compiling MonoMac on Mac OS 10.9.1

I am trying to compile MonoMac on Mac OS 10.9.1
The instructions are straightforward, so I execute them:
git clone https://github.com/mono/maccore.git
git clone https://github.com/mono/monomac.git
cd monomac
make
Unfortunately it fails:
[...]
MonoDevelop Build Tool
INFO:Found Xcode, version 5.0.2 (3335.32).
INFO:Xamarin.iOS not installed. Can't find mtouch.
Loading solution: /Users/nico/src/monomac/samples/ButtonMadness/ButtonMadness.sln
Loading solution: /Users/nico/src/monomac/samples/ButtonMadness/ButtonMadness.sln
Loading projects ..
Building Solution: ButtonMadness (Debug)
Building: ButtonMadness (Debug)
Performing main compilation...
/Library/Frameworks/Mono.framework/Versions/3.2.5/bin/mcs /noconfig "/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/mscorlib.dll" -nostdlib
"/out:/Users/nico/src/monomac/samples/ButtonMadness/bin/Debug/ButtonMadness.exe" "/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.dll"
"/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.Xml.dll" "/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.Core.dll"
"/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.Xml.Linq.dll" "/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.Drawing.dll"
"/r:/Applications/Xamarin Studio.app/Contents/MacOS/lib/monodevelop/AddIns/MonoDevelop.MonoMac/MonoMac.dll" "/r:/Library/Frameworks/Mono.framework/Versions/3.2.5/lib/mono/4.0/System.Core.dll"
/nologo /warn:4 /debug:full /optimize- /codepage:utf8 "/define:DEBUG" /main:SamplesButtonMadness.MainClass /t:exe "/Users/nico/src/monomac/samples/ButtonMadness/Main.cs"
"/Users/nico/src/monomac/samples/ButtonMadness/AppDelegate.cs" "/Users/nico/src/monomac/samples/ButtonMadness/MainMenu.xib.designer.cs"
"/Users/nico/src/monomac/samples/ButtonMadness/DropDownButton.cs" "/Users/nico/src/monomac/samples/ButtonMadness/TestWindow.cs"
"/Users/nico/src/monomac/samples/ButtonMadness/TestWindowController.cs" "/Users/nico/src/monomac/samples/ButtonMadness/TestWindow.xib.designer.cs"
Compilation failed: 1 error(s), 0 warnings
/Users/nico/src/monomac/samples/ButtonMadness/TestWindowController.cs(65,15): error CS1061: Type `MonoMac.AppKit.NSMenu' does not contain a definition for `InsertItematIndex' and no extension
method `InsertItematIndex' of type `MonoMac.AppKit.NSMenu' could be found. Are you missing an assembly reference?
/Applications/Xamarin Studio.app/Contents/MacOS/lib/monodevelop/AddIns/MonoDevelop.MonoMac/MonoMac.dll (Location of the symbol related to previous error)
Build complete -- 1 error, 0 warnings
/Users/nico/src/monomac/samples/ButtonMadness/TestWindowController.cs(65,15) : error CS1061: Type `MonoMac.AppKit.NSMenu' does not contain a definition for `InsertItematIndex' and no extension method `InsertItematIndex' of type `MonoMac.AppKit.NSMenu' could be found. Are you missing an assembly reference?
make[1]: [all] Error 1 (ignored)
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C MicroSamples
make[2]: *** No rule to make target `../../src/MonoMac.dll', needed by `MonoMac.dll'. Stop.
make[1]: *** [all] Error 2
make: *** [all] Error 2
How can I fix this?
I just hit this as well. It succeeded fine the first time, but was failing every time after. However, I finally got it to work by doing a
make clean
then re-doing a
make
and it then worked.

Resources