Splashutils Makefile error?
I have had some success with getting splashutils to build. I've been having terrible trouble with it for ages but finally hit upon at least half of the solution. Now I just need someone who knows C to figure out the last hurdle.
I have added klibc-beyond to [community], this provides the headers necessary to build splashutils; figuring that out was the first stage.
The next problem is a simple build error in the included jpeglib. Here is the short build log, which shows the errors. Here is the big build log with all the details. Finally, here is the PKGBUILD for gensplashutils as it currently stands.
Please help!
Fixed it and working - diff. That fixes both build errors. I have tested it and it seems to be fine.
What a pain in the ass this app is!
Similar Messages
-
Simple makefile error???
Hi,
I'm trying to compile one of IBM's packages in Solaris 7, Workshop 5.0, and every single Makefile which contains the line "-include filename" results in a compile error. Could this be the result of a Solaris installation error? There are about 7 or 8 makefiles and most of them have this -include line. Any help is appreciated.
JoeJoe,
The error message is cryptic and does not identify the real problem.
The "-include filename" that you refer to is specific to GNU make and its variants, rather than the Solaris variant of make. I recently discovered this difference when porting a make file from GNU make to Solaris. The "-" tells the GNU make that if the file does not exist, keep going.
Take the "-" off of the include statement. Without the "-", make will exit with an error if the file does not exist. You may have to create the file or create a rule so that make can create it for you. -
Compile CIN via VC++6 Makefile error
Hello,
I try to compile .lsb file via VC++6 accorrding to the instrunction below:
1.Create a makefile (using Notepad or something equivalent) with the following lines:
name=name_of_c_file_without_the_extension
type=CIN
cinlibraries=Kernel32.lib
CINTOOLSDIR=path_to_cintools_directory (in MS-DOS formatc:\progra~1\nation~1\Labvie~1\cintools\)
!include <$(CINTOOLSDIR)\ntlvsb.mak>
Save this file with the filename "name_of_c_file.mak" and save it in the
same directory as the C file.
2. launch VC++.
Choose File -> Open (NOT Open Workspace)
Open the makefile that you just created.
get a dialog that says that the makefile was not created with VC++ (choose to proceed)
Now, another dialog that will ask what kind of platform to use (choose Win32)
Now, the makefile is loaded and the CIN is ready to be built. Choose Build.
But I got the follwoing error:
fatal error C1083: Cannot open include file: 'extcode.h': No such file or directory
Error executing cl.exe.
Can any body tell me why?HighTechie wrote:
Hello, I try to compile .lsb file via VC++6 accorrding to the instrunction below: 1.Create a makefile (using Notepad or something equivalent) with the following lines: name=name_of_c_file_without_the_extension
type=CIN
cinlibraries=Kernel32.lib
CINTOOLSDIR=path_to_cintools_directory (in MS-DOS formatc:\progra~1\nation~1\Labvie~1\cintools\)
!include <$(CINTOOLSDIR)\ntlvsb.mak>
Save this file with the filename "name_of_c_file.mak" and save it in the
same directory as the C file.
2. launch VC++.
Choose File -> Open (NOT Open Workspace)
Open the makefile that you just created.
get a dialog that says that the makefile was not created with VC++ (choose to proceed)
Now, another dialog that will ask what kind of platform to use (choose Win32)
Now, the makefile is loaded and the CIN is ready to be built. Choose Build. But I got the follwoing error:
fatal error C1083: Cannot open include file: 'extcode.h': No such file or directory
Error executing cl.exe. Can any body tell me why?
You need to tell Visual C where it should find your header files.
This is done under Tools->Optionsirectories:Include Directories. There you add an entry to your LabVIEW cintools directory.
Alternatively you can completely avoid the Visual C development environment and add a line
include=$(CINTOOLSDIR)
to your makefile. Open a command line, change the current directory to
the directory where your makefile and CIN source is and type "nmake -f
<your makefile>"
And even better would be to forget about CINs and create your C code as
DLL instead. There you can use the Visual C IDE to develop and debug
your DLL just as you would any other C project. The Call Library Node
since about LabVIEW 6.0 has really the same features as what you could
do with a CIN (except a few very esoteric things I can guarantee you
will never even want to know about).
Rolf Kalbermatter
Message Edited by rolfk on 01-05-2006 04:31 PM
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Using __SUNPRO_CC in makefile -error
Hi,
Using solaris 2.6, make (i think is) sun0s 5.6 and compiler version is 5.3
In the make file I'm trying to do a couple of things:
ifneq(__SUNPRO_CC,0x530)
include $(OBJDIR)/.depend
endif
It should be equal and therefore not do makedepend (for some reason we get a core
dump when doing a makedepend on compiler 5.3 - has anyone seen this???)
but it's not working.
Any ideas as to what i'm doing wrong? - i've also tried something else in regards to OS release:
@if[$(shell uname -r) -ge 5.6]; then _DSUNSOL26; fi
but this doesn't work either - please help!
thanks,
ChrisIt seems you are using a compiler-reserved definition [i.e. __SUNPRO_CC] in your Makefile, which I wouldn't recommend. I don't get core dumps with 'makedepend', but neither do I use it to generate dependencies; I use the following technique [sorry, I don't know how to force-print spaces]:
ifeq ($(COMPILER),SUNPRO)
CC=CC
CCPATH=/tools/forte_c++/SUNWspro/bin/$(CC)
MKDEPEND=$(CCC) -xM1 # use -xM if you care about system headers
else
ifeq ($(COMPILER),GNU)
CC=g++
CCPATH=/tools/bin/$(CC)
MKDEPEND=$(CCC) -MM # use -M if you care about system headers
else
$(error error: $$(COMPILER) set to unrecognized value '$(COMPILER)')
endif
endif
o
o
o
$(TARGET)%.o : %.cc
-@if [ ! -d $(TARGET) ]; then $(MKDIR) $(TARGET); fi
@$(MKDEPEND) $(CC_FLAGS) $(COMPILE_OPTIONS) $< \
| sed -e '/[^\.][^\.]*\.o/s@^@$(TARGET)@' > $(@:.o=.d)
$(CCC) $(CC_FLAGS) $(COMPILE_OPTIONS) -c $< -o $@
... Dave -
Oracle 9i install Errors on SuSE Linux 9
I am getting a makefile error on ins_rdbms.mk during the initial install of Oracle 9i.
I've done a grep on make while it is running, and see the command is as follows:
usr/bin/make -f /usr/local/Oracle/oracleSTM/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME=/usr/local/Oracle/oracleSTM
When I run it manually, I get the following errors:
hidden symbol `__fixunssfdi' in /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a(_fixunssfdi.oS) is referenced by DSO
collect2: ld returned 1 exit status
Any suggestions?
Thanks,
SeanHello Widya,
I am glad that you found our documents helpful.
Did you face any problems while following the document? Was it clear enough? Did the installation go as documented?
If no, then I would like to hear about them. We can update the document to make it more useful to OTN Users.
It would be very helpful is you can mention the problems; if any.
Thanks,
Rajat -
Error during the installation of OWB 10g: ins_plsql.mk
Hello,
When trying to install OWB10g for Linux, the error to proceed is presented:
"Error in invoking 'install' of makefile '/oracle/OWB10g/plsql/lib/ins_plsql.mk'."
The DB is 9.2.0.5 and the SO is Red Hat Enterprise Linux 3.
Trankful for the attenction.
Marcos FreitasMarcos,
We have seen these makefile errors on Solaris if ORACLE_HOME is not set to OWB before start of OUI install.
If OWB is installing to /home/owb, ORACLE_HOME needs to point to /home/owb even if the dir does not exist before the start of Install.
Can you please try that?
Thanks,
Mark. -
Trouble compiling aMSN-CVS (Make Error 77)
I was trying to install aMSN-CVS from the latest AUR package and I keep running into this error:
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [Makefile] Error 77
==> ERROR: Build Failed. Aborting...
Following the trail, I checked out config.log to see what was going wrong and this is the part that seems to be causing the issue:
## Core tests. ##
configure:1988: checking for gcc
configure:2004: found /usr/bin/gcc
configure:2015: result: gcc
configure:2253: checking for C compiler version
configure:2260: gcc --version >&5
gcc (GCC) 4.1.2
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2263: $? = 0
configure:2270: gcc -v >&5
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1.2/configure --prefix=/usr --enable-shared --enable-languages=c,c++,objc --enable-threads=posix$
Thread model: posix
gcc version 4.1.2
configure:2273: $? = 0
configure:2280: gcc -V >&5
gcc: '-V' option must have argument
configure:2283: $? = 1
configure:2306: checking for C compiler default output file name
configure:2333: gcc -march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/i$
gcc: svnversion: No such file or directory
gcc: >: No such file or directory
gcc: &&: No such file or directory
gcc: svnversion`"': No such file or directory
gcc: >: No such file or directory
gcc: &&: No such file or directory
gcc: svnversion`"': No such file or directory
configure:2336: $? = 1
configure:2374: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2381: error: C compiler cannot create executables
See `config.log' for more details.
Does anyone have any ideas what could be causing this? I'm rather stumped. I can post the whole config.log if that would help.
I've tried some basic tests with other things and everything else I've tried to compile works just fine, it only seems to be the aMSN package having the issues, yet it looks like it's a problem with the GCC config and not aMSN.
Any help would be greatly appreciated.Same problem here, with a fresh installation. If it is really a configuration problem, could somebody help us to check what is the problem ?
The config.log extract posted by Locri is missing some information, probably due to the use of nano...
Here is an extract from mine :
configure:2263: $? = 0
configure:2270: gcc -v >&5
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 20070423 (prerelease)
configure:2273: $? = 0
configure:2280: gcc -V >&5
gcc: '-V' option must have argument
configure:2283: $? = 1
configure:2306: checking for C compiler default output file name
configure:2333: gcc -march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='"amsn"' -DVERSION='"0.97b-svn`which svnversion > /dev/null && svnversion`"' -DLIBDIR='"/var/abs/local/yaourtbuild/amsn-svn
/src/amsn-build"' -fPIC conftest.c >&5
gcc: svnversion: No such file or directory
gcc: >: No such file or directory
gcc: &&: No such file or directory
gcc: svnversion`"': No such file or directory
configure:2336: $? = 1
configure:2374: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2381: error: C compiler cannot create executables
And the complete version, just in case :
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ ./configure --prefix=/usr
## Platform. ##
hostname = DeepThought
uname -m = i686
uname -r = 2.6.21-ARCH
uname -s = Linux
uname -v = #1 SMP PREEMPT Fri May 25 18:51:33 CEST 2007
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = i686
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /bin
PATH: /usr/bin
PATH: /sbin
PATH: /usr/sbin
PATH: /usr/X11R6/bin
PATH: /opt/bin
PATH: /opt/java/bin
PATH: /opt/java/jre/bin
PATH: /opt/mozilla/bin
## Core tests. ##
configure:1988: checking for gcc
configure:2004: found /usr/bin/gcc
configure:2015: result: gcc
configure:2253: checking for C compiler version
configure:2260: gcc --version >&5
gcc (GCC) 4.1.2 20070423 (prerelease)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2263: $? = 0
configure:2270: gcc -v >&5
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 20070423 (prerelease)
configure:2273: $? = 0
configure:2280: gcc -V >&5
gcc: '-V' option must have argument
configure:2283: $? = 1
configure:2306: checking for C compiler default output file name
configure:2333: gcc -march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='"amsn"' -DVERSION='"0.97b-svn`which svnversion > /dev/null && svnversion`"' -DLIBDIR='"/var/abs/local/yaourtbuild/amsn-svn/src/amsn-build"' -fPIC conftest.c >&5
gcc: svnversion: No such file or directory
gcc: >: No such file or directory
gcc: &&: No such file or directory
gcc: svnversion`"': No such file or directory
configure:2336: $? = 1
configure:2374: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2381: error: C compiler cannot create executables
See `config.log' for more details.
## Cache variables. ##
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='\''"amsn"'\'' -DVERSION='\''"0.97b-svn`which svnversion > /dev/null && svnversion`"'\'' -DLIBDIR='\''"/var/abs/local/yaourtbuild/amsn-svn/src/amsn-build"'\'' -fPIC'
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=set
ac_cv_env_CXXFLAGS_value='-march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='\''"amsn"'\'' -DVERSION='\''"0.97b-svn`which svnversion > /dev/null && svnversion`"'\'' -DLIBDIR='\''"/var/abs/local/yaourtbuild/amsn-svn/src/amsn-build"'\'' -fPIC'
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_XMKMF_set=
ac_cv_env_XMKMF_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_prog_ac_ct_CC=gcc
## Output variables. ##
APPNAME='amsn'
APPRELEASE='1'
APPSTABLE='no'
APPVERSION='0.97b'
BUILD_DIR=''
CC='gcc'
CFLAGS='-march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='\''"amsn"'\'' -DVERSION='\''"0.97b-svn`which svnversion > /dev/null && svnversion`"'\'' -DLIBDIR='\''"/var/abs/local/yaourtbuild/amsn-svn/src/amsn-build"'\'' -fPIC'
CONFIGURE_ARGS='/usr/share/config.site /usr/etc/config.site'
CPP=''
CPPFLAGS=''
CXX=''
CXXFLAGS='-march=i686 -O2 -pipe -O2 -w -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include -I. -I./utils/linux/capture -I./utils/linux/capture/libng -I./utils/linux/capture/structs -I./utils/webcamsn/src -I./utils/tcl_siren/src -I./utils/TkCximage/src -I./utils/TkCximage/src/CxImage -DPACKAGE='\''"amsn"'\'' -DVERSION='\''"0.97b-svn`which svnversion > /dev/null && svnversion`"'\'' -DLIBDIR='\''"/var/abs/local/yaourtbuild/amsn-svn/src/amsn-build"'\'' -fPIC'
CXX_LIB=''
DEBUG='no'
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FOUND_OS='linux'
FOUND_X11=''
GREP=''
LDFLAGS=''
LDLIBS=''
LIBDIR=''
LIBOBJS=''
LIBPTHREAD=''
LIBS=''
LTLIBOBJS=''
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PWC='no'
SHELL='/bin/sh'
STATIC='no'
TCLSH='/usr/bin/tclsh'
TCL_INC_SPEC=''
TCL_LIB_DIR=''
TCL_STUB_LIB_SPEC=''
TK_INC_SPEC=''
TK_LIB=''
TK_LIBS=''
TK_LIB_DIR=''
TK_STUB_LIB_SPEC=''
TK_VERSION=''
TOP_DIR=''
USE_MMX=''
XMKMF=''
X_CFLAGS=''
X_EXTRA_LIBS=''
X_LIBS=''
X_PRE_LIBS=''
ac_ct_CC='gcc'
ac_ct_CXX=''
ac_prefix_program=''
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## confdefs.h. ##
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
configure: exit 77
Last edited by Skippy le Grand Gourou (2007-06-12 22:31:48) -
9iASr2 Infrastructure Install makefile fail - clntsh
I ran up against a makefile error when installing 9iASr2 Infrastructure on a AMD box running SuSE 8.0.
When linking the database, I got as error like "couldn't make target ...", in my case ld coundn't find "clntsh".
I found the solution thanks to Thiago Massariolli Sigrist in message 997821. So apparently did several other people.
Thanks Thiago....Solved. Thanks to....
http://www.vecna.com/whatWeDo/projects/9ias-experience.html -
Building Asterisk from source error
Hello, I'm fairly new to Arch Linux and have been attempting to build Asterisk from source. Building on a Raspberry Pi and when I try and make, I get this error:
[pi@alarmpi asterisk-1.4.44]$ make
[CC] src/add.c -> src/add.o
gcc: error: unrecognized argument in option '-march=armv6l'
gcc: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc iwmmxt iwmmxt2 native
gcc: error: unrecognized argument in option '-march=armv6l'
gcc: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc iwmmxt iwmmxt2 native
/home/pi/builds/asterisk-1.4.44/Makefile.rules:91: recipe for target 'src/add.o' failed
make[2]: *** [src/add.o] Error 1
Makefile:50: recipe for target 'gsm/lib/libgsm.a' failed
make[1]: *** [gsm/lib/libgsm.a] Error 2
Makefile:369: recipe for target 'codecs' failed
make: *** [codecs] Error 2
I'm not very well versed in diagnosing Makefile errors…but I would assume at least one of the errors would be from gcc not seeing a valid -march option. Any suggestions on where I should look or what I should change to correct this error?
Last edited by zaplack (2014-11-18 20:23:37)I found this repo to be missing several essential tools; as far as I got I "found" that
unzip and rsync were missing.
Just adding a generic cygwin/bin to the path did not work, because an unsuitable version
of ranlib got into the tool chain.
I made some progress by constructing a special bin directory that contained only the
DLLs from cygwin/bin + unzip + rsync
The next stumble (still unresolved) is in make "make"
checking whether the C compiler works... no
configure: error: in `/cygdrive/c/crossbridge-master/build/win/make':
configure: error: C compiler cannot create executables -
Slow and insecure but feature-rich pacman wrapper in bash
This project of mine started because I want to compile my packages in a way that lets me delete gnome apps. Here's the problem: I see that evince depends on gnome-keyring, gnome-keyring depends on gconf and alltray depends on gconf. This leads me to think that if I recompile evince to not use gnome-keyring and recompile alltray to not use gconf, I can delete gconf.
NO!
I have to recompile evince to not use gconf as well because little do I know from pacman's dependency handling... gconf is a direct (but second level) dependency of evince as it's compiled as well.
This is a pretty standard problem. It's the reason why debian dependency lists are so damn long. I don't want Arch to move to a system like that... well sort of. Here's what I did. I made a script that acts just like pacman but when you tell it to download and install a package, it tells pacman to only download that package into a separate cache, then it extracts the package, finds all dynamic executables in the package, uses ldd to determine their library dependencies, uses pacman -Qo to find packages that own these dependencies (and caches them in a file so they can be looked up more quickly in the future), applies some other enhancements that should be visible in the script, then adds the new dependencies to the depends array and makes sure that none are duplicated. It also formats the array so that it goes (original clean dependency list) kernel26 (new list). That way it can parse queries as well so -Qi will omit all the dependencies after kernel26 and the Required By section while -Qii shows everything. This is the perfect compromise for me. Not sure if it will be for you.
Other things it does:
* Checks if AUR packages need updating (but doesn't update them)
* Takes out docs and gconf schemas
* Cleans up man pages so there's no /usr/man and just /usr/share/man/man*
* Convers /usr/share/man/locale/man1/whatever.1.gz to /usr/share/man/man1/whatever-locale.1.gz
* Converts info pages to man pages with info2man and puts them in man9
* Gzips all man pages
* Allows replacing packages with -U
* Package specific stuff like disabling the firefox error console.
Regretably I had to make it play around with the md5sums. This essentially makes them useless but if I don't do this reinstalling a package that is in the main cache because this script put it there fails due to corruption. So you might want to get rid of this "feature" and probably the firefox / uvesafb /gstreamer / info2man stuff but this is cool so tell me what you think of it.
#!/bin/bash
function aur_check {
STARTDIR=`pwd`
cd /var/cache/pacman
for r in `pacman -Qmq`; do
wget "http://aur.archlinux.org/packages/$r/$r/PKGBUILD" >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOCAL_VERSION_REL=`'pacman' -Q $r | awk '{print $2}'`
LOCAL_VERSION=`echo $LOCAL_VERSION_REL| sed -e 's/-.*//g'`
REMOTE_VERSION=`cat PKGBUILD | grep -E '^pkgver=' | sed -e 's/pkgver=//g' | sed -e 's/[ ]*//g'`
REMOTE_REL=`cat PKGBUILD | grep -E '^pkgrel=' | sed -e 's/pkgrel=//g'`
if [[ "$LOCAL_VERSION" < "$REMOTE_VERSION" ]]; then
printf "warning: $r: ignoring package upgrade ($LOCAL_VERSION_REL => ${REMOTE_VERSION}-${REMOTE_REL})\n"
fi
rm PKGBUILD
fi
done
cd $STARTDIR
function sync_check {
STARTDIR=`pwd`
cd /var/cache/pacman
IGNORED_PACKAGES=`cat /etc/pacman.conf | grep -E '^IgnorePkg' | sed -e 's/IgnorePkg[ ]*=[ ]*//g'`
for s in $IGNORED_PACKAGES; do
REMOTE_VERSION_STRING=`'pacman' -Si $s 2>/dev/null | grep -E '^Version'`
if [ $? -eq 0 ]; then
REMOTE_VERSION_REL=`echo $REMOTE_VERSION_STRING | awk '{print $3}'`
LOCAL_VERSION_STRING=`'pacman' -Q $s 2>/dev/null`
if [ $? -eq 0 ]; then
LOCAL_VERSION_REL=`echo $LOCAL_VERSION_STRING | awk '{print $2}'`
printf "warning: $s: ignoring package upgrade ($LOCAL_VERSION_REL => $REMOTE_VERSION_REL)\n"
fi
fi
done
cd $STARTDIR
function remove_crap {
# No docs or schemas.
rm -rf 2>/dev/null ./usr/share/doc
rm -rf 2>/dev/null ./usr/share/gtk-doc
rm -rf 2>/dev/null ./etc/gconf
# Please delete this file. It is not necessary for linking the library.
find . -name "*.la" -exec rm {} \;
# Only one man directory please.
if [ -d ./usr/man ]; then
if [ ! -d ./usr/share ]; then
mkdir ./usr/share
fi
mv ./usr/man ./usr/share/man
fi
if [ -d ./usr/share/man ]; then
cd ./usr/share/man
ls | grep 'cat' | xargs rm -rf
if [ -d ./man ]; then
mv ./man/* .
rm -rf ./man
fi
# Imposes what I consider to be a better naming convention for some reason.
for t in `ls`; do
if [ $t != 'man0' ] && [ $t != 'man1' ] && [ $t != 'man2' ] && [ $t != 'man3' ] && [ $t != 'man4' ] && [ $t != 'man5' ] && [ $t != 'man6' ] && [ $t != 'man7' ] && [ $t != 'man8' ] && [ $t != 'man9' ] && [ $t != 'mann' ] && [ $t != 'manm' ]; then
cd $t
for u in `ls`; do
cd $u
for v in `ls`; do
SECOND_LAST_EXTENSION=`echo $v | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $v | sed -e 's/\.gz$//g' | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
SUFFIX=`echo $v | sed -e "s/$PREFIX//g"`
if [ ! -h $v ]; then
install -D $v ../../${u}/${PREFIX}-${t}${SUFFIX}
else
TARGET=`readlink $v`
TARGET_SECOND_LAST_EXTENSION=`echo $TARGET | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
TARGET_PREFIX=`echo $TARGET | sed -e 's/\.gz$//g' | sed -e "s/\.${TARGET_SECOND_LAST_EXTENSION}//g"`
TARGET_SUFFIX=`echo $TARGET | sed -e "s/${TARGET_PREFIX}//g"`
install -d ../../${u}
ln -s ${TARGET_PREFIX}-${t}${TARGET_SUFFIX} ../../${u}/${PREFIX}-${t}${SUFFIX}
fi
done
cd ..
done
cd ..
rm -rf $t
fi
done
# Now that it is nicely organized we can gzip everything and add symlinks.
for x in `ls`; do
cd $x
for y in `ls`; do
echo $y | grep -q -E '\.gz$'
if [ $? -ne 0 ]; then
gzip $y >/dev/null 2>&1
SECOND_LAST_EXTENSION=`echo $y | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $y | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
NEW_NAME=`echo $PREFIX | sed -e 's/\./-/g'`
if [ $NEW_NAME != $PREFIX ]; then
ln -s ${y}.gz ${NEW_NAME}.${SECOND_LAST_EXTENSION}.gz
fi
else
SECOND_LAST_EXTENSION=`echo $y | sed -e 's/\.gz$//g' | rev | sed -e 's/\..*//g' | rev`
PREFIX=`echo $y | sed -e 's/\.gz//g' | sed -e "s/\.${SECOND_LAST_EXTENSION}//g"`
NEW_NAME=`echo $PREFIX | sed -e 's/\./-/g'`
if [ $NEW_NAME != $PREFIX ]; then
ln -s ${y} ${NEW_NAME}.${SECOND_LAST_EXTENSION}.gz
fi
fi
done
cd ..
done
cd ../../..
fi
# Converts info pages to man pages in the man9 directory
if [ -d ./usr/share/info ]; then
if [ -d ./usr/share/man ]; then
mkdir ./usr/share/man/man9
else
mkdir ./usr/share/man
mkdir ./usr/share/man/man9
fi
cd ./usr/share/info
for z in `ls`; do
echo $z | grep -q -E '\.gz$'
if [ $? -eq 0 ]; then
NAME=`echo $z | sed -e 's/\.gz$//g'`
NEWNAME=`echo $NAME | sed -e 's/\./-/g'`
gunzip $z
info2man $NAME > ../man/man9/${NEWNAME}
gzip ../man/man9/${NEWNAME} >/dev/null 2>&1
else
NEWNAME=`echo $z | sed -e 's/\./-/g'`
info2man $z > ../man/man9/${NEWNAME}
gzip ../man/man9/${NEWNAME} >/dev/null 2>&1
fi
done
cd ../../..
rm -rf ./usr/share/info
fi
function install_with_u {
ULTIMATE_ANSWER="y"
# Checks if there are package conflicts
CONFLICTS=`cat .PKGINFO | grep 'conflict = ' | awk '{print $3}'`
ACTUAL_CONFLICTS=""
for p in $CONFLICTS; do
VERSION_CHECK=0
CONFLICTING_PACKAGE=`echo $p | sed -r 's/(>|=|<).*//g'`
# Checks if these conflicts actually affect packages on the system
'pacman' -Q $CONFLICTING_PACKAGE >/dev/null 2>&1
if [ $? -eq 0 ]; then
AFFECTED=1
if [ ${#p} -gt ${#CONFLICTING_PACKAGE} ]; then
AFFECTED=0
# If a version is specified, finds it out and sees if we're affected
CONFLICTING_VERSION_STRING=${p:${#CONFLICTING_PACKAGE}:${#p}-${#CONFLICTING_PACKAGE}}
RELATION=${CONFLICTING_VERSION_STRING:1:2}
if [ "$RELATION" = "=" ]; then
RELATION=${CONFLICTING_VERSION_STRING:0:1}${RELATION}
CONFLICTING_VERSION=${CONFLICTING_VERSION_STRING:2:${#CONFLICTING_VERSION_STRING}-2}
else
RELATION=${CONFLICTING_VERSION_STRING:0:1}
CONFLICTING_VERSION=${CONFLICTING_VERSION_STRING:1:${#CONFLICTING_VERSION_STRING}-1}
fi
ACTUAL_VERSION=`pacman -Q $CONFLICTING_PACKAGE | awk '{print $2}'`
if [ "$RELATION" = ">" ]; then
if [[ "$ACTUAL_VERSION" > "$CONFLICTING_VERSION" ]]; then
AFFECTED=1
fi
elif [ "$RELATION" = "<" ]; then
if [[ "$ACTUAL_VERSION" < "$CONFLICTING_VERSION" ]]; then
AFFECTED=1
fi
elif [ "$RELATION" = ">=" ]; then
if [ "$ACTUAL_VERSION" >= "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
elif [ "$RELATION" = "<=" ]; then
if [ "$ACTUAL_VERSION" <= "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
else
if [ "$ACTUAL_VERSION" = "$CONFLICTING_VERSION" ]; then
AFFECTED=1
fi
fi
fi
if [ $AFFECTED -ne 0 ]; then
ACTUAL_CONFLICTS="$ACTUAL_CONFLICTS $CONFLICTING_PACKAGE"
printf ":: ${1} conflicts with ${CONFLICTING_PACKAGE}. Remove ${CONFLICTING_PACKAGE}? [Y/n] "
read ANSWER
if [ $ANSWER != "Y" ] && [ $ANSWER != "y" ]; then
ULTIMATE_ANSWER="n"
break
fi
fi
fi
done
if [ $ULTIMATE_ANSWER = "y" ]; then
for q in $ACTUAL_CONFLICTS; do
'pacman' -Rd ${q}
done
return 0
fi
return 1
function get_deps {
PACKAGE_NAME=`cat .PKGINFO | grep 'pkgname = ' | sed -e 's/pkgname = //g'`
# Does a few package specific things
if [ $PACKAGE_NAME = "kernel26" ]; then
ln -s /etc/uvesafb.conf /etc/uvesafb
elif [ $PACKAGE_NAME = "firefox" ]; then
cd ./usr/lib
FIREFOX_DIR=`ls | grep 'firefox'`
if [ $? -eq 0 ]; then
cd $FIREFOX_DIR/chrome
jar -xf ./browser.jar
rm ./browser.jar
sed -i -e '/console.xul/s/^/\/\//g' ./content/browser/browser.js
jar -cf browser.jar content
rm -r content
cd ../..
fi
cd ../..
elif [ $PACKAGE_NAME = "gstreamer0.10-good-plugins" ]; then
rm ./usr/lib/gstreamer0.10/libgstesd.so
fi
POSSIBLE_LIBS=`find . -type f | grep -E '(\.so\.|\.so$)'`
POSSIBLE_BINS=`find . -type f | grep -v 'PKGINFO' | grep -v -E '\/.*\.[a-zA-Z0-9]+$' | grep -v 'LICENSE'`
POSSIBLE_ELFS="$POSSIBLE_LIBS $POSSIBLE_BINS"
DEPS=""
# Makes a list of all the direct dependencies
for i in $POSSIBLE_ELFS; do
#echo "SCANNING: $i"
ldd $i >/dev/null 2>&1
if [ $? -eq 0 ]; then
# Caches the shared libraries in a file to make it easier for everything else to look them up
DIRNAME=`dirname ${i:1:${#i}}`
echo "$i" | grep -q ".so"
if [ $? -eq 0 ]; then
if [ "$DIRNAME" = "/lib" ] || [ "$DIRNAME" = "/usr/lib" ]; then
grep -q "${i:1:${#i}} $PACKAGE_NAME" /var/cache/pacman/quicklookup
# If this package's library assigned to this package was not found...
if [ $? -ne 0 ]; then
grep -q "${i:1:${#i}}" /var/cache/pacman/quicklookup
# It may have been assigned to another package so we change that
if [ $? -eq 0 ]; then
sed -i -e "/${i:1:${#i}}/d" /var/cache/pacman/quicklookup
fi
# Otherwise we just assign it to this package
echo "${i:1:${#i}} $PACKAGE_NAME" >> /var/cache/pacman/quicklookup
fi
fi
fi
# Figures out what packages own the library dependencies
POSSIBLE_DEPS=`ldd $i 2>/dev/null | grep '=> ' | grep -v '=> ' | sed -e 's/.* => //g' | sed -e 's/ (.*//g'`
for j in $POSSIBLE_DEPS; do
DIRNAME=`dirname $j`
if [ "$DIRNAME" = "/lib" ] || [ "$DIRNAME" = "/usr/lib" ]; then
OWNER=`grep "$j" /var/cache/pacman/quicklookup`
# The owner of the dep is either already in the quicklookup file
if [ $? -eq 0 ]; then
OWNER=`echo $OWNER | awk '{print $2}'`
DEPS="$DEPS $OWNER"
else
# Or it's part of the current package
BASENAME=`basename $j`
find . -name ${BASENAME} | grep -q "${BASENAME}"
if [ $? -eq 0 ]; then
echo "$j $PACKAGE_NAME" >> /var/cache/pacman/quicklookup
else
# Or we figure out its owner with pacman and put it in the quicklookup file
OWNER=`'pacman' -Qoq $j 2>/dev/null`
if [ $? -eq 0 ]; then
echo "$j $OWNER" >> /var/cache/pacman/quicklookup
DEPS="$DEPS $OWNER"
fi
fi
fi
fi
done
fi
done
# Sticks a "kernel26" between the old dependencies and the new dependencies
CURRENT_DEPS=`cat .PKGINFO | grep -E '^depend = ' | sed -e 's/depend = //g'`
DEPS="$CURRENT_DEPS kernel26a $DEPS"
# Puts them into the PKGINFO file so that all depend lines are contiguous
grep -q -E '^depend = ' .PKGINFO
if [ $? -eq 0 ]; then
FIRST_DEPEND_LINE_NUMBER=`grep -n -E '^depend = ' .PKGINFO | head -1 | sed -e 's/:.*//g'`
LAST_DEPEND_LINE_NUMBER=`grep -n -E '^depend = ' .PKGINFO | tail -1 | sed -e 's/:.*//g'`
LAST_LINE_NUMBER=`wc -l .PKGINFO | awk '{print $1}'`
(( DIFFERENCE=$LAST_LINE_NUMBER-$LAST_DEPEND_LINE_NUMBER ))
cat .PKGINFO | tail -${DIFFERENCE} > .PKGINFO-3
touch .PKGINFO-2
(( FIRST_DEPEND_LINE_NUMBER-- ))
cat .PKGINFO | head -${FIRST_DEPEND_LINE_NUMBER} > .PKGINFO-1
else
cp .PKGINFO .PKGINFO-1
touch .PKGINFO-2
touch .PKGINFO-3
fi
for k in $DEPS; do
echo "depend = $k" >> .PKGINFO-2
done
# This is all so we don't get mesa and mesa=7.5 in the same dep array
cat .PKGINFO-2 | awk '{print $3}' | sed -r 's/(>=|>|=|<|<=)/ \1/g' > .RAW-DEPS
cat .RAW-DEPS | awk '{print $1}' > .COL-1
cat .RAW-DEPS | awk '{print $2}' > .COL-2
# Got this from sed1line.txt... it removes duplicate lines
sed -i -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P' .COL-1
paste --delimiter="" .COL-1 .COL-2 > .RAW-DEPS
sed -i -e "/${PACKAGE_NAME}/d" .RAW-DEPS
sed -i -e 's/kernel26a/kernel26/g' .RAW-DEPS
sed -e 's/^/depend = /g' .RAW-DEPS > .PKGINFO-2
sed -i -e "/depend =[ ]*$/d" .PKGINFO-2
cat .PKGINFO-1 .PKGINFO-2 .PKGINFO-3 > .PKGINFO
rm .PKGINFO-1 .PKGINFO-2 .PKGINFO-3 .RAW-DEPS .COL-1 .COL-2
function do_install {
STARTDIR=`pwd`
cd /var/cache/pacman/tmp
for l in `ls -tr`; do
TEMP_DIR=`echo $l | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
# Extracts the package and makes the necessary modifications to it
mkdir $TEMP_DIR
mv $l $TEMP_DIR
cd $TEMP_DIR
tar -xf $l >/dev/null 2>&1
rm $l
remove_crap
get_deps
# Retars the package and installs it
if [ -e .INSTALL ]; then
tar -cf $l .INSTALL .PKGINFO * >/dev/null 2>&1
else
tar -cf $l .PKGINFO * >/dev/null 2>&1
fi
# Installs it and puts it in the cache
install_with_u $l
if [ $? -eq 0 ]; then
'pacman' -Udf $l
else
mv $l ../../pkg
cd ..
rm -r $TEMP_DIR
break;
fi
mv $l ../../pkg
cd ..
rm -r $TEMP_DIR
done
cd $STARTDIR
function get_answer {
read ANSWER
echo $ANSWER > /var/cache/pacman/answer
echo $ANSWER
if [ "$1" = "-Syu" ]; then
sync_check
aur_check
'pacman' --cachedir /var/cache/pacman/tmp -Syuw
do_install
elif [ "$1" = "-Su" ]; then
sync_check
aur_check
'pacman' --cachedir /var/cache/pacman/tmp -Suw
do_install
elif [ "$1" = "-S" ]; then
shift
PACKAGE_ARRAY=""
# If something we're installing is in the cache... move it to the temporary cache
for n in $@; do
if [ ${n:0:1} != "-" ]; then
NUM_MATCHES=`ls -1 /var/cache/pacman/pkg | grep -E "^${n}-" | wc -l`
for o in `seq 1 $NUM_MATCHES`; do
POSSIBLE_MATCH=`ls /var/cache/pacman/pkg | grep -E "^${n}-" -m${o} | tail -1`
HYPHENS=`echo $POSSIBLE_MATCH | sed -e "s/${n}//g" | grep -o "-" | wc -l`
if [ $HYPHENS -le 3 ]; then
mv /var/cache/pacman/pkg/${POSSIBLE_MATCH} /var/cache/pacman/tmp
# Changes the stored md5sum temporarily - I don't know a better way to do this
TEMP_DIR=`echo ${POSSIBLE_MATCH} | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
find /var/lib/pacman/sync -name $TEMP_DIR | grep -q $TEMP_DIR
if [ $? -eq 0 ]; then
MD5SUM=`md5sum /var/cache/pacman/tmp/${POSSIBLE_MATCH} | awk '{print $1}'`
REPOS=`find /var/lib/pacman/sync -name $TEMP_DIR | sed -e 's/\// /g' | awk '{print $5}'`
sed -i '/%MD5SUM%/G' /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc
MD5_LINE_NUMBER=`grep -n '%MD5SUM%' /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc | sed -e 's/:.*//g'`
(( MD5_LINE_NUMBER++ ))
sed -i -e "${MD5_LINE_NUMBER}s/.*/${MD5SUM}/" /var/lib/pacman/sync/$REPOS/$TEMP_DIR/desc
PACKAGE_ARRAY="${PACKAGE_ARRAY} ${REPOS}/${TEMP_DIR}"
fi
break;
fi
done
fi
done
# Pacman is run and then a function reads a y or an n from stdin and passes it to pacman's stdin
get_answer | 'pacman' --cachedir /var/cache/pacman/tmp -Sw $@
# The function also saves it in a file so we know whether to proceed or cancel because pacman was cancelled
LETTER=`cat /var/cache/pacman/answer`
if [ "$LETTER" != "y" ] || [ "$LETTER" != "Y" ]; then
do_install
else
# If anything got moved to the temporary cache for this it is sent back to the main one
FILES_IN_CACHE=`ls /var/cache/pacman/tmp | wc -l`
if [ $FILES_IN_CACHE -ne 0 ]; then
mv /var/cache/pacman/tmp/* /var/cache/pacman/pkg
fi
fi
# Changes all the md5sums back
for w in $PACKAGE_ARRAY; do
MD5_LINE_NUMBER=`grep -n '%MD5SUM%' /var/lib/pacman/sync/$w/desc | sed -e 's/:.*//g'`
(( MD5_LINE_NUMBER++ ))
sed -i -e "${MD5_LINE_NUMBER}d" /var/lib/pacman/sync/$w/desc
done
elif [ "$1" = "-U" ]; then
STARTDIR=`pwd`
TEMP_DIR=`echo $2 | sed -r 's/(-i686|-x86_64|-any|)\.pkg\.tar\.gz//g'`
mkdir /var/cache/pacman/$TEMP_DIR
cp "$2" /var/cache/pacman/$TEMP_DIR
cd /var/cache/pacman/$TEMP_DIR
tar -xf $2 >/dev/null 2>&1
rm $2
get_deps
# Retars the package and installs it
if [ -e .INSTALL ]; then
tar -cf $2 .INSTALL .PKGINFO * >/dev/null 2>&1
else
tar -cf $2 .PKGINFO * >/dev/null 2>&1
fi
install_with_u $2
if [ $? -eq 0 ]; then
'pacman' -U $2
fi
cd ..
rm -r $TEMP_DIR
cd $STARTDIR
elif [ "$1" = "-Qi" ] || [ "$1" = "-Qii" ]; then
INITIAL_ARG=$1
shift
if [ "$INITIAL_ARG" = "-Qi" ]; then
'pacman' -Qi $@ > /var/cache/pacman/tempquery
else
'pacman' -Qii $@ > /var/cache/pacman/tempquery
fi
if [ $? -ne 0 ] || [ ! -e /var/cache/pacman/tempquery ]; then
exit 1
fi
# Filters out all deps after kernel26 for a regular query
# Filters out all deps before kernel26 for a verbose query
if [ $? -eq 0 ]; then
START_LINE_NUMBER=`cat /var/cache/pacman/tempquery | grep -n 'Depends On' | sed -e 's/:.*//g'`
LINE_NUMBER=$START_LINE_NUMBER
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
while [ $? -ne 0 ]; do
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
done
(( END_LINE_NUMBER=$LINE_NUMBER-1 ))
(( DIFFERENCE=$LINE_NUMBER-$START_LINE_NUMBER ))
OLD_DEP_LIST=`cat /var/cache/pacman/tempquery | head -${END_LINE_NUMBER} | tail -${DIFFERENCE} | sed -e 's/.* : //g' | sed -e 's/ //g'`
for k in $OLD_DEP_LIST; do
if [ "$INITIAL_ARG" = "-Qi" ]; then
if [ "$k" != "kernel26" ]; then
NEW_DEP_LIST="$NEW_DEP_LIST $k"
else
break
fi
else
if [ "$k" != "kernel26" ]; then
NEW_DEP_LIST="$NEW_DEP_LIST $k"
fi
fi
done
fi
# Removes the old deps array and replaces it with the new one
sed -i -e "${START_LINE_NUMBER},${END_LINE_NUMBER}d" /var/cache/pacman/tempquery
(( START_LINE_NUMBER=$START_LINE_NUMBER-1 ))
END_LINE_NUMBER=`wc -l /var/cache/pacman/tempquery | awk '{print $1}'`
(( DIFFERENCE=$END_LINE_NUMBER-$START_LINE_NUMBER ))
cat /var/cache/pacman/tempquery | head -${START_LINE_NUMBER} > /var/cache/pacman/tempquery-1
cat /var/cache/pacman/tempquery | tail -${DIFFERENCE} > /var/cache/pacman/tempquery-3
CURRENT_LINE=""
CURRENT_LINE_NUMBER=1
for m in $NEW_DEP_LIST; do
if (( ${#CURRENT_LINE}+${#m}+1<=63 )); then
CURRENT_LINE="$CURRENT_LINE $m"
else
if [ $CURRENT_LINE_NUMBER -eq 1 ]; then
printf "Depends On :$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
else
printf "\t\t$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
fi
CURRENT_LINE=" $m"
CURRENT_LINE_NUMBER=0
fi
done
if [ $CURRENT_LINE_NUMBER -eq 1 ]; then
printf "Depends On :$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
else
printf "\t\t$CURRENT_LINE\n" >> /var/cache/pacman/tempquery-2
fi
cat /var/cache/pacman/tempquery-1 /var/cache/pacman/tempquery-2 /var/cache/pacman/tempquery-3 > /var/cache/pacman/tempquery
# Removes the requirements array for a regular query
if [ "$INITIAL_ARG" = "-Qi" ]; then
START_LINE_NUMBER=`cat /var/cache/pacman/tempquery | grep -n 'Required By' | sed -e 's/:.*//g'`
LINE_NUMBER=$START_LINE_NUMBER
(( LINE_NUMBER=$LINE_NUMBER+1 ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
while [ $? -ne 0 ]; do
(( LINE_NUMBER++ ))
cat /var/cache/pacman/tempquery | head -${LINE_NUMBER} | tail -1 | grep ':'>/dev/null 2>&1
done
(( END_LINE_NUMBER=$LINE_NUMBER-1 ))
sed -i -e "${START_LINE_NUMBER},${END_LINE_NUMBER}d" /var/cache/pacman/tempquery
fi
cat /var/cache/pacman/tempquery
rm /var/cache/pacman/tempquery /var/cache/pacman/tempquery-1 /var/cache/pacman/tempquery-2 /var/cache/pacman/tempquery-3
elif [ "$1" = "-Scc" ]; then
LINE_NUMBER=0
for z in `cat /var/cache/pacman/quicklookup | awk '{print $1}'`; do
(( LINE_NUMBER++ ))
if [ ! -e $z ]; then
sed -i -e "${LINE_NUMBER}d" /var/cache/pacman/quicklookup
(( LINE_NUMBER-- ))
fi
done
'pacman' -Scc
else
'pacman' $@
fi
Last edited by ConnorBehan (2009-09-19 00:42:48)rls wrote:ABS is fine, but unless I am mistaken, it does nothing to ensure the configure and make stages go smoothly. It is a good way to integrate "home-rolled" packages into the Arch system.
hmmmm... I could be wrong because I've never used Gentoo, but if you make a package that doesn't already exist for Gentoo, does it do anything to make sure the compilation goes smoothly? If the package exists, then there is a way to build the package that has been tested by somebody else. This is how ABS works too; if a PKGBUILD exists, you can be reasonably sure it will work.
I can't imagine a program that can automatically fix or recover from compiler or Makefile errors. If it does, then... wow.
I assume that Gentoo has a larger package base than Arch, but let's not get into that discussiong again!
Xentacs script is basically designed to allow you to choose whether you are going to install from source or binary. Assuming the PKGBUILDS are in order (which for arch repository programs they are, because the binaries were built from them!), this should work as flawlessly as installing from binaries.
Dusty -
Install 8.1.7 on AS 3.0
As part of a migration of our Oracle Apps database from unix to linux I'm trying to install Oracle Enterprise Edition 8.1.7 on my RH Linux AS 3.0 install. Checking certifications I find that 8.1.7 isn't certified against 3.0 but is against 2.1.
In trying to install anyways I'm getting various makefile errors. Unfortunately all the info I find on this with 8.1.7 points to older versions of RH i.e. 7 and 8.
Does anyone know if it's possible to get 8.1.7 installed on AS 3.0 and if there's any white papers out there that identify any patches necessary? I logged a tar with Oracle support but as it's not certified they won't help.Yes, Oracle 8.1.7 has dependencies on older versions of Linux libraries . (For example, RHEL 3 comes with a higher version of the gcc library while 8.1.7/9.2.0.4 use the older versions. )
THe RHEL 3 install has an item called "legacy software " which comes up during the install(rpm selection). This is supposed to install the older versions of the rpms. YOu could also do this manually . -
Missing libIDL and libFOX when making packages
I'm trying to build two packages. Here are the PKGBUILDS
Mozilla Sunbird
# Contributor: Elias J. Guerrero (hyp0luxa) <[email protected]>
pkgname=mozilla-sunbird
pkgver=cvs
pkgrel=1
pkgdesc="A CVS build of Mozilla's Sunbird Calendar Application"
url="http://www.mozilla.org/projects/calendar/sunbird.html"
depends=()
makedepends=('cvs')
cvsroot=":pserver:[email protected]:/cvsroot"
build() {
cd $startdir/src
# get rid of existing .mozconfig if necessary
if [ -f ~/.mozconfig ]
then
msg "Warning: existing .mozconfig in home directory saved to ~/.mozconfig.s$ "
mv ~/.mozconfig ~/.mozconfig.save
fi
#cvs checkouts
msg "Connecting to Mozilla CVS server...password is 'anonymous'"
cvs -d $cvsroot login
msg "Checking out Mozilla....this will take awhile"
cvs -d $cvsroot checkout mozilla/client.mk
make -f mozilla/client.mk checkout
cvs -d $cvsroot co mozilla/browser
cvs -d $cvsroot co mozilla/chrome
cvs -d $cvsroot co mozilla/toolkit
cvs -d $cvsroot co mozilla/sunbird
# modify default configure settings to enable gtk2
# and disable xft (uses freetype2 instead)
sed -e '9a ac_add_options --enable-toolkit-gtk2
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --disable-toolkit-qt
ac_add_options --disable-toolkit-xlib
ac_add_options --disable-toolkit-gtk
ac_add_options --disable-xft' $startdir/src/mozilla/calendar/sunbird/config/mozconfig
# write new ~./mozconfig
echo . $startdir/src/mozilla/calendar/sunbird/config/mozconfig > ~/.mozconfig
cd $startdir/src/mozilla
# actual build
make -f client.mk build || return 1
make DESTDIR=$startdir/pkg install
This is the error I get when I try to build it
checking for libIDL - version >= 0.6.3... no
*** The libIDL-config script installed by libIDL could not be found
*** If libIDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the LIBIDL_CONFIG environment variable to the
*** full path to libIDL-config.
checking for orbit-config... no
configure: error: libIDL not found.
libIDL 0.6.3 or higher is required.
*** Fix above errors and then restart with "make -f client.mk build"
make: *** [/usr/local/download/custompkgs/mozilla-sunbird/src/mozilla/Makefile] Error 1
==> ERROR: Build Failed. Aborting...
So I try to search for libIDL...
[root@ArchLinux mozilla-sunbird]# slocate libIDL
/usr/include/libIDL-2.0
/usr/include/libIDL-2.0/libIDL
/usr/include/libIDL-2.0/libIDL/IDL.h
/usr/lib/pkgconfig/libIDL-2.0.pc
/usr/lib/libIDL-2.so.0.0.0
/usr/lib/libIDL-2.a
/usr/lib/libIDL-2.la
/usr/lib/libIDL-2.so
/usr/lib/libIDL-2.so.0
/usr/bin/libIDL-config-2
/usr/local/download/custompkgs/mozilla-sunbird/src/mozilla/build/autoconf/libIDL-2.m4
/usr/local/download/custompkgs/mozilla-sunbird/src/mozilla/build/autoconf/libIDL.m4
Xfe
pkgname=xfe
pkgver=0.72
pkgrel=1
pkgdesc="X File Explorer (Xfe) is an MS-Explorer like file manager for X."
depends=(fox)
source=(http://heanet.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
url="http://roland65.free.fr/xfe"
md5sums=('625a4c8e152314363d2f3a27cc8fa6cc')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
This is the error I get when I try to build it...
configure: error: "libFOX not found"
make: *** No targets specified and no makefile found. Stop.
==> ERROR: Build Failed. Aborting...
So I try to search for it...
[root@ArchLinux xfe]# slocate libFOX
/usr/lib/libFOX-1.2.a
/usr/lib/libFOX-1.2.la
/usr/lib/libFOX-1.2.so
/usr/lib/libFOX-1.2.so.0
/usr/lib/libFOX-1.2.so.0.0.9
Anyone know what the problem might be, and how to fix it?Hello Minja,
We didn;t manage to reproduce 100% the case during TAC investigation. Maybe it was the something related to API on the PCRF side. -
Pacman wrapper to allow source builds (srcpac)
This is mostly just something that I did because I had never written a wrapper for pacman before and wanted to see if it worked with the current pacman feature set.
It's 1:30ish in the morning, so my eyes are a little blurry.
The wrapper is called srcpac. It's version 0.1 at this point
The code is quite ugly because I threw it together in the past 3 hours, but my inital tests have been successes.
Now, for the pitch. Imagine if you could use pacman to install binary packages as well as build those same packages from source (with your own optimizations). Not only that, but upgrades remembered which packages were precompiled and which were compiled on the spot.
Now, imagine that pacman didn't actually handle that, because the hard-core KISS people would complain too much and you wouldn't be able to think while you watch gcc output flash by. Imagine instead a wrapper around pacman that handled it for you.
Enter srcpac. Lights brighten, music comes to a peak, close up!
srcpac acts exactly the same as pacman (well, it should anyway), except you get this little extra flag -b (or --build) tacked on to -S (--sync) to build from source instead of install from a binary package.
Let's see an example:
srcpac -Sb w3m
will compile w3m, install it, and remember that it was compiled
srcpac -Sybu
will upgrade all the packages that need upgrading by building them and remember that they were compiled (be careful with this one, it will include packages that weren't previously compiled).
srcpac -Syu
will upgrade all binary packages by installing binaries and upgrade all source packages by compiling from source.
srcpac -Qi w3m adds an extra line too, "Source", with a simple yes or no.
Which packages are source and which aren't are stored in /var/lib/srcpac just as files. If the file exists, then the package was a source package (so it's easy to fix it if srcpac gets confused, also it doesn't touch anything pacman uses).
While I can guarantee that this wrapper won't break your packages (because it uses pacman and makepkg to do all of it's package related stuff), I can't guarantee it'll work 100% correctly (it's 1:45 now!).
If anyone is interested, the script is available here: http://xentac.net/svn/arch-tools/srcpac/tags/0.1/srcpac
Yes, it's in bash.
Feel free to tell me problems you run into using this tool. Remember, if you use pacman instead of using srcpac, then all the packages will continue installing as binary packages.
BEWARE: the -r option isn't fully implemented and may install to / in some cases, I'm pretty sure I don't ever write to / when -r is specified, but I can't be sure.
.:edit - changed title to show srcpac name - dibble:.rls wrote:ABS is fine, but unless I am mistaken, it does nothing to ensure the configure and make stages go smoothly. It is a good way to integrate "home-rolled" packages into the Arch system.
hmmmm... I could be wrong because I've never used Gentoo, but if you make a package that doesn't already exist for Gentoo, does it do anything to make sure the compilation goes smoothly? If the package exists, then there is a way to build the package that has been tested by somebody else. This is how ABS works too; if a PKGBUILD exists, you can be reasonably sure it will work.
I can't imagine a program that can automatically fix or recover from compiler or Makefile errors. If it does, then... wow.
I assume that Gentoo has a larger package base than Arch, but let's not get into that discussiong again!
Xentacs script is basically designed to allow you to choose whether you are going to install from source or binary. Assuming the PKGBUILDS are in order (which for arch repository programs they are, because the binaries were built from them!), this should work as flawlessly as installing from binaries.
Dusty -
[Solved]Lightning for Thunderbird:C compiler cannot create executables
Thanks very much in advance.
I am trying to install Lightning in Thunderbird but no luck so far.
The xpi file from their website is not for 64 bits.
The link for the 64 bits version doesn't work
I've tried with AUR and yaourt but both return the following error (look at the end):
==> Making package: lightning 0.9-2 x86_64 (Fri Oct 2 13:58:20 BST 2009)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for inter-conflicts...
Targets (1): zip-3.0-1
Total Download Size: 0.26 MB
Total Installed Size: 0.57 MB
Proceed with installation? [Y/n] y
:: Retrieving packages from extra...
zip-3.0-1-x86_64 266.2K 389.5K/s 00:00:01 [#####################] 100%
checking package integrity...
(1/1) checking for file conflicts [#####################] 100%
(1/1) installing zip [#####################] 100%
==> Retrieving Sources...
-> Downloading lightning-sunbird-0.9-source.tar.bz2...
--2009-10-02 13:58:32-- http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/0.9/source/lightning-sunbird-0.9-source.tar.bz2
Resolving releases.mozilla.org... 156.56.247.196, 204.152.184.113, 149.20.20.5, ...
Connecting to releases.mozilla.org|156.56.247.196|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 43121977 (41M) [application/x-tar]
Saving to: `lightning-sunbird-0.9-source.tar.bz2.part'
100%[======================================>] 43,121,977 412K/s in 1m 43s
2009-10-02 14:00:15 (407 KB/s) - `lightning-sunbird-0.9-source.tar.bz2.part' saved [43121977/43121977]
-> Found lightning-sunbird-0.9-locale.diff in build dir
-> Found lightning-gcc44.diff in build dir
-> Found mozconfig in build dir
==> Validating source files with md5sums...
lightning-sunbird-0.9-source.tar.bz2 ... Passed
lightning-sunbird-0.9-locale.diff ... Passed
lightning-gcc44.diff ... Passed
mozconfig ... Passed
==> Extracting Sources...
-> Extracting lightning-sunbird-0.9-source.tar.bz2 with bsdtar
==> Entering fakeroot environment...
==> Starting build()...
patching file calendar/sunbird/app/mozilla.in
patching file toolkit/xre/nsAppRunner.cpp
Adding client.mk options from /home/rafael/Builds/lightning/src/mozconfig:
MOZ_CO_PROJECT=calendar
BUILD_OFFICIAL=1
MOZILLA_OFFICIAL=1
make[1]: Entering directory `/home/rafael/Builds/lightning/src/mozilla'
cd /home/rafael/Builds/lightning/src/mozilla/lightning-obj
/home/rafael/Builds/lightning/src/mozilla/configure
Adding configure options from /home/rafael/Builds/lightning/src/mozconfig:
--enable-application=calendar
--prefix=/usr
--enable-extensions=lightning
--enable-default-toolkit=gtk2
--enable-system-cairo
--enable-optimize
--disable-debug
--disable-tests
--disable-installer
--with-default-mozilla-five-home=/usr/lib/thunderbird-2.0
--with-system-nss
--with-system-nspr
--with-system-jpeg
--with-system-zlib
--with-system-png
creating cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking build system type... x86_64-unknown-linux-gnu
checking for gawk... gawk
checking for nsinstall... no
checking for gcc... gcc
checking whether the C compiler (gcc -march=x86-64 -mtune=generic -O2 -pipe -Wl,--hash-style=gnu -Wl,--as-needed-lXrender -lX11 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
*** Fix above errors and then restart with "make -f client.mk build"
make[1]: *** [configure] Error 1
make[1]: Leaving directory `/home/rafael/Builds/lightning/src/mozilla'
make: *** [/home/rafael/Builds/lightning/src/mozilla/lightning-obj/Makefile] Error 2
==> ERROR: Build Failed.
Aborting..
I've searched in forums and on the Internet but I am a newby and I have no idea how to fix the c compiler...
Thanks again
Last edited by rafaelgp (2009-10-02 17:34:53)Very impressive! Thanks for such a fast response.
But I'm afraid it still doesn't work. After compiling for 10 minutes it couldn't finish:
../../dist/lib/libgkconcvs_s.a(nsCanvasRenderingContext2D.o): In function `nsCanvasRenderingContext2D::Destroy()':
nsCanvasRenderingContext2D.cpp:(.text+0x51e2): undefined reference to `XFreePixmap'
../../dist/lib/libgkconcvs_s.a(nsCanvasRenderingContext2D.o): In function `nsCanvasRenderingContext2D::SetDimensions(int, int)':
nsCanvasRenderingContext2D.cpp:(.text+0x56f6): undefined reference to `XRenderFindStandardFormat'
nsCanvasRenderingContext2D.cpp:(.text+0x571e): undefined reference to `XListPixmapFormats'
nsCanvasRenderingContext2D.cpp:(.text+0x575e): undefined reference to `XFree'
nsCanvasRenderingContext2D.cpp:(.text+0x5796): undefined reference to `XCreatePixmap'
collect2: ld returned 1 exit status
make[4]: *** [libgklayout.so] Error 1
make[4]: Leaving directory `/home/rafael/Builds/lightning/src/mozilla/lightning-obj/layout/build'
make[3]: *** [libs] Error 2
make[3]: Leaving directory `/home/rafael/Builds/lightning/src/mozilla/lightning-obj/layout'
make[2]: *** [tier_9] Error 2
make[2]: Leaving directory `/home/rafael/Builds/lightning/src/mozilla/lightning-obj'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/rafael/Builds/lightning/src/mozilla/lightning-obj'
make: *** [build] Error 2
==> ERROR: Build Failed.
Aborting...
Hope this helps. -
Hello all, i'm facing problems building this packet
$ makepkg PKGBUILD
==> Making package: perl-php-serialization 0.27-2 i686 (Fri Jul 17 15:03:53 CEST 2009)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
-> Found PHP-Serialization-0.27.tar.gz in build dir
==> Validating source files with md5sums...
PHP-Serialization-0.27.tar.gz ... Passed
==> Extracting Sources...
-> Extracting PHP-Serialization-0.27.tar.gz with bsdtar
==> Removing existing pkg/ directory...
==> Entering fakeroot environment...
==> Starting build()...
Writing Makefile for PHP::Serialization
make: Warning: File `/usr/lib/perl5/core_perl/Config.pm' has modification time 7.1e+06 s in the future
Makefile out-of-date with respect to /usr/lib/perl5/core_perl/Config.pm /usr/lib/perl5/core_perl/CORE/config.h
Cleaning current config before rebuilding Makefile...
make -f Makefile.old clean > /dev/null 2>&1
/usr/bin/perl Makefile.PL "INSTALLDIRS=vendor"
Checking if your kit is complete...
Looks good
Writing Makefile for PHP::Serialization
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
false
make: *** [Makefile] Error 1
==> ERROR: Build Failed.
Aborting...
According with the author page, i should change something in the PKGBUILD file:
Comment by: firmicus on Sat, 22 Mar 2008 10:48:43 +0000
Please rewrite your PKGBUILD according to the new Perl Policy. See http://cvs.archlinux.org/cgi-bin/viewcv … cvs-markup
Link, actually is not working. Could anyone help me with this issue? Is job related :-(
Thanx a lotHello all, i'm facing problems building this packet
$ makepkg PKGBUILD
==> Making package: perl-php-serialization 0.27-2 i686 (Fri Jul 17 15:03:53 CEST 2009)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
-> Found PHP-Serialization-0.27.tar.gz in build dir
==> Validating source files with md5sums...
PHP-Serialization-0.27.tar.gz ... Passed
==> Extracting Sources...
-> Extracting PHP-Serialization-0.27.tar.gz with bsdtar
==> Removing existing pkg/ directory...
==> Entering fakeroot environment...
==> Starting build()...
Writing Makefile for PHP::Serialization
make: Warning: File `/usr/lib/perl5/core_perl/Config.pm' has modification time 7.1e+06 s in the future
Makefile out-of-date with respect to /usr/lib/perl5/core_perl/Config.pm /usr/lib/perl5/core_perl/CORE/config.h
Cleaning current config before rebuilding Makefile...
make -f Makefile.old clean > /dev/null 2>&1
/usr/bin/perl Makefile.PL "INSTALLDIRS=vendor"
Checking if your kit is complete...
Looks good
Writing Makefile for PHP::Serialization
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
false
make: *** [Makefile] Error 1
==> ERROR: Build Failed.
Aborting...
According with the author page, i should change something in the PKGBUILD file:
Comment by: firmicus on Sat, 22 Mar 2008 10:48:43 +0000
Please rewrite your PKGBUILD according to the new Perl Policy. See http://cvs.archlinux.org/cgi-bin/viewcv … cvs-markup
Link, actually is not working. Could anyone help me with this issue? Is job related :-(
Thanx a lot
Maybe you are looking for
-
NO AUDIO - (Late 2013) iMac with Windows 7 64-bit
Hey everyone, I have been scouring the forums to find something that will help me, but I have yet to find anything that works. Here is my problem: I recently installed Windows 7 64-bit using bootcamp on my (Late 2013) 27" iMac. I have the latest driv
-
How do I get my library to show in the same page as playlists
In the older version of iTunes the library was visible in the Playlists "list", so when I had an item I wanted in a particular playlist, all I had to do was drag it there. I got a dialog box if it was already there. Now, in V11 (which is ugly, slow,
-
InDesign CC 2014 won't download or install
I'm running OS X 10.6.8 (Mountain Lion?) on a 2011 17" MacBook Pro. I have the Design Standard CC subscription. I'm getting InDesign CC 2014 Mac files from customers, and they won't open in InDesign CC. I would install InDesign CC 2014, but don't see
-
How do i import URL's into ipad
-
hi every body i need solution for how to maintain sales personnel masterdata in sales and distribution module. as the hierarchy is 1. sales org 2. distribution channel 3. division 4. sales office 5. sales group then there is a option called personnel