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

Moderator: Telldus

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

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

Post by skorpion »

Åhh, jag blandade ihop det jag försökte kompilera. (PHP-extension och telldus-core)

Men jag fastnar ändå :/
Vid körande av: ./configure --enable-telldus så får jag ju:

Code: Select all

checking for telldus files in default path... not found
configure: error: Please reinstall the telldus-core distribution
Nu sa ju du att jag ska använda -framework till gcc.
Det är nu jag inte riktigt hänger med riktigt. GCC??? Ersätta ./configure med gcc helt?
Jag testar iaf: ./configure --enable-telldus -framework TelldusCore utan framgång
Testar: ./configure --enable-telldus CFLAGS="-framework TelldusCore" och får detta resultat:

Code: Select all

checking for telldus files in default path... not found
configure: error: Please reinstall the telldus-core distribution
Testar jag: gcc -framework TelldusCore så får jag:

Code: Select all

Undefined symbols:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Vad är det som jag missat?

MVH 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 »

configure skapar bara makefiler. Du får in i byggfilerna som phpize använder. D.v.s. config.m4.
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 tycker inte att jag hittar något som har med -framework eller gcc att göra i config.m4

Däremot så hittar jag:

Code: Select all

SEARCH_PATH="/usr/local /usr"
	SEARCH_FOR="/include/telldus-core.h"
Byter jag ut det mot:

Code: Select all

SEARCH_PATH="/usr/local /usr /Library/Frameworks/TelldusCore.framework/Versions/2.0.3/Headers/"
	SEARCH_FOR="telldus-core.h"
så kommer jag lite längre:

Code: Select all

checking for telldus files in default path... found in /Library/Frameworks/TelldusCore.framework/Versions/2.0.3/Headers/
checking for tdGetNumberOfDevices in -ltelldus-core... no
configure: error: wrong telldus lib version or lib not found
tdGetNumberOfDevices finns ju i telldus-core:

Code: Select all

cat /Library/Frameworks/TelldusCore.framework/Versions/2.0.3/Headers/telldus-core.h | grep tdGetNumberOfDevices
	TELLSTICK_API int WINAPI tdGetNumberOfDevices();
Vad blir nästa steg?

/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 »

Nästa steg blir att få testen som kollar efter tdGetNumberOfDevices att fungera och att bygga wrappern genom att använda "-framework". Troligtvis löser du båda när du löser det ena.
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 »

Attans, hade nästan hoppats med att inte behöva fråga dig nå mer nu :)

Raden:

Code: Select all

	PHP_ADD_INCLUDE($TELLDUS_DIR/include)
Kommer ju inte stämma, jag vet inte vad den vill inkludera så jag vet inte vad den riktiga sökvägen ska vara. Har du koll på det?

$TELLDUS_DIR är satt till: /Library/Frameworks/TelldusCore.framework/Versions/2.0.3


Sedan har vi raderna:

Code: Select all

	PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
	[
		PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $TELLDUS_DIR/lib, TELLDUS_SHARED_LIBADD)
		AC_DEFINE(HAVE_TELLDUSLIB,1,[ ])
	],[
		AC_MSG_ERROR([wrong telldus lib version or lib not found])
	],[
		-L$TELLDUS_DIR/lib -lm
	])
Det finns 2 st /lib som inte heller kommer att stämma, då dessa kataloger inte finns i $TELLDUS_DIR. Det finns däremot en Libraries i $TELLDUS_DIR som enbart innehåller: libftd2xx.0.1.4.dylib

Byter jag ut /lib mot /Libraries så får jag samma fel som innan :/

Nåt mer man kan leta på och ändra?

MVH 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 »

Jag skulle snarare satt det så här:

Code: Select all

TELLDUS_DIR=/Library/Frameworks/TelldusCore.framework
PHP_ADD_INCLUDE($TELLDUS_DIR/Headers)
SEARCH_FOR="/Headers/telldus-core.h"
Kanske kan man labba lite med:

Code: Select all

-L$TELLDUS_DIR/lib -lm
typ:

Code: Select all

-L$TELLDUS_DIR/lib -lm -framework TelldusCore
Men här är vi ute på djupt vatten. Bättre vore att kolla hur något annat PECL-bibliotek kompileras under OSX. Det är så jag gjorde när jag skrev denna wrappern till Linux.
Micke Prag
Software
Telldus Technologies
Post Reply