07-23-2018 03:07 AM
Hello everybody,
I want to use the library pylibni845x https://bitbucket.org/amitibo/pylibni845x
And I have a problem by installing this library during the command prompt in the located directory of the library :
We see in the README.md :
Download the source files of PyLibNI845x and update 'setup.py' to point to the header and lib files of the NI-845x driver software. Then, execute 'python setup.py install' from the command line.
I wrote the right location of the 2 files, ni845x.h and ni845x.lib which is installed from the official driver for the NI-8451 :
PACKAGE_NAME = 'ni845x' NI_ICLUDE_DIR=r'C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C' NI_LIB='ni845x' IPOPT_LIB_DIR=r'C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C'
And then when I try to install it there is these error :
C:\Users\aguillem\Downloads\amitibo-pylibni845x-6e8f790dfa45>python setup.py install running install running build running build_py running build_ext skipping 'src\cyni845x.c' Cython extension (up-to-date) building 'ni845x.cyni845x' extension C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files (x86)\National Instruments\NI-845x\MS Visual C" -IC:\Users\aguillem\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\include -IC:\Users\aguillem\AppData\Local\Continuum\anaconda3\include -IC:\Users\aguillem\AppData\Local\Continuum\anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tcsrc\cyni845x.c /Fobuild\temp.win-amd64-3.6\Release\src\cyni845x.obj cyni845x.c c:\users\aguillem\appdata\local\continuum\anaconda3\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(371): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(371): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(371): error C2146: syntax error: missing ',' before identifier 'ni845xFindDevice' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(371): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(375): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(377): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(377): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(377): error C2146: syntax error: missing ',' before identifier 'ni845xFindDeviceNext' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(377): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(380): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(382): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(382): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(382): error C2146: syntax error: missing ',' before identifier 'ni845xCloseFindDeviceHandle' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(382): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(384): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(386): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(386): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(386): error C2146: syntax error: missing ',' before identifier 'ni845xOpen' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(386): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(389): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(391): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(391): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(391): error C2146: syntax error: missing ',' before identifier 'ni845xClose' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(391): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(393): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(395): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(395): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(395): error C2146: syntax error: missing ',' before identifier 'ni845xDeviceLock' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(395): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(397): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(399): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(399): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(399): error C2146: syntax error: missing ',' before identifier 'ni845xDeviceUnlock' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(399): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(401): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(403): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(403): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(403): error C2146: syntax error: missing ',' before identifier 'ni845xStatusToString' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(403): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(407): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(409): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(409): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(409): error C2146: syntax error: missing ',' before identifier 'ni845xSetIoVoltageLevel' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(409): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(412): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(415): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(415): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(415): error C2146: syntax error: missing ',' before identifier 'ni845xSetTimeout' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(415): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(418): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(428): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(428): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(428): error C2146: syntax error: missing ',' before identifier 'ni845xSpiWriteRead' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(428): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(435): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(437): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(437): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(437): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationOpen' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(437): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(439): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(441): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(441): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(441): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationClose' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(441): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(443): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(445): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(445): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(445): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetChipSelect' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(445): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(448): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(450): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(450): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(450): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetClockRate' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(450): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(453): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(455): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(455): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(455): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetClockPolarity' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(455): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(458): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(460): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(460): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(460): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetClockPhase' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(460): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(463): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(465): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(465): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(465): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetNumBitsPerSample' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(465): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(468): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(470): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(470): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(470): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationSetPort' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(470): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(473): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(475): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(475): error C2085: 'NI845X_FUNC': not in formal parameter list C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(475): error C2146: syntax error: missing ',' before identifier 'ni845xSpiConfigurationGetChipSelect' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(475): error C2143: syntax error: missing ';' before '(' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(478): error C2059: syntax error: ')' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(480): error C2054: expected '(' to follow 'kNI845XExport' C:\Program Files (x86)\National Instruments\NI-845x\MS Visual C\ni845x.h(480): fatal error C1003: error count exceeds 100; stopping compilation error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
Is someone knows why there is this problem ?
I thank you in advence for your help !
Aguillem
10-08-2018 02:37 AM
Hi, I would like to do exactly the same thing than you and I have the same issue.
Did you find a solution alone ? Can someone help us please ?
Thank you.
10-08-2018 04:23 AM
Hello, no sorry I didn't find solution I firgive it.
But I also ask other people and there are some answer if you want to try and if you manage to do something let us know :
From: amitibo@campus.technion.ac.il <amitibo@campus.technion.ac.il>
Sent: Monday, July 23, 2018 11:41 AM
To: Adrien Guillemin <adrien.guillemin@cern.ch>
Subject: Re: installing setup.py fail
Hi Adrien,
I haven't used this module for a long time as I don't work with NI hardware any more. The main problem with this is that the NI-845x software (from NI) has probably changed a lot since I wrote this module.
In any case, there seems to be some compilation error that is related to the 'src\cyni845x.c' file which is generated by cython. Are you using a new version of cython? If not, maybe you can try to update cython, delete this file and run the setup script again.
Also, as far as I know, NI released python bindings to some of their hardware (http://www.ni.com/white-paper/53059/en/) maybe this can help you.
Best,
Amit