BhallaLab / moose-core

C++ basecode and python scripting interface
https://moose.ncbs.res.in
GNU General Public License v3.0
15 stars 27 forks source link

Build failure with multiple linking error when NSDF is enabled on Ubuntu 18.04 #357

Closed dilawar closed 5 years ago

dilawar commented 5 years ago

Originally reported by Avarama. I could reproduce it but only on Ubuntu 18.04 machine.

[dilawars@Ace _build (issue_357)]$ cmake -DCMAKE_PREFIX_PATH=$HOME/.local -DPYTHON_EXECUTABLE=/usr/bin/python3 -DWITH_NSDF=ON ..
-- MOOSE Version 3.2.0-f227bb07c
-- | Writing 3.2.0-f227bb07c to /home/dilawars/Work/GITHUB/DILAWAR/moose-core/python/VERSION
-- Building for Release/No unit tests.
-- GSL version : 2.4
-- Found GSL /usr/lib/x86_64-linux-gnu/libgsl.so;/usr/lib/x86_64-linux-gnu/libgslcblas.so
-- HDF5: Using hdf5 compiler wrapper to determine CXX configuration
-- Using /usr/bin/python3 to locate numpy
-- Python so extension .so
-- Python module will be saved to /home/dilawars/Work/GITHUB/DILAWAR/moose-core/pymoose/../python/moose
-- Platform: Linux-4.15.0-45-generic-x86_64-with-Ubuntu-18.04-bionic

-- binary distribution file /home/dilawars/Work/GITHUB/DILAWAR/moose-core/_build/bdist/pymoose-3.2.0-f227bb07c.CMAKE.tar.gz
=======================================
If cmake did not report any error, run 
 'make' to build  MOOSE 
=======================================

-- Configuring done
-- Generating done
-- Build files have been written to: /home/dilawars/Work/GITHUB/DILAWAR/moose-core/_build
[dilawars@Ace _build (issue_357)]$ make 

/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
CMakeFiles/_moose.dir/moosemodule.cpp.o: In function `moose_traverse(_object*, int (*)(_object*, void*), void*)':
moosemodule.cpp:(.text+0x5e): undefined reference to `PyModule_GetState'
moosemodule.cpp:(.text+0x6c): undefined reference to `PyModule_GetState'
CMakeFiles/_moose.dir/moosemodule.cpp.o: In function `moose_delete(_object*, _object*)':
moosemodule.cpp:(.text+0x1c8): undefined reference to `PyArg_ParseTuple'
moosemodule.cpp:(.text+0x1f6): undefined reference to `PyObject_IsInstance'
moosemodule.cpp:(.text+0x247): undefined reference to `PyExc_ValueError'
moosemodule.cpp:(.text+0x256): undefined reference to `PyErr_SetString'
moosemodule.cpp:(.text+0x2bf): undefined reference to `_Py_NoneStruct'
moosemodule.cpp:(.text+0x2dc): undefined reference to `PyObject_IsInstance'
moosemodule.cpp:(.text+0x316): undefined reference to `PyUnicode_AsEncodedString'
moosemodule.cpp:(.text+0x36b): undefined reference to `PyExc_ValueError'
moosemodule.cpp:(.text+0x37a): undefined reference to `PyErr_SetString'
CMakeFiles/_moose.dir/moosemodule.cpp.o: In function `moose_ObjId_get_elementField_attr(_object*, void*)':
moosemodule.cpp:(.text+0x4fc): undefined reference to `PyExc_ValueError'
moosemodule.cpp:(.text+0x50d): undefined reference to `PyErr_SetString'
moosemodule.cpp:(.text+0x55f): undefined reference to `PyArg_ParseTuple'
moosemodule.cpp:(.text+0x571): undefined reference to `PyTuple_New'
moosemodule.cpp:(.text+0x581): undefined reference to `PyTuple_SetItem'
moosemodule.cpp:(.text+0x58f): undefined reference to `PyUnicode_FromString'
moosemodule.cpp:(.text+0x59f): undefined reference to `PyTuple_SetItem'
moosemodule.cpp:(.text+0x5ae): undefined reference to `_PyObject_New'
moosemodule.cpp:(.text+0x5dd): undefined reference to `PyExc_RuntimeError'
moosemodule.cpp:(.text+0x5ee): undefined reference to `PyErr_SetString'
CMakeFiles/_moose.dir/moosemodule.cpp.o: In function `moose_ObjId_get_lookupField_attr(_object*, void*)':
moosemodule.cpp:(.text+0x646): undefined reference to `PyObject_IsInstance'
moosemodule.cpp:(.text+0x670): undefined reference to `PyExc_ValueError'
moosemodule.cpp:(.text+0x681): undefined reference to `PyErr_SetString'
moosemodule.cpp:(.text+0x6cf): undefined reference to `PyArg_ParseTuple'
moosemodule.cpp:(.text+0x6e1): undefined reference to `PyTuple_New'
moosemodule.cpp:(.text+0x6f1): undefined reference to `PyTuple_SetItem'
moosemodule.cpp:(.text+0x6ff): undefined reference to `PyUnicode_FromString'
moosemodule.cpp:(.text+0x70f): undefined reference to `PyTuple_SetItem'
moosemodule.cpp:(.text+0x71e): undefined reference to `_PyObject_New'
moosemodule.cpp:(.text+0x752): undefined reference to `PyExc_RuntimeError'
moosemodule.cpp:(.text+0x763): undefined reference to `PyErr_SetString'
moosemodule.cpp:(.text+0x793): undefined reference to `PyExc_TypeError'
moosemodule.cpp:(.text+0x7a4): undefined reference to `PyErr_SetString'
dilawar commented 5 years ago

@subhacom Any comments?

dilawar commented 5 years ago

Fixed by #358