OS X och PHP-extension, hittar inte telldus-core?

Moderator: Telldus

skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

OS X och PHP-extension, hittar inte telldus-core?

Post by skorpion »

Hej
Jag försöker kompilera PHP-modulen för tdtool men får ett fel som säger att den inte hittar telldus-core.

Jag har hämtat hem svn-trädet, gått in i ">cd trunk/bindings/php"
Kört phpize i katalogen utan problem
När jag sedan kör detta får jag efterföljande output:
./configure --enable-telldus

Code: Select all

niclas-gustafssons-macbook-pro-41:php niclas$ sudo ./configure --enable-telldus
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... i686-apple-darwin9.8.0
checking host system type... i686-apple-darwin9.8.0
checking target system type... i686-apple-darwin9.8.0
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib/php/extensions/no-debug-non-zts-20060613
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... no
checking for awk... awk
checking if awk is broken... no
checking whether to enable Telldus TellStick support... yes, shared
checking for telldus files in default path... not found
configure: error: Please reinstall the telldus-core distribution
Så hur berättar jag för configure vart telldus-core ligger? Vart är default-sökvägen?

/Niclas
skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

Post by skorpion »

Okej, jag har försökt bygga telldus-core utan framgång nu.
Allt går fint ända tills jag kör make
Då får jag detta:

Code: Select all

Linking CXX shared library TelldusCoreLib.framework/Versions/2.0.0/TelldusCoreLib
Undefined symbols:
  "_FT_Write", referenced from:
      TelldusCore::TellStick::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in TellStick.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_SetVIDPID", referenced from:
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      getDongleIndex()     in Device.cpp.o
  "_FT_Open", referenced from:
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      getDongleIndex()     in Device.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_Read", referenced from:
      TelldusCore::TellStick::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in TellStick.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_SetTimeouts", referenced from:
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_EE_Read", referenced from:
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      getDongleIndex()     in Device.cpp.o
  "_FT_Close", referenced from:
      TelldusCore::TellStick::~TellStick()in TellStick.cpp.o
      TelldusCore::TellStick::~TellStick()in TellStick.cpp.o
      TelldusCore::TellStick::~TellStick()in TellStick.cpp.o
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      getDongleIndex()     in Device.cpp.o
      getDongleIndex()     in Device.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_SetFlowControl", referenced from:
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
  "_FT_OpenEx", referenced from:
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
      TelldusCore::TellStick::TellStick(TelldusCore::TellStickDescriptor const&)in TellStick.cpp.o
  "_FT_CreateDeviceInfoList", referenced from:
      TelldusCore::TellStick::findByVIDPID(int, int)in TellStick.cpp.o
      getDongleIndex()     in Device.cpp.o
  "_FT_SetBaudRate", referenced from:
      TelldusCore::TellStick::setBaud(int)  in TellStick.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [driver/libtelldus-core/TelldusCoreLib.framework/Versions/2.0.0/TelldusCoreLib] Error 1
make[1]: *** [driver/libtelldus-core/CMakeFiles/TelldusCoreLib.dir/all] Error 2
make: *** [all] Error 2
Någon som vet hur man löser detta?

/niclas
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Post by gein »

Jag kan inte ens köra cmake .
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SEM_LIBRARY
linked by target "rfcmd" in directory /Users/patrikjansson/Downloads/telldus-core-2.0.2/rfcmd

-- Configuring incomplete, errors occurred!
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Post by gein »

När jag disablar rfcmd-bygget så går cmake igenom men då får jag ett byggfel istället:
MacbookV2:telldus-core-2.0.0 patrikjansson$ cmake -DBUILD_RFCMD=0 .
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/patrikjansson/Downloads/telldus-core-2.0.0
MacbookV2:telldus-core-2.0.0 patrikjansson$ make
[ 5%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/Device.cpp.o
[ 11%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceBrateck.cpp.o
[ 16%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceGroup.cpp.o
[ 22%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceIkea.cpp.o
[ 27%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceNexa.cpp.o
[ 33%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceRisingSun.cpp.o
[ 38%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceSartano.cpp.o
[ 44%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceUndefined.cpp.o
[ 50%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceUpm.cpp.o
[ 55%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceWaveman.cpp.o
[ 61%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/DeviceX10.cpp.o
[ 66%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/Controller.cpp.o
[ 72%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/Manager.cpp.o
[ 77%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/Settings.cpp.o
[ 83%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/telldus-core.cpp.o
[ 88%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/SettingsCoreFoundationPreferences.cpp.o
[ 94%] Building CXX object driver/libtelldus-core/CMakeFiles/TelldusCore.dir/win/Device.cpp.o
Linking CXX shared library TelldusCore.framework/Versions/2.0.0/TelldusCore
Undefined symbols:
"_FT_Write", referenced from:
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
"_FT_CreateDeviceInfoList", referenced from:
getDongleIndex() in Device.cpp.o
"_FT_Open", referenced from:
getDongleIndex() in Device.cpp.o
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
"_FT_Read", referenced from:
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
"_FT_SetTimeouts", referenced from:
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
"_FT_SetVIDPID", referenced from:
getDongleIndex() in Device.cpp.o
"_FT_EE_Read", referenced from:
getDongleIndex() in Device.cpp.o
"_FT_Close", referenced from:
getDongleIndex() in Device.cpp.o
getDongleIndex() in Device.cpp.o
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
"_FT_SetBaudRate", referenced from:
TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [driver/libtelldus-core/TelldusCore.framework/Versions/2.0.0/TelldusCore] Error 1
make[1]: *** [driver/libtelldus-core/CMakeFiles/TelldusCore.dir/all] Error 2
make: *** [all] Error 2
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Bygger ni från trunk? Det skulle jag varmt avråda från. Det är därför ni får TelldusCoreLib.

Ska ni bygga från källkod så bygg från våra färdiga paket alternativt 2.0-branchen.

I Mac OS X ligger telldus-core som ett framework. För att bygga mot ett sådan ska ni använda -framework till gcc.
Som standard installeras det i /Library/Frameworks
Micke Prag
Software
Telldus Technologies
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Post by gein »

micke.prag wrote:Bygger ni från trunk? Det skulle jag varmt avråda från. Det är därför ni får TelldusCoreLib.

Ska ni bygga från källkod så bygg från våra färdiga paket alternativt 2.0-branchen.
Jag har provat att bygga från de tre färdiga paket som finns här: http://download.telldus.se/TellStick/So ... ldus-core/
Får alltså samma fel med 2.0.0, 2.0.1 och 2.0.2. Borde dessa fungera?
micke.prag wrote:

I Mac OS X ligger telldus-core som ett framework. För att bygga mot ett sådan ska ni använda -framework till gcc.
Som standard installeras det i /Library/Frameworks
Hur gör jag det? Sätter "-framework" till $CFLAGS? Provade det men ingen skillnad.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Varför bygger du från källkod överhuvudtaget?
Micke Prag
Software
Telldus Technologies
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Post by gein »

Jag vill skriva en klient i Java och eftersom jag har lite andra problem med rxtxcomm på Mac så började jag leta efter alternativ och uppfattade det som att telldus-core hade Java-bindningar tillgängliga, men det kanske inte stämmer?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Jo, absolut kan du använda java till telldus-core. Fast detta är ju en tråd om php...

Javabindningen jag har kört under linux hittar du här:
http://developer.telldus.se/browser/trunk/bindings/java
Micke Prag
Software
Telldus Technologies
skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

Re:

Post by skorpion »

micke.prag wrote:Bygger ni från trunk? Det skulle jag varmt avråda från. Det är därför ni får TelldusCoreLib.

Ska ni bygga från källkod så bygg från våra färdiga paket alternativt 2.0-branchen.

I Mac OS X ligger telldus-core som ett framework. För att bygga mot ett sådan ska ni använda -framework till gcc.
Som standard installeras det i /Library/Frameworks
Jepp, jag bygger från trunk

Jag hänger inte riktigt med nu hur jag skall bygga en php-extension.
Med "våra färdiga paket" menar du då: http://download.telldus.se/TellStick/So ... ldus-core/?
php-extension verkar inte finnas där.

Om jag inte skall använda php-extension från trunk, varifrån ska jag ta koden till php-extension ifrån?
Eller är det telldus-core vi inte ska ta från trunk?

Lite hjälp på vägen vore väldigt tacksamt :)

/Niclas
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: OS X och PHP-extension, hittar inte telldus-core?

Post by micke.prag »

Ja, php extensionen kan ni ta från trunk. Det är telldus-core ni ska ta från paketen.
Länken du hänsvisade till är där ni ska ladda ner det.
Micke Prag
Software
Telldus Technologies
skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

Re: OS X och PHP-extension, hittar inte telldus-core?

Post by skorpion »

Ok
Om jag tankar hem telldus-core (2.0.3) och kör cmake . så får jag:

Code: Select all

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SEM_LIBRARY
    linked by target "rfcmd" in directory /usr/src/telldus-core-2.0.3/rfcmd

-- Configuring incomplete, errors occurred!
Jag vill ju inte ha rfcmd så jag tar bort det med: cmake -DBUILD_RFCMD=0 och då fungerar det smärtfritt.

Nu vidare till make som ger:

Code: Select all

Linking CXX shared library TelldusCore.framework/Versions/2.0.3/TelldusCore
Undefined symbols:
  "_FT_Write", referenced from:
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_SetVIDPID", referenced from:
      getDongleIndex()     in Device.cpp.o
  "_FT_Open", referenced from:
      getDongleIndex()     in Device.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_Read", referenced from:
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_SetTimeouts", referenced from:
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_EE_Read", referenced from:
      getDongleIndex()     in Device.cpp.o
  "_FT_Close", referenced from:
      getDongleIndex()     in Device.cpp.o
      getDongleIndex()     in Device.cpp.o
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
  "_FT_CreateDeviceInfoList", referenced from:
      getDongleIndex()     in Device.cpp.o
  "_FT_SetBaudRate", referenced from:
      TelldusCore::Device::send(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in Device.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [driver/libtelldus-core/TelldusCore.framework/Versions/2.0.3/TelldusCore] Error 1
make[1]: *** [driver/libtelldus-core/CMakeFiles/TelldusCore.dir/all] Error 2
make: *** [all] Error 2
Det är nu du menar att man skulle använda gcc och -framework
Ska jag byta ut make mot gcc -framework......?
Har testat med både TelldusCore, telldus-core och dessa med fulla sökvägar till -framework.

Med "gcc -v -framework TelldusCore" får jag:

Code: Select all

Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/usr/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1 --host=i686-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)
 /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.4 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. -framework TelldusCore -lSystem -lgcc -lSystem
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
...och där slutar min förståelse på hur jag går vidare. Google gör mig bara ännu mer förvirrad :/

/niclas
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: OS X och PHP-extension, hittar inte telldus-core?

Post by micke.prag »

Du saknar biblioteket libftd2xx vid länkningen. Biblioteket finns att ladda ner:
http://www.ftdichip.com

Sen undrar jag varför ni försöker bygga telldus-core själva när det finns färdigt att ladda ner? Är det någon speciell anledning det paketet vi har byggt inte går att använda?
Micke Prag
Software
Telldus Technologies
skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

Re: OS X och PHP-extension, hittar inte telldus-core?

Post by skorpion »

Jag vill egentligen bara bygga PHP-extension, men när den kompileringen klagade öve att den inte kunde hitta telldus-core så tänkte jag att jag kanske behövde bygga det. Men nu i efterhand när jag tänker lite längre så bör väl telldus-core vara installerat redan ju, eftersom att jag har tdtool fungerande?

Så på något sätt så kan den inte telldus-core. Hur skall jag peka den i rätt riktning?

MVH
Niclas
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re:

Post by micke.prag »

Jag får citera mitt eget inlägg tidigare i tråden:
micke.prag wrote:I Mac OS X ligger telldus-core som ett framework. För att bygga mot ett sådan ska ni använda -framework till gcc.
Som standard installeras det i /Library/Frameworks
Micke Prag
Software
Telldus Technologies
Post Reply