124 How to package up an SDK for building ceda based applications on Ubuntu
Current targets which can be built
The following build artefacts can be built in the lib folder:
lib
├── exCedaScript
├── exLss
├── exObject
├── exOperation
├── exPersistStore
├── exPython
├── exPython2
├── exRmi
├── exThread
├── GenerateXcpj
├── JigsawServer
├── libcxBuild.so
├── libcxCedaScript.so
├── libcxGeom.so
├── libcxJigsaw.so
├── libcxLss.so
├── libcxMacroExpander.so
├── libcxMessage.so
├── libcxModel.so
├── libcxObject.so
├── libcxOperation.so
├── libcxPersistStore.so
├── libcxPython.so
├── libcxRmi.so
├── libcxSocket.so
├── libcxThread.so
├── libcxUtils.so
├── libcxWorkingSetIpc.so
├── liblxOperation.so
├── liblxPersistStore.so
├── LssApplyDeltas
├── LssCompare
├── LssCopy
├── LssDiagnose
├── SetupXcws
├── txLss
├── txMessage
├── txObject
├── txOperation
├── txPersistStore
├── txPython
├── txRmi
├── txThread
├── txUtils
└── Xcpp
Files in the package
The core ceda package on ubuntu has the following structure
(root)
├── export
│ ├── .xcwsroot
│ └── Ceda
│ ├── Build
│ │ └── cxBuild
│ └── Core
│ ├── cxCedaScript
│ ├── cxLss
│ ├── cxMacroExpander
│ ├── cxMessage
│ ├── cxObject
│ ├── cxOperation
│ ├── cxPersistStore
│ ├── cxPython
│ ├── cxRmi
│ ├── cxSocket
│ ├── cxThread
│ ├── cxUtils
│ ├── cxWorkingSetIpc
│ └── wsCedaCoreLibraries.xcws
├── include
│ └── Ceda
│ ├── App
│ │ └── cxJigsaw
│ └── Core
│ ├── cxCedaScript
│ ├── cxLss
│ ├── cxMacroExpander
│ ├── cxMessage
│ ├── cxObject
│ ├── cxOperation
│ ├── cxPersistStore
│ ├── cxPython
│ ├── cxRmi
│ ├── cxSocket
│ ├── cxThread
│ ├── cxUtils
│ └── cxWorkingSetIpc
└── lib
└── Linuxx64
├── Debug
│ ├── libcxBuild.so
│ ├── libcxCedaScript.so
│ ├── libcxLss.so
│ ├── libcxMacroExpander.so
│ ├── libcxMessage.so
│ ├── libcxObject.so
│ ├── libcxOperation.so
│ ├── libcxPersistStore.so
│ ├── libcxPython.so
│ ├── libcxRmi.so
│ ├── libcxSocket.so
│ ├── libcxThread.so
│ ├── libcxUtils.so
│ ├── libcxWorkingSetIpc.so
│ ├── liblxOperation.so
│ ├── LssApplyDeltas
│ ├── LssCompare
│ ├── LssCopy
│ ├── LssDiagnose
│ └── Xcpp
└── Release
├── libcxBuild.so
├── libcxCedaScript.so
├── libcxLss.so
├── libcxMacroExpander.so
├── libcxMessage.so
├── libcxObject.so
├── libcxOperation.so
├── libcxPersistStore.so
├── libcxPython.so
├── libcxRmi.so
├── libcxSocket.so
├── libcxThread.so
├── libcxUtils.so
├── libcxWorkingSetIpc.so
├── liblxOperation.so
├── LssApplyDeltas
├── LssCompare
├── LssCopy
├── LssDiagnose
└── Xcpp
Proposal
The script cedapackage does the following:
- Builds the wsPackageCedaCore.xcws workspace
- Copies the export, include, lib folders to ~/ceda
ldd command on Xcpp binary
Running the command:
cd ~/developer/build_linuxx64/lib/Linuxx64/Release
ldd ./Xcpp
produces the following output:
linux-vdso.so.1 => (0x00007fffbe5f6000) libcxUtils.so => /home/david/developer/build_linuxx64/lib/Linuxx64/Release/./libcxUtils.so (0x00007f8b50bbe000) libcxMacroExpander.so => /home/david/developer/build_linuxx64/lib/Linuxx64/Release/./libcxMacroExpander.so (0x00007f8b5098a000) libcxBuild.so => /home/david/developer/build_linuxx64/lib/Linuxx64/Release/./libcxBuild.so (0x00007f8b506a0000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8b50305000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8b500ef000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8b4fd25000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8b4fb08000) libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007f8b4f904000) libboost_thread.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0 (0x00007f8b4f6dd000) libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007f8b4f4c5000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8b4f1bc000) libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007f8b4ec2d000) /lib64/ld-linux-x86-64.so.2 (0x0000561fc8625000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8b4ea25000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8b4e80a000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8b4e606000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f8b4e403000)
Package and upload pizza
cd ~/developer tar -C . -cvzf ~/developer/pizza-0.2.tar.gz pizza