This is for Klemen Vodopivec the author of
`PyDevice`
1) thanks for making this
2) I'm having some issues getting a simple ioc to build
with pydev support
I'm using a Raspberry Pi and linux-arm as the host
architecture
for specific reasons: using EPICS base 3.15.6, python
3.8.10 on ubuntu for arm64 in a docker container
The module itself builds alright. and the testing ioc runs
just fine
When I create a basic IOC, with makeBaseApp.pl using the
ioc template,
adding the lines as indicated:
```
analogCtrlIOC_DBD += pydev.dbd
analogCtrlIOC_LIBS += pydev
SYS_PROD_LIBS += $(shell $(PYTHON_CONFIG) --ldflags --embed | sed 's/-[^l][^ ]*//g' | sed 's/-l//g')
with the RELEASE file for the IOC pointed at the location
of the support module
with `make` i get
```
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE
-DUNIX -Dlinux -O3 -g -Wall -I.
-I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc
-I../../../include/os/Linux -I../../../include
-I/epics/base/include/compiler/gcc
-I/epics/base/include/os/Linux -I/epics/base/include -c
../analogCtrlIOCMain.cpp
/bin/sh: 0: Illegal option --
/usr/bin/g++ -o analogCtrlIOC
-L/epics/analogCtrlIOC/lib/linux-arm
-L/epics/base-3.15.6/lib/linux-arm
-L/epics/support/PyDevice/lib/linux-arm
-Wl,-rpath,/epics/analogCtrlIOC/lib/linux-arm
-Wl,-rpath,/epics/base-3.15.6/lib/linux-arm
-Wl,-rpath,/epics/support/PyDevice/lib/linux-arm
-rdynamic
analogCtrlIOC_registerRecordDeviceDriver.o
analogCtrlIOCMain.o -ldbRecStd -ldbCore -lca -lCom -lpydev
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `Py_InitializeEx'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyLong_AsLong'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyBool_Type'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `_Py_TrueStruct'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyType_IsSubtype'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyUnicode_AsASCIIString'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyEval_RestoreThread'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `_Py_NoneStruct'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyDict_SetItemString'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyList_Size'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyFloat_AsDouble'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `Py_Finalize'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `_Py_Dealloc'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyList_GetItem'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyErr_Clear'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `Py_IncRef'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyRun_StringFlags'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `Py_DecRef'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyDict_New'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyErr_SetString'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyBytes_AsString'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyExc_TypeError'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyEval_SaveThread'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `_Py_FalseStruct'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyEval_GetBuiltins'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyObject_IsTrue'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyModule_Create2'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyErr_Occurred'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyFloat_Type'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyArg_UnpackTuple'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyErr_Print'
/usr/bin/ld:
/epics/support/PyDevice/lib/linux-arm/libpydev.so: undefined
reference to `PyImport_AppendInittab'
collect2: error: ld returned 1 exit status
make[3]: *** [/epics/base/configure/RULES_BUILD:204:
analogCtrlIOC] Error 1
make[3]: Leaving directory
'/epics/analogCtrlIOC/analogCtrlIOCApp/src/O.linux-arm'
make[2]: *** [/epics/base/configure/RULES_ARCHS:58:
install.linux-arm] Error 2
make[2]: Leaving directory
'/epics/analogCtrlIOC/analogCtrlIOCApp/src'
make[1]: *** [/epics/base/configure/RULES_DIRS:84:
src.install] Error 2
make[1]: Leaving directory
'/epics/analogCtrlIOC/analogCtrlIOCApp'
make: *** [/epics/base/configure/RULES_DIRS:84:
analogCtrlIOCApp.install] Error 2
root@daq-pi-002:/epics/analogCtrlIOC#
```
PYTHON_CONFIG is set for python3
any thoughts?
Josh