Summary: | net-dialup/misdn net-dialup/misdn-user version bump request | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Stein <himbeere> |
Component: | Current packages | Assignee: | Gentoo Dialup Developers <net-dialup> |
Status: | RESOLVED WONTFIX | ||
Severity: | enhancement | CC: | Dan.Johansson, gentoobugs, mario, pfrank |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://www.misdn.org/downloads/releases/ | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
version bump
version bump Updated ebuild for 1.1.20 ebuild for 1.1.20 that makes shared libs Patch build system to make shared libs with proper SONAME versioning ebuild for 1.1.20 that makes shared libs with proper SONAME versioning misdn/misdn-1.1.9.2.ebuild net-dialup/misdnuser-1.1.9.ebuild Fix include statements in mbuffer.h Fix object list in lib/Makefile for *.so file Fixed patch to name the shared file correctly Updated: Apply *-mbuffer.patch and *.objects.patch also Asterisk C test config file (from configure) |
Description
Thomas Stein
2008-08-04 11:36:31 UTC
Created attachment 163386 [details]
version bump
Created attachment 163388 [details]
version bump
kernel patch removed, early tests with 2.6.24-r8 successful Created attachment 169162 [details]
Updated ebuild for 1.1.20
This ebuild will build with a kernel >= 2.6.27 and the now mainline mISDN driver. You will need to create an updated ebuild for mISDN 1.2.0 if you want to use the out of tree driver.
Disregard the last ebuild attached as it violates metadata invariance Also this ebuild needs to patch the build system so that shared libraries are versioned Created attachment 169704 [details]
ebuild for 1.1.20 that makes shared libs
Created attachment 169706 [details, diff]
Patch build system to make shared libs with proper SONAME versioning
Use this with the latest 1.1.20 ebuild
Created attachment 169708 [details]
ebuild for 1.1.20 that makes shared libs with proper SONAME versioning
We need to actually call check_extra_config for the check to happen :)
May i kindly ask whats 1.1.8 holding back from releasing to portage? (In reply to comment #9) > Created an attachment (id=169708) [edit] > ebuild for 1.1.20 that makes shared libs with proper SONAME versioning > > We need to actually call check_extra_config for the check to happen :) > Doesn't work for me, I suspect the working folder is incorrect as per the following output: >>> Unpacking mISDNuser.tar.gz to /var/tmp/portage/net-dialup/misdnuser-1.1.20/work /var/tmp/portage/net-dialup/misdnuser-1.1.20/temp/environment: line 2912: cd: /var/tmp/portage/net-dialup/misdnuser-1.1.20/work/misdnuser-1.1.20: No such file or directory * Applying misdnuser-1.1.20-shared.patch ... * Failed Patch: misdnuser-1.1.20-shared.patch ! * ( /usr/local/portage/net-dialup/misdnuser/files/misdnuser-1.1.20-shared.patch ) * * Include in your bugreport the contents of: * * /var/tmp/portage/net-dialup/misdnuser-1.1.20/temp/misdnuser-1.1.20-shared.patch-13405.out * * ERROR: net-dialup/misdnuser-1.1.20 failed. * Call stack: * ebuild.sh, line 49: Called src_unpack * environment, line 2913: Called epatch '/usr/local/portage/net-dialup/misdnuser/files/misdnuser-1.1.20-shared.patch' * environment, line 1453: Called die * The specific snippet of code: * die "Failed Patch: ${patchname}!"; * The die message: * Failed Patch: misdnuser-1.1.20-shared.patch! * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-dialup/misdnuser-1.1.20/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-dialup/misdnuser-1.1.20/temp/environment'. * This ebuild is from an overlay: '/usr/local/portage/' * Adding this line fixes it for me: S="${WORKDIR}/mISDNuser" Regards, Created attachment 201109 [details]
misdn/misdn-1.1.9.2.ebuild
Created attachment 201111 [details]
net-dialup/misdnuser-1.1.9.ebuild
Have a problem with misdnuser-1.1.20. There are no symbols generated in libmISDN.so - and in recent ebuilds the *.a files are no more installed. I had a look to lib/Makefile (from original source) and saw the following lines: ----------------------- cut ---------------------- MISDN_OBJ = debug.o mbuffer.o q931.o fsm.o mtimer.o mlayer3.o layer3.o dss1user.o dss1net.o MISDN_PICOBJ = $(ISDNNET_OBJ:%.o=%.lo) ... libmisdn.so: $(MISDN_OBJ) $(CC) $(CFLAGS) -shared -Xlinker -x -o $@ $^ ----------------------- cut ---------------------- After patch with misdnuser-1.1.20-shared.patch (attached here) it becomes: ----------------------- cut ---------------------- MISDN_OBJ = debug.o mbuffer.o q931.o fsm.o mtimer.o mlayer3.o layer3.o dss1user.o dss1net.o MISDN_PICOBJ = $(ISDNNET_OBJ:%.o=%.lo) ... libmisdn.so: $(MISDN_PICOBJ) $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmISDN.so.0 -shared -o libmISDN.so.0 \ $(MISDN_PICOBJ) ----------------------- cut ---------------------- There are several problems. 1. libmisdn.so is never created. 2. MISDN_PICOBJ is always empty (due ISDNNET_OBJ is empty) Question: What is intended: generate libmISDN.so or libmisdn.so ? (I think the latter one has to be generated) Next Problem: mbuffer.h is installed to /usr/include/mISDNuser. But inside it includes mISDNif.h (not mISDNuser/mISDNif.h !). So any application which wants to use misdn does not compile. This applies to some other includes also. Created attachment 215144 [details, diff]
Fix include statements in mbuffer.h
Created attachment 215145 [details, diff]
Fix object list in lib/Makefile for *.so file
Created attachment 215146 [details, diff]
Fixed patch to name the shared file correctly
Created attachment 215148 [details]
Updated: Apply *-mbuffer.patch and *.objects.patch also
Hi Petric, thanks for your patches. But there are a few problems: 1. The mbuffer patch is not working. Because during compilation mbuffer.h is used. But the includes are not in the directory mISDNuser. This only happens if you emerge misdnuser this first time. If you ever installed misdnuser successfully you have the specified directory in /usr/include. 2. The library searched by asterisk (chan_misdn) is called libmISDN. But the file is libmisdn (attention to the case of the letters). I try to emerge misdnuser and emerge asterisk with +misdn. If I have luck I will give you a feedback. Hmmmm.... I didn't get it :-( asterisk-libmISDN.c is the Test C file of asterisk vor mISDN. I think this is one of the best files to test. It should get compiled by i686-pc-linux-gnu-gcc -o conftest -g -O2 test.c -lmISDN -lm Or whatever gcc you use. If I try to compaile asterisk-libmISDN.c I get following: /tmp/ccK5KEVB.o: In function `main': /root/asterisk-libmISDN.c:235: undefined reference to `mISDN_open' /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../libmISDN.so: undefined reference to `pthread_create' /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../libmISDN.so: undefined reference to `pthread_cancel' /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../libmISDN.so: undefined reference to `pthread_join' collect2: ld gab 1 als Ende-Status zurück Created attachment 221465 [details]
Asterisk C test config file (from configure)
Asterisk C test config file (from configure)
If you add -lpthread in line 62 of misdnuser-1.1.20-shared.patch than the pthread problem is gone. mISDN_open has been moved into the kernel. How do I link against it? dropped |