异步串口库函数libcssl-0.9.4的编译安装

内核编译和嵌入式产品的设计与开发
回复
vibing
帖子: 4
注册时间: 2009-11-29 15:03

异步串口库函数libcssl-0.9.4的编译安装

#1

帖子 vibing » 2010-05-27 13:09

这个库函数死活编译通不过,其中的文档又看不太明白, 请教大牛,如何使用,可移植与ARM中。
附件
libcssl-0.9.4.rar
(18.89 KiB) 已下载 226 次
windydays
帖子: 41
注册时间: 2009-02-03 15:13

Re: 异步串口库函数libcssl-0.9.4的编译安装

#2

帖子 windydays » 2010-05-29 0:06

Makefile 有问题,已改过

代码: 全选

# Copyright 2003 Marcin Siennicki <m.siennicki@cloos.pl>
# see COPYING file for details 

VERSION = 0
REVISION = 9
MINOR = 4
AGE = 0

FULLVERSION = $(VERSION).$(REVISION).$(MINOR)

DISTNAME = libcssl-$(FULLVERSION)

SOURCEFILES = Makefile README INSTALL COPYING \
	test.c cssl.c cssl.h libcssl.spec libcssl.spec.in

SRPMPATH = /usr/src/redhat/SRPMS

RPMPATH = /usr/src/redhat/RPMS/i386

SRPMNAME = $(DISTNAME)-1.src.rpm

RPMNAME = $(DISTNAME)-1.i386.rpm

ifndef PREFIX
PREFIX = /usr
endif

LIBPATH = $(PREFIX)/lib
INCLUDEPATH = $(PREFIX)/include
PKGCONFIGPATH = $(PREFIX)/lib/pkgconfig

all: libcssl.la test libcssl.pc

cssl.lo: cssl.c Makefile
	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c cssl.c

libcssl.la: cssl.lo
	libtool link gcc -g -O -o libcssl.la -rpath $(LIBPATH)\
	-version-info $(VERSION):$(REVISION):$(AGE)\
	 cssl.lo

test.o:	test.c
	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c test.c

test:	test.o libcssl.la
	libtool link gcc -g -O -o test test.o libcssl.la

test.shared: test.c
	gcc -g -O -o test.shared test.c -lcssl

install: libcssl.la cssl.h libcssl.pc
	install -d $(LIBPATH) $(INCLUDEPATH) $(PKGCONFIGPATH)
	libtool install -c libcssl.la $(LIBPATH) 
	install -c cssl.h $(INCLUDEPATH)
	install -c libcssl.pc $(PKGCONFIGPATH)

dist:	libcssl.spec
	rm -rf $(DISTNAME)
	mkdir $(DISTNAME)
	for i in $(SOURCEFILES) ; { ln $$i $(DISTNAME)/$$i ; }
	tar -czf $(DISTNAME).tar.gz $(DISTNAME)

libcssl.spec: Makefile libcssl.spec.in
	m4 -D____CSSL_VERSION____=$(FULLVERSION) libcssl.spec.in > libcssl.spec

libcssl.pc: Makefile
	echo "prefix=$(PREFIX)" > $@
	echo "exec_prefix=$(PREFIX)" >> $@
	echo "libdir=$(LIBPATH)">> $@
	echo "includedir=$(INCLUDEPATH)" >> $@
	echo "" >> $@
	echo "Name: libcssl-$(VERSION).$(REVISION)" >> $@
	echo "Description: a serial port communication library" >> $@
	echo "Version: $(VERSION).$(REVISION).$(MINOR)" >> $@
	echo "Libs: -L\$${libdir} -lcssl" >> $@
	echo "Cflags: -I\$${includedir}" >> $@

rpm:	dist
	rpmbuild -ta $(DISTNAME).tar.gz
	mv $(SRPMPATH)/$(SRPMNAME) .
	mv $(RPMPATH)/$(RPMNAME) .

clean:
	rm -fr .libs test test.shared *.la *.lo *.o *~ $(DISTNAME) *.gz *.rpm libcssl.spec
vibing
帖子: 4
注册时间: 2009-11-29 15:03

Re: 异步串口库函数libcssl-0.9.4的编译安装

#3

帖子 vibing » 2010-06-24 20:52

root@vibing-desktop:/opt/libcssl-0.9.4# make
libtool link gcc -g -O -o libcssl.la -rpath /usr/lib\
-version-info 0:9:0\
cssl.lo
libtool: link: `0:9:0cssl.lo' is not a valid libtool object
make: *** [libcssl.la] 错误 1
vibing
帖子: 4
注册时间: 2009-11-29 15:03

Re: 异步串口库函数libcssl-0.9.4的编译安装

#4

帖子 vibing » 2010-06-25 10:31

现在的MAKEFILE为

代码: 全选

# Copyright 2003 Marcin Siennicki <m.siennicki@cloos.pl>

# see COPYING file for details 



VERSION = 0

REVISION = 9

MINOR = 4

AGE = 0



FULLVERSION = $(VERSION).$(REVISION).$(MINOR)



DISTNAME = libcssl-$(FULLVERSION)



SOURCEFILES = Makefile README INSTALL COPYING \

	test.c cssl.c cssl.h libcssl.spec libcssl.spec.in



SRPMPATH = /usr/src/redhat/SRPMS



RPMPATH = /usr/src/redhat/RPMS/i386



SRPMNAME = $(DISTNAME)-1.src.rpm



RPMNAME = $(DISTNAME)-1.i386.rpm



ifndef PREFIX

PREFIX = /usr

endif



LIBPATH = $(PREFIX)/lib

INCLUDEPATH = $(PREFIX)/include

PKGCONFIGPATH = $(PREFIX)/lib/pkgconfig



all: libcssl.la test libcssl.pc



cssl.lo: cssl.c Makefile

	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c cssl.c



libcssl.la: cssl.lo

	$(libtool) --mode=link gcc -g -O -o libcssl.la -rpath $(LIBPATH)\

	-version-info $(VERSION):$(REVISION):$(AGE)\

	cssl.lo



test.o:	test.c

	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c test.c



test:	test.o libcssl.la

	$(libtool) --mode=link gcc -g -O -o test test.o libcssl.la



test.shared: test.c

	gcc -g -O -o test.shared test.c -lcssl



install: libcssl.la cssl.h libcssl.pc

	install -d $(LIBPATH) $(INCLUDEPATH) $(PKGCONFIGPATH)

	libtool install -c libcssl.la $(LIBPATH) 

	install -c cssl.h $(INCLUDEPATH)

	install -c libcssl.pc $(PKGCONFIGPATH)



dist:	libcssl.spec

	rm -rf $(DISTNAME)

	mkdir $(DISTNAME)

	for i in $(SOURCEFILES) ; { ln $$i $(DISTNAME)/$$i ; }

	tar -czf $(DISTNAME).tar.gz $(DISTNAME)



libcssl.spec: Makefile libcssl.spec.in

	m4 -D____CSSL_VERSION____=$(FULLVERSION) libcssl.spec.in > libcssl.spec



libcssl.pc: Makefile

	echo "prefix=$(PREFIX)" > $@

	echo "exec_prefix=$(PREFIX)" >> $@

	echo "libdir=$(LIBPATH)">> $@

	echo "includedir=$(INCLUDEPATH)" >> $@

	echo "" >> $@

	echo "Name: libcssl-$(VERSION).$(REVISION)" >> $@

	echo "Description: a serial port communication library" >> $@

	echo "Version: $(VERSION).$(REVISION).$(MINOR)" >> $@

	echo "Libs: -L\$${libdir} -lcssl" >> $@

	echo "Cflags: -I\$${includedir}" >> $@



rpm:	dist

	rpmbuild -ta $(DISTNAME).tar.gz

	mv $(SRPMPATH)/$(SRPMNAME) .

	mv $(RPMPATH)/$(RPMNAME) .



clean:

	rm -fr .libs test test.shared *.la *.lo *.o *~ $(DISTNAME) *.gz *.rpm libcssl.spec
提示错误为:
mode=link gcc -g -O -o libcssl.la -rpath /usr/lib\
-version-info 0:9:0\
cssl.lo
gcc: /usr/lib-version-info: 没有那个文件或目录
gcc: 0:9:0cssl.lo: 没有那个文件或目录
gcc: unrecognized option '-rpath'
gcc: no input files
make: [libcssl.la] 错误 1 (忽略)
mode=link gcc -g -O -o test test.o libcssl.la
gcc: libcssl.la: 没有那个文件或目录
make: [test] 错误 1 (忽略)
echo "prefix=/usr" > libcssl.pc
echo "exec_prefix=/usr" >> libcssl.pc
echo "libdir=/usr/lib">> libcssl.pc
echo "includedir=/usr/include" >> libcssl.pc
echo "" >> libcssl.pc
echo "Name: libcssl-0.9" >> libcssl.pc
echo "Description: a serial port communication library" >> libcssl.pc
echo "Version: 0.9.4" >> libcssl.pc
echo "Libs: -L\${libdir} -lcssl" >> libcssl.pc
echo "Cflags: -I\${includedir}" >> libcssl.pc
wyzhang86
帖子: 1
注册时间: 2010-05-21 18:00

Re: 异步串口库函数libcssl-0.9.4的编译安装

#5

帖子 wyzhang86 » 2012-02-25 17:43

//试一下这个。。。
# Copyright 2003 Marcin Siennicki <m.siennicki@cloos.pl>
# see COPYING file for details

VERSION = 0
REVISION = 9
MINOR = 4
AGE = 0

FULLVERSION = $(VERSION).$(REVISION).$(MINOR)

DISTNAME = libcssl-$(FULLVERSION)

SOURCEFILES = Makefile README INSTALL COPYING \
test.c cssl.c cssl.h libcssl.spec libcssl.spec.in

SRPMPATH = /usr/src/redhat/SRPMS

RPMPATH = /usr/src/redhat/RPMS/i386

SRPMNAME = $(DISTNAME)-1.src.rpm

RPMNAME = $(DISTNAME)-1.i386.rpm

ifndef PREFIX
PREFIX = /usr
endif

LIBPATH = $(PREFIX)/lib
INCLUDEPATH = $(PREFIX)/include
PKGCONFIGPATH = $(PREFIX)/lib/pkgconfig

all: libcssl.la test libcssl.pc

cssl.lo: cssl.c Makefile
libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c cssl.c

libcssl.la: cssl.lo
libtool link gcc -g -O -o libcssl.la -rpath $(LIBPATH)\
-version-info cssl.lo

test.o: test.c
libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c test.c

test: test.o libcssl.la
libtool link gcc -g -O -o test test.o libcssl.la

test.shared: test.c
gcc -g -O -o test.shared test.c -lcssl

install: libcssl.la cssl.h libcssl.pc
install -d $(LIBPATH) $(INCLUDEPATH) $(PKGCONFIGPATH)
libtool install -c libcssl.la $(LIBPATH)
install -c cssl.h $(INCLUDEPATH)
install -c libcssl.pc $(PKGCONFIGPATH)

dist: libcssl.spec
rm -rf $(DISTNAME)
mkdir $(DISTNAME)
for i in $(SOURCEFILES) ; { ln $$i $(DISTNAME)/$$i ; }
tar -czf $(DISTNAME).tar.gz $(DISTNAME)

libcssl.spec: Makefile libcssl.spec.in
m4 -D____CSSL_VERSION____=$(FULLVERSION) libcssl.spec.in > libcssl.spec

libcssl.pc: Makefile
echo "prefix=$(PREFIX)" > $@
echo "exec_prefix=$(PREFIX)" >> $@
echo "libdir=$(LIBPATH)">> $@
echo "includedir=$(INCLUDEPATH)" >> $@
echo "" >> $@
echo "Name: libcssl-$(VERSION).$(REVISION)" >> $@
echo "Description: a serial port communication library" >> $@
echo "Version: $(VERSION).$(REVISION).$(MINOR)" >> $@
echo "Libs: -L\$${libdir} -lcssl" >> $@
echo "Cflags: -I\$${includedir}" >> $@

rpm: dist
rpmbuild -ta $(DISTNAME).tar.gz
mv $(SRPMPATH)/$(SRPMNAME) .
mv $(RPMPATH)/$(RPMNAME) .

clean:
rm -fr .libs test test.shared *.la *.lo *.o *~ $(DISTNAME) *.gz *.rpm libcssl.spec
ma95221
帖子: 1
注册时间: 2015-07-20 11:52
系统: ubuntu 12

Re: 异步串口库函数libcssl-0.9.4的编译安装

#6

帖子 ma95221 » 2015-07-20 11:55

感谢5楼的分享,我将52行改了一下,可以正常编译了

代码: 全选

# Copyright 2003 Marcin Siennicki <m.siennicki@cloos.pl>
# see COPYING file for details

VERSION = 0
REVISION = 9
MINOR = 4
AGE = 0

FULLVERSION = $(VERSION).$(REVISION).$(MINOR)

DISTNAME = libcssl-$(FULLVERSION)

SOURCEFILES = Makefile README INSTALL COPYING \
test.c cssl.c cssl.h libcssl.spec libcssl.spec.in

SRPMPATH = /usr/src/redhat/SRPMS

RPMPATH = /usr/src/redhat/RPMS/i386

SRPMNAME = $(DISTNAME)-1.src.rpm

RPMNAME = $(DISTNAME)-1.i386.rpm

ifndef PREFIX
	PREFIX = /usr
endif

LIBPATH = $(PREFIX)/lib
INCLUDEPATH = $(PREFIX)/include
PKGCONFIGPATH = $(PREFIX)/lib/pkgconfig

all: libcssl.la test libcssl.pc

cssl.lo: cssl.c Makefile
	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c cssl.c

libcssl.la: cssl.lo
	libtool link gcc -g -O -o libcssl.la -rpath $(LIBPATH)\
	-version-info cssl.lo

test.o: test.c
	libtool compile gcc -Wall -D_GNU_SOURCE -g -O -c test.c

test: test.o libcssl.la
	libtool link gcc -g -O -o test test.o libcssl.la

test.shared: test.c
	gcc -g -O -o test.shared test.c -lcssl

install: libcssl.la cssl.h libcssl.pc
	install -d $(LIBPATH) $(INCLUDEPATH) $(PKGCONFIGPATH)
	install -c libcssl.la $(LIBPATH)
	install -c cssl.h $(INCLUDEPATH)
	install -c libcssl.pc $(PKGCONFIGPATH)

dist: libcssl.spec
	rm -rf $(DISTNAME)
	mkdir $(DISTNAME)
	for i in $(SOURCEFILES) ; { ln $$i $(DISTNAME)/$$i ; }
	tar -czf $(DISTNAME).tar.gz $(DISTNAME)

libcssl.spec: Makefile libcssl.spec.in
	m4 -D____CSSL_VERSION____=$(FULLVERSION) libcssl.spec.in > libcssl.spec

libcssl.pc: Makefile
	echo "prefix=$(PREFIX)" > $@
	echo "exec_prefix=$(PREFIX)" >> $@
	echo "libdir=$(LIBPATH)">> $@
	echo "includedir=$(INCLUDEPATH)" >> $@
	echo "" >> $@
	echo "Name: libcssl-$(VERSION).$(REVISION)" >> $@
	echo "Description: a serial port communication library" >> $@
	echo "Version: $(VERSION).$(REVISION).$(MINOR)" >> $@
	echo "Libs: -L\$${libdir} -lcssl" >> $@
	echo "Cflags: -I\$${includedir}" >> $@

rpm: dist
	rpmbuild -ta $(DISTNAME).tar.gz
	mv $(SRPMPATH)/$(SRPMNAME) .
	mv $(RPMPATH)/$(RPMNAME) .

clean:
	rm -fr .libs test test.shared *.la *.lo *.o *~ $(DISTNAME) *.gz *.rpm libcssl.spec
回复